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

The SlidingPlanarExponential models mass density as:

\[ \varrho(r) = \varrho_0 \exp\left( \frac{|p_0 - r|}{\lambda} \right). \]

For grammage/length conversion, the density distribution is approximated as locally flat at the starting point \( r_0 \) of the trajectory with the axis pointing from \( p_0 \) to \( r_0 \). More...

#include <SlidingPlanarExponential.hpp>

Inheritance diagram for corsika::SlidingPlanarExponential< T >:

Public Member Functions

 SlidingPlanarExponential (Point const &p0, MassDensityType const rho0, LengthType const lambda, NuclearComposition const &nuclComp, LengthType const referenceHeight=LengthType::zero())
 
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< SlidingPlanarExponential< 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< SlidingPlanarExponential< 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::SlidingPlanarExponential< T >

The SlidingPlanarExponential models mass density as:

\[ \varrho(r) = \varrho_0 \exp\left( \frac{|p_0 - r|}{\lambda} \right). \]

For grammage/length conversion, the density distribution is approximated as locally flat at the starting point \( r_0 \) of the trajectory with the axis pointing from \( p_0 \) to \( r_0 \).

Definition at line 34 of file SlidingPlanarExponential.hpp.


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