CORSIKA8  0.0.0
The framework to simulate particle cascades for astroparticle physics
corsika::FlatExponential< T > Class Template Reference

flat exponential density distribution with

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

\( \vec{a} \) denotes the axis and should be normalized to avoid degeneracy with the scale parameter \( \lambda \). More...

#include <FlatExponential.hpp>

Inheritance diagram for corsika::FlatExponential< T >:

Public Member Functions

 FlatExponential (Point const &point, Vector< dimensionless_d > const &axis, MassDensityType rho, LengthType 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 grammage) const override
 
- Public Member Functions inherited from corsika::BaseExponential< FlatExponential< T > >
 BaseExponential (Point const &point, LengthType const referenceHeight, MassDensityType rho0, LengthType 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
 
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) \]

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

 
LengthType getArclengthFromGrammage (BaseTrajectory const &line, GrammageType 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 := 0 > 1 + \vec{u} \cdot \vec{a} \frac{X}{\rho_0 \lambda} \infty & \text{else,} \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(r) = \varrho_0 \exp\left( \frac{1}{\lambda} (r - p) \cdot \vec{a} \right). \]

\( \vec{a} \) denotes the axis and should be normalized to avoid degeneracy with the scale parameter \( \lambda \).

Definition at line 32 of file FlatExponential.hpp.


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