CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
corsika::FlatExponential< T > Class Template Reference

flat exponential density distribution with

\[ \varrho(\vec{r}) = \varrho_0 \exp\left( \frac{1}{\lambda} (\vec{r} - \vec{p}) \cdot \vec{a} \right). \]

\( \vec{a} \) denotes the axis and should be normalized to avoid degeneracy with the scale parameter \( \lambda \), \( \vec{r} \) is the location of the evaluation, \( \vec{p} \) is the anchor point at which \( \varrho_0 \) is given. More...

#include <FlatExponential.hpp>

Inheritance diagram for corsika::FlatExponential< T >:

Public Member Functions

 FlatExponential (Point const &point, Vector< dimensionless_d > const &axis, MassDensityType const rho, LengthType const lambda, NuclearComposition const &nuclComp)
 
MassDensityType getMassDensity (Point const &point) const override
 
NuclearComposition const & getNuclearComposition () const override
 
GrammageType getIntegratedGrammage (BaseTrajectory const &line) const override
 
LengthType getArclengthFromGrammage (BaseTrajectory const &line, GrammageType const grammage) const override
 
- Public Member Functions inherited from corsika::BaseExponential< FlatExponential< T > >
 BaseExponential (Point const &point, LengthType const referenceHeight, MassDensityType const rho0, LengthType const lambda)
 
Point const & getAnchorPoint () const
 

Additional Inherited Members

- Protected Member Functions inherited from corsika::BaseExponential< FlatExponential< T > >
auto const & getImplementation () const
 
MassDensityType getMassDensity (LengthType const height) const
 Returns the mass density at altitude "height". More...
 
GrammageType getIntegratedGrammage (BaseTrajectory const &line, DirectionVector const &axis) const
 For a (normalized) axis \( \vec{a} \), the grammage along a non-orthogonal line with (normalized) direction \( \vec{u} \) is given by:

\[ X = \frac{\varrho_0 \lambda}{\vec{u} \cdot \vec{a}} \left( \exp\left( \vec{u} \cdot \vec{a} \frac{l}{\lambda} \right) - 1 \right) \quad \text{,} \]

where \( \varrho_0 \) is the density at the starting point. More...

 
LengthType getArclengthFromGrammage (BaseTrajectory const &line, GrammageType const grammage, DirectionVector const &axis) const
 For a (normalized) axis \( \vec{a} \), the length of a non-orthogonal line with (normalized) direction \( \vec{u} \) corresponding to grammage \( X \) is given by:

\[ l = \begin{cases} \frac{\lambda}{\vec{u} \cdot \vec{a}} \log\left(Y \right), & \text{if} & Y := 1 + \vec{u} \cdot \vec{a} \frac{X}{\rho_0 \lambda} > 0 \\ \infty & \text{else} & \text{,} \end{cases} \]

where \( \varrho_0 \) is the density at the starting point. More...

 

Detailed Description

template<typename T>
class corsika::FlatExponential< T >

flat exponential density distribution with

\[ \varrho(\vec{r}) = \varrho_0 \exp\left( \frac{1}{\lambda} (\vec{r} - \vec{p}) \cdot \vec{a} \right). \]

\( \vec{a} \) denotes the axis and should be normalized to avoid degeneracy with the scale parameter \( \lambda \), \( \vec{r} \) is the location of the evaluation, \( \vec{p} \) is the anchor point at which \( \varrho_0 \) is given.

Thus, the unit vector \( \vec{a} \) specifies the direction of decreasing height/altitude.

Definition at line 35 of file FlatExponential.hpp.


The documentation for this class was generated from the following file: