Class SimplePropagation

Inheritance Relationships

Base Type

Class Documentation

class SimplePropagation : public Module

Simple rectilinear propagation in absence of magnetic fields.

This module implements rectilinear propagation. The step size is guaranteed to be larger than minStep and smaller than maxStep. It always proposes a next step size of maxStep.

Public Functions

SimplePropagation(double minStep = (0.1 * kpc), double maxStep = (1 * Gpc))
virtual void process(Candidate *candidate) const

Process function This is the main function to work with, it is called during every ModuleList::run step. Derived functions need to override this overload of process!

Parameters:

candidateCandidate raw pointer

void setMinimumStep(double minStep)
void setMaximumStep(double maxStep)
double getMinimumStep() const
double getMaximumStep() const
virtual std::string getDescription() const

Returns description, can be overriden by derived class.

void setDescription(const std::string &description)

Sets description, can be used instead of getDescription in derived class

Parameters:

description – Description string

inline void process(ref_ptr<Candidate> candidate) const

Process function Overload for process function to explicitly make a conversion from ref_ptr to a raw pointer

inline size_t addReference() const
inline size_t removeReference() const
inline int removeReferenceNoDelete() const
inline size_t getReferenceCount() const

Protected Attributes

mutable size_t _referenceCount