Class DirectedFlowScattering
Defined in File Acceleration.h
Inheritance Relationships
Base Type
public AbstractAccelerationModule
(Class AbstractAccelerationModule)
Class Documentation
-
class DirectedFlowScattering : public AbstractAccelerationModule
Scattering in a directed flow of scatter centers.
Two of these region with different velocities can be used to create first order Fermi scenario. Thanks to Aritra Ghosh, Groningn University, for first work in 2017 on the shock acceleration in CRPropa leading to this module.
Public Functions
-
DirectedFlowScattering(crpropa::Vector3d scatterCenterVelocity, double stepLength = 1. * parsec)
Constructor
- Parameters:
scatterCenterVelocity – velocity of scattering centers
stepLength – average mean free path
-
virtual crpropa::Vector3d scatterCenterVelocity(crpropa::Candidate *candidate) const
Returns the velocity vector of the scatter centers in the rest frame of the candidate. Needs to be implemented in inheriting classes.
-
void add(StepLengthModifier *modifier)
-
void scatter(Candidate *candidate, const Vector3d &scatter_center_velocity) const
Scatter the candidate with a center with given scatter center velocity into a random direction. Assumes that the candidate is ultra-relativistic (m = 0).
-
virtual std::string getDescription() const
-
void setDescription(const std::string &description)
-
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
-
DirectedFlowScattering(crpropa::Vector3d scatterCenterVelocity, double stepLength = 1. * parsec)