CbmRoot
CbmLitRK4TrackExtrapolator Class Reference

#include <CbmLitRK4TrackExtrapolator.h>

Inheritance diagram for CbmLitRK4TrackExtrapolator:
[legend]
Collaboration diagram for CbmLitRK4TrackExtrapolator:
[legend]

Public Member Functions

 CbmLitRK4TrackExtrapolator (std::shared_ptr< CbmLitField > field)
 
virtual ~CbmLitRK4TrackExtrapolator ()
 
virtual LitStatus Extrapolate (const CbmLitTrackParam *parIn, CbmLitTrackParam *parOut, litfloat zOut, std::vector< litfloat > *F)
 Track parameters extrapolation with calculation of transport matrix. More...
 
virtual LitStatus Extrapolate (CbmLitTrackParam *par, litfloat zOut, std::vector< litfloat > *F)
 

Protected Member Functions

void RK4Order (const std::vector< litfloat > &xIn, litfloat zIn, std::vector< litfloat > &xOut, litfloat zOut, std::vector< litfloat > &derivs) const
 
litfloat CalcOut (litfloat in, const litfloat k[4]) const
 
void TransportC (const std::vector< litfloat > &cIn, const std::vector< litfloat > &F, std::vector< litfloat > &cOut) const
 

Private Attributes

std::shared_ptr< CbmLitFieldfField
 

Detailed Description

Definition at line 24 of file CbmLitRK4TrackExtrapolator.h.

Constructor & Destructor Documentation

◆ CbmLitRK4TrackExtrapolator()

CbmLitRK4TrackExtrapolator::CbmLitRK4TrackExtrapolator ( std::shared_ptr< CbmLitField field)

◆ ~CbmLitRK4TrackExtrapolator()

CbmLitRK4TrackExtrapolator::~CbmLitRK4TrackExtrapolator ( )
virtual

Definition at line 17 of file CbmLitRK4TrackExtrapolator.cxx.

Member Function Documentation

◆ CalcOut()

litfloat CbmLitRK4TrackExtrapolator::CalcOut ( litfloat  in,
const litfloat  k[4] 
) const
protected

Definition at line 235 of file CbmLitRK4TrackExtrapolator.cxx.

Referenced by RK4Order().

◆ Extrapolate() [1/2]

LitStatus CbmLitRK4TrackExtrapolator::Extrapolate ( CbmLitTrackParam par,
litfloat  zOut,
std::vector< litfloat > *  F 
)
virtual

brief Track parameters extrapolation with calculation of transport matrix.

Parameters
[in,out]parPointer to initial and output track parameters.
[in]zOutZ position to extrapolate to [cm].
[out]FOutput transport matrix. If F == NULL than transport matrix is not calculated.
Returns
Extrapolation status.

Implements CbmLitTrackExtrapolator.

Definition at line 27 of file CbmLitRK4TrackExtrapolator.cxx.

References CbmLitTrackParam::GetCovMatrix(), CbmLitTrackParam::GetStateVector(), CbmLitTrackParam::GetZ(), kLITSUCCESS, RK4Order(), CbmLitTrackParam::SetCovMatrix(), CbmLitTrackParam::SetStateVector(), CbmLitTrackParam::SetZ(), and TransportC().

◆ Extrapolate() [2/2]

LitStatus CbmLitRK4TrackExtrapolator::Extrapolate ( const CbmLitTrackParam parIn,
CbmLitTrackParam parOut,
litfloat  zOut,
std::vector< litfloat > *  F 
)
virtual

Track parameters extrapolation with calculation of transport matrix.

Parameters
[in]parInPointer to initial track parameters.
[out]parOutPointer to output track parameters.
[in]zOutZ position to extrapolate to [cm].
[out]FOutput transport matrix. If F == NULL than transport matrix is not calculated.
Returns
Extrapolation status.

Implements CbmLitTrackExtrapolator.

Definition at line 19 of file CbmLitRK4TrackExtrapolator.cxx.

◆ RK4Order()

void CbmLitRK4TrackExtrapolator::RK4Order ( const std::vector< litfloat > &  xIn,
litfloat  zIn,
std::vector< litfloat > &  xOut,
litfloat  zOut,
std::vector< litfloat > &  derivs 
) const
protected

Definition at line 51 of file CbmLitRK4TrackExtrapolator.cxx.

References CalcOut(), fField, CbmLitTrackParam::fSpeedOfLight, i, sqrt(), and x.

Referenced by Extrapolate().

◆ TransportC()

void CbmLitRK4TrackExtrapolator::TransportC ( const std::vector< litfloat > &  cIn,
const std::vector< litfloat > &  F,
std::vector< litfloat > &  cOut 
) const
protected

Definition at line 262 of file CbmLitRK4TrackExtrapolator.cxx.

References i, MultiplyMatrices(), and TransposeMatrix().

Referenced by Extrapolate().

Member Data Documentation

◆ fField

std::shared_ptr<CbmLitField> CbmLitRK4TrackExtrapolator::fField
private

Definition at line 73 of file CbmLitRK4TrackExtrapolator.h.

Referenced by RK4Order().


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