CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
corsika::COMBoost Class Reference

This utility class handles Lorentz boost (in one spatial direction) between different referenence frames, using FourVector. More...

#include <COMBoost.hpp>

Public Member Functions

 COMBoost (FourMomentum const &P4projectile, HEPEnergyType const massTarget)
 Construct a COMBoost given four-vector of projectile and mass of target (target at rest). More...
 
 COMBoost (MomentumVector const &momentum, HEPEnergyType const mass)
 Construct a COMBoost to boost into the rest frame of a particle given its 3-momentum and mass.
 
 COMBoost (FourMomentum const &P4projectile, FourMomentum const &P4target)
 Construct a COMBoost given two four-vectors of projectile target. More...
 
template<typename FourVector >
FourVector toCoM (FourVector const &p4) const
 transforms a 4-momentum from lab frame to the center-of-mass frame
 
template<typename FourVector >
FourVector fromCoM (FourVector const &p4) const
 transforms a 4-momentum from the center-of-mass frame back to lab frame
 
CoordinateSystemPtr const & getRotatedCS () const
 returns the rotated coordinate system: +z is projectile direction
 
CoordinateSystemPtr const & getOriginalCS () const
 returns the original coordinate system of the projectile (lab)
 

Public Attributes

Eigen::Matrix2d boost_
 
Eigen::Matrix2d inverseBoost_
 
CoordinateSystemPtr const originalCS_
 
CoordinateSystemPtr rotatedCS_
 

Protected Member Functions

void setBoost (double const coshEta, double const sinhEta)
 internal method
 

Detailed Description

This utility class handles Lorentz boost (in one spatial direction) between different referenence frames, using FourVector.

The class is initialized with projectile and optionally target energy/momentum data. During initialization, a rotation matrix is calculated to represent the projectile movement (and thus the boost) along the z-axis. Also the inverse of this rotation is calculated. The Lorentz boost matrix and its inverse are determined as 2x2 matrices considering the energy and pz-momentum.

Different constructors are offered with different specialization for the cases of collisions (projectile-target) or just decays (projectile only).

Definition at line 47 of file COMBoost.hpp.

Constructor & Destructor Documentation

◆ COMBoost() [1/2]

corsika::COMBoost::COMBoost ( FourMomentum const &  P4projectile,
HEPEnergyType const  massTarget 
)

Construct a COMBoost given four-vector of projectile and mass of target (target at rest).

The FourMomentum and mass define the lab system.

◆ COMBoost() [2/2]

corsika::COMBoost::COMBoost ( FourMomentum const &  P4projectile,
FourMomentum const &  P4target 
)

Construct a COMBoost given two four-vectors of projectile target.

The two FourMomentum can define an arbitrary system.


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