CbmRoot
Loading...
Searching...
No Matches
lit::parallel Namespace Reference

Classes

class  DeleteObject
 Functor class for convenient memory release. More...
 
class  LitAbsorber
 Absorber in muon detector layout. More...
 
class  LitDetectorLayout
 Represents detector layout. More...
 
class  LitDetectorLayoutMuon
 Muon detector layout. More...
 
class  LitFieldGrid
 Class stores a grid of magnetic field values in XY slice at Z position. More...
 
class  LitFieldRegion
 Storage for field approximation along Z. More...
 
class  LitFieldSlice
 Approximated magnetic field slice in XY plane perpendicular to Z. More...
 
class  LitFieldValue
 Magnetic field value at a certain point in the space. More...
 
class  LitHitData
 Class for accessing hits in track reconstruction. More...
 
class  LitHitDataMuon
 
class  LitMaterialGrid
 Class stores a grid of material thickness in silicon equivalent. More...
 
class  LitPixelHit
 Base class for pixel hits. More...
 
class  LitScalPixelHit
 Base class for scalar pixel hits. More...
 
class  LitScalTrack
 Scalar track data class. More...
 
class  LitStation
 Detector station. More...
 
class  LitStationGroupMuon
 
class  LitStationMuon
 Station in muon detector layout. More...
 
class  LitSubstationMuon
 Substation in muon detector layout. More...
 
class  LitTrack
 Base track data class. More...
 
class  LitTrackFinderNN
 
class  LitTrackFinderNNVecElectron
 Parallel SIMDized implementation of TRD tracking. More...
 
class  LitTrackFinderNNVecMuon
 
class  LitTrackParam
 Track parameters data class. More...
 
class  LitVirtualStation
 Virtual detector station which stores information needed for track propagation. More...
 

Typedefs

typedef LitDetectorLayout< fvecLitDetectorLayoutVec
 Vector version of LitDetectorLayout.
 
typedef LitDetectorLayout< fscalLitDetectorLayoutScal
 Scalar version of LitDetectorLayout.
 
typedef LitFieldSlice< fscalLitFieldSliceScal
 Scalar version of LitFieldSlice.
 
typedef LitFieldSlice< fvecLitFieldSliceVec
 Vector version of LitFieldSlice.
 
typedef LitFieldValue< fscalLitFieldValueScal
 Scalar version of LitFieldValue.
 
typedef LitFieldValue< fvecLitFieldValueVec
 Vector version of LitFieldValue.
 
typedef LitPixelHit< fscal > LitPixelHitScal
 Scalar version of LitPixelHit.
 
typedef LitPixelHit< fvecLitPixelHitVec
 Vector version of LitPixelHit.
 
typedef LitStation< fvecLitStationVec
 Vector version of LitStation.
 
typedef LitStation< fscalLitStationScal
 Scalar version of LitStation.
 
typedef LitTrack< fvecLitTrackVec
 Vector version of the LitTrack class.
 
typedef LitTrack< fscalLitTrackScal
 Scalar version of the LitTrack class.
 
typedef LitTrackParam< fvecLitTrackParamVec
 Vector version of LitTrackParam.
 
typedef LitTrackParam< fscalLitTrackParamScal
 Scalar version of LitTrackParam.
 
typedef LitVirtualStation< fvecLitVirtualStationVec
 Vector version of LitVirtualStation.
 
typedef LitVirtualStation< fscalLitVirtualStationScal
 Scalar version of LitVirtualStation.
 
typedef LitAbsorber< fvecLitAbsorberVec
 
typedef LitAbsorber< fscalLitAbsorberScal
 
typedef LitDetectorLayoutMuon< fvecLitDetectorLayoutMuonVec
 
typedef LitDetectorLayoutMuon< fscalLitDetectorLayoutMuonScal
 
typedef LitStationGroupMuon< fvecLitStationGroupMuonVec
 
typedef LitStationGroupMuon< fscalLitStationGroupMuonScal
 
typedef LitStationMuon< fvecLitStationMuonVec
 
typedef LitStationMuon< fscal > LitStationMuonScal
 
typedef LitSubstationMuon< fvecLitSubstationMuonVec
 
typedef LitSubstationMuon< fscal > LitSubstationMuonScal
 

Enumerations

enum  LitHitType { kLITSTRIPHIT = 0 , kLITPIXELHIT = 1 , kLITMIXHIT = 2 }
 Type of the hit and station. More...
 

Functions

template<class T >
void LitAddMaterial (LitTrackParam< T > &par, T siliconThickness)
 
template<class T >
void LitAddMaterialElectron (LitTrackParam< T > &par, T siliconThickness)
 
template<class T >
void LitLineExtrapolation (LitTrackParam< T > &par, T zOut)
 Line track extrapolation for the field free regions.
 
template<class T >
void LitRK4Extrapolation (LitTrackParam< T > &par, T zOut, const LitFieldGrid &field1, const LitFieldGrid &field2, const LitFieldGrid &field3)
 
template<class T >
void LitRK4Extrapolation (LitTrackParam< T > &par, T zOut, const LitFieldValue< T > &field1, const LitFieldValue< T > &field2, const LitFieldValue< T > &field3)
 Runge-Kutta track extrapolation in the magnetic field.
 
template<class T >
void LitRK4Extrapolation (LitTrackParam< T > &par, T zOut, const LitFieldRegion< T > &field)
 Runge-Kutta track extrapolation in the magnetic field. Interface with LitFieldRegion instead of LitFieldValue.
 
template<class T >
void LitFiltration (LitTrackParam< T > &par, const LitPixelHit< T > &hit, T &chiSq)
 Function implements Kalman filter update step for pixel hit.
 
template<class T >
void LitFiltration (LitTrackParam< T > &par, const LitStripHit< T > &hit, T &chiSq)
 Function implements Kalman filter update step for strip hit.
 
void LitFiltration (LitTrackParamScal &par, const LitScalPixelHit &hit, fscal &chiSq)
 
fscal rcp (const fscal &a)
 Returns reciprocal.
 
fscal sgn (const fscal &a)
 Returns sign of the input number.
 
unsigned short NDF (const LitScalTrack &track)
 Returns number of degrees of freedom for the track.
 
void LitTrackFitter (LitScalTrack &track, const LitDetectorLayoutScal &layout)
 Fast scalar track fit.
 
void DoSortNofHits (vector< LitScalTrack * > &tracks)
 
void DoSortLastStation (vector< LitScalTrack * > &tracks)
 
void DoSortChiSqOverNDF (vector< LitScalTrack * > &tracks)
 
void DoSelectSharedHits (vector< LitScalTrack * > &tracks)
 
template<class T >
std::string ToString (const T &value)
 Function converts object into a std::string.
 
void PackFieldValue (const LitFieldValue< fscal > value[], LitFieldValue< fvec > &lvalue)
 Packs LitFieldValue.
 
void PackTrackParam (const LitTrackParam< fscal > par[], LitTrackParam< fvec > &lpar)
 Packs LitTrackParam.
 
void UnpackTrackParam (const LitTrackParam< fvec > &lpar, LitTrackParam< fscal > par[])
 Unpacks LitTrackParam.
 
void UnpackTrackParam (unsigned int i, const LitTrackParam< fvec > &lpar, LitTrackParam< fscal > &par)
 Unpacks LitTrackParam.
 
void PackPixelHit (const LitScalPixelHit hit[], LitPixelHit< fvec > &lhit)
 Packs LitPixelHit.
 
void UnpackPixelHit (const LitPixelHit< fvec > &lhit, LitScalPixelHit hit[])
 Unpacks LitPixelHit.
 
void PackTrack (const LitTrack< fscal > *track[], LitTrack< fvec > &ltrack)
 Packs LitTrack.
 
void UnpackTrack (const LitTrack< fvec > &ltrack, LitTrack< fscal > track[])
 Unpacks LitTrack.
 
template<class T >
void LitTrackFitterMuon (LitTrack< T > &track, const LitDetectorLayoutMuon< T > &layout)
 

Variables

class lit::parallel::LitDetectorLayout _fvecalignment
 

Typedef Documentation

◆ LitAbsorberScal

Definition at line 130 of file LitAbsorber.h.

◆ LitAbsorberVec

Definition at line 129 of file LitAbsorber.h.

◆ LitDetectorLayoutMuonScal

◆ LitDetectorLayoutMuonVec

◆ LitDetectorLayoutScal

◆ LitDetectorLayoutVec

◆ LitFieldSliceScal

Scalar version of LitFieldSlice.

Definition at line 364 of file LitFieldSlice.h.

◆ LitFieldSliceVec

Vector version of LitFieldSlice.

Definition at line 370 of file LitFieldSlice.h.

◆ LitFieldValueScal

Scalar version of LitFieldValue.

Definition at line 72 of file LitFieldValue.h.

◆ LitFieldValueVec

Vector version of LitFieldValue.

Definition at line 78 of file LitFieldValue.h.

◆ LitPixelHitScal

Scalar version of LitPixelHit.

Definition at line 79 of file LitPixelHit.h.

◆ LitPixelHitVec

Vector version of LitPixelHit.

Definition at line 85 of file LitPixelHit.h.

◆ LitStationGroupMuonScal

◆ LitStationGroupMuonVec

◆ LitStationMuonScal

Definition at line 106 of file LitStationMuon.h.

◆ LitStationMuonVec

◆ LitStationScal

Scalar version of LitStation.

Definition at line 111 of file LitStation.h.

◆ LitStationVec

Vector version of LitStation.

Definition at line 105 of file LitStation.h.

◆ LitSubstationMuonScal

◆ LitSubstationMuonVec

◆ LitTrackParamScal

Scalar version of LitTrackParam.

Definition at line 122 of file LitTrackParam.h.

◆ LitTrackParamVec

Vector version of LitTrackParam.

Definition at line 116 of file LitTrackParam.h.

◆ LitTrackScal

Scalar version of the LitTrack class.

Definition at line 99 of file LitTrack.h.

◆ LitTrackVec

Vector version of the LitTrack class.

Definition at line 93 of file LitTrack.h.

◆ LitVirtualStationScal

◆ LitVirtualStationVec

Vector version of LitVirtualStation.

Definition at line 93 of file LitVirtualStation.h.

Enumeration Type Documentation

◆ LitHitType

Type of the hit and station.

Enumerator
kLITSTRIPHIT 

Strip like hit (u, phi).

kLITPIXELHIT 

Pixel like hit (x, y).

kLITMIXHIT 

Used for stations which produce both strip and pixel hits

Definition at line 27 of file LitEnums.h.

Function Documentation

◆ DoSelectSharedHits()

◆ DoSortChiSqOverNDF()

void lit::parallel::DoSortChiSqOverNDF ( vector< LitScalTrack * > & tracks)

Definition at line 94 of file LitTrackSelection.h.

References tracks.

◆ DoSortLastStation()

void lit::parallel::DoSortLastStation ( vector< LitScalTrack * > & tracks)

Definition at line 65 of file LitTrackSelection.h.

References lit::parallel::LitScalTrack::SetLastStationId(), and tracks.

◆ DoSortNofHits()

void lit::parallel::DoSortNofHits ( vector< LitScalTrack * > & tracks)

Definition at line 36 of file LitTrackSelection.h.

References lit::parallel::LitScalTrack::SetNofHits(), and tracks.

Referenced by DoSelectSharedHits().

◆ LitAddMaterial()

◆ LitAddMaterialElectron()

◆ LitFiltration() [1/3]

template<class T >
void lit::parallel::LitFiltration ( LitTrackParam< T > & par,
const LitPixelHit< T > & hit,
T & chiSq )
inline

Function implements Kalman filter update step for pixel hit.

It updates track parameters and covariance matrix and calculates contribution to chi-square from this hit.

Parameters
[in,out]parReference to track parameters.
[in]hitReference to pixel hit.
[out]chiSqContribution to chi-square.

Definition at line 39 of file LitFiltration.h.

References lit::parallel::LitTrackParam< T >::C0, lit::parallel::LitTrackParam< T >::C1, lit::parallel::LitTrackParam< T >::C10, lit::parallel::LitTrackParam< T >::C11, lit::parallel::LitTrackParam< T >::C12, lit::parallel::LitTrackParam< T >::C13, lit::parallel::LitTrackParam< T >::C14, lit::parallel::LitTrackParam< T >::C2, lit::parallel::LitTrackParam< T >::C3, lit::parallel::LitTrackParam< T >::C4, lit::parallel::LitTrackParam< T >::C5, lit::parallel::LitTrackParam< T >::C6, lit::parallel::LitTrackParam< T >::C7, lit::parallel::LitTrackParam< T >::C8, lit::parallel::LitTrackParam< T >::C9, lit::parallel::LitPixelHit< T >::Dx, lit::parallel::LitPixelHit< T >::Dxy, lit::parallel::LitPixelHit< T >::Dy, lit::parallel::LitTrackParam< T >::Qp, lit::parallel::LitTrackParam< T >::Tx, lit::parallel::LitTrackParam< T >::Ty, lit::parallel::LitPixelHit< T >::X, lit::parallel::LitTrackParam< T >::X, lit::parallel::LitPixelHit< T >::Y, and lit::parallel::LitTrackParam< T >::Y.

Referenced by lit::parallel::LitTrackFinderNNVecElectron::AddNearestHit(), lit::parallel::LitTrackFinderNNVecMuon::AddNearestHit(), lit::parallel::LitTrackFinderNN::FollowTracks(), LitFiltration(), LitTrackFitter(), and LitTrackFitterMuon().

◆ LitFiltration() [2/3]

◆ LitFiltration() [3/3]

◆ LitLineExtrapolation()

◆ LitRK4Extrapolation() [1/3]

template<class T >
void lit::parallel::LitRK4Extrapolation ( LitTrackParam< T > & par,
T zOut,
const LitFieldGrid & field1,
const LitFieldGrid & field2,
const LitFieldGrid & field3 )
inline

◆ LitRK4Extrapolation() [2/3]

template<class T >
void lit::parallel::LitRK4Extrapolation ( LitTrackParam< T > & par,
T zOut,
const LitFieldRegion< T > & field )
inline

Runge-Kutta track extrapolation in the magnetic field. Interface with LitFieldRegion instead of LitFieldValue.

Parameters
[in,out]parReference to track parameters.
[in]zOutZ position to extrapolate to.
[in]fieldReference to field region.

Definition at line 645 of file LitExtrapolation.h.

References lit::parallel::LitFieldRegion< T >::GetFieldValue(), LitRK4Extrapolation(), and lit::parallel::LitTrackParam< T >::Z.

◆ LitRK4Extrapolation() [3/3]

template<class T >
void lit::parallel::LitRK4Extrapolation ( LitTrackParam< T > & par,
T zOut,
const LitFieldValue< T > & field1,
const LitFieldValue< T > & field2,
const LitFieldValue< T > & field3 )
inline

◆ LitTrackFitter()

◆ LitTrackFitterMuon()

◆ NDF()

unsigned short lit::parallel::NDF ( const LitScalTrack & track)
inline

Returns number of degrees of freedom for the track.

Note currently this function works only for pixel hits. TODO This has to be corrected later.

Parameters
[in]trackReference to track.
Returns
Number of degrees of freedom for track.

Definition at line 56 of file LitMath.h.

References lit::parallel::LitScalTrack::GetNofHits().

Referenced by lit::parallel::LitTrackFinderNNVecElectron::AddNearestHit(), lit::parallel::LitTrackFinderNNVecMuon::AddNearestHit(), lit::parallel::LitTrackFinderNN::FollowTracks(), and lit::parallel::LitScalTrack::SetNDF().

◆ PackFieldValue()

void lit::parallel::PackFieldValue ( const LitFieldValue< fscal > value[],
LitFieldValue< fvec > & lvalue )
inline

Packs LitFieldValue.

Parameters
[in]valueArray of fvecLen length of LitFieldValue<fscal> objects to be packed into a vector.
[out]lvaluePacked LitFieldValue.

Definition at line 33 of file LitVecPack.h.

References lit::parallel::LitFieldValue< T >::Bx, lit::parallel::LitFieldValue< T >::By, and lit::parallel::LitFieldValue< T >::Bz.

◆ PackPixelHit()

◆ PackTrack()

◆ PackTrackParam()

void lit::parallel::PackTrackParam ( const LitTrackParam< fscal > par[],
LitTrackParam< fvec > & lpar )
inline

◆ rcp()

fscal lit::parallel::rcp ( const fscal & a)
inline

Returns reciprocal.

Parameters
[in]aInput number.
Returns
Reciprocal of a.

Definition at line 32 of file LitMath.h.

Referenced by LitAddMaterial(), LitAddMaterialElectron(), LitFiltration(), LitRK4Extrapolation(), LitRK4Extrapolation(), lit::parallel::LitFieldRegion< T >::Set(), and lit::parallel::LitFieldRegion< T >::Set().

◆ sgn()

fscal lit::parallel::sgn ( const fscal & a)
inline

Returns sign of the input number.

If input number is negative return -1, if positive return 1 and if 0 return 0.

Parameters
[in]aInput number.
Returns
Sign of the input number.

Definition at line 44 of file LitMath.h.

Referenced by LitAddMaterial(), and LitAddMaterialElectron().

◆ ToString()

template<class T >
std::string lit::parallel::ToString ( const T & value)

Function converts object into a std::string.

Note that operator << has to be defined for the class/type in order to be able to convert to a string.

Parameters
[in,out]parReference to track parameters.
[in]matReference to material

Definition at line 37 of file LitUtils.h.

Referenced by lit::parallel::LitAbsorber< T >::ToString(), lit::parallel::LitDetectorLayoutMuon< T >::ToString(), lit::parallel::LitFieldSlice< T >::ToString(), lit::parallel::LitHitDataMuon< T >::ToString(), lit::parallel::LitStationGroupMuon< T >::ToString(), lit::parallel::LitStationMuon< T >::ToString(), and lit::parallel::LitSubstationMuon< T >::ToString().

◆ UnpackPixelHit()

◆ UnpackTrack()

void lit::parallel::UnpackTrack ( const LitTrack< fvec > & ltrack,
LitTrack< fscal > track[] )
inline

Unpacks LitTrack.

NOTE: Currently not implemented!

Parameters
[in]lparPacked LitTrack to be unpacked.
[out]parArray of fvecLen length to store unpacked scalar objects.

Definition at line 270 of file LitVecPack.h.

◆ UnpackTrackParam() [1/2]

void lit::parallel::UnpackTrackParam ( const LitTrackParam< fvec > & lpar,
LitTrackParam< fscal > par[] )
inline

◆ UnpackTrackParam() [2/2]

Variable Documentation

◆ _fvecalignment

class lit::parallel::LitSubstationMuon lit::parallel::_fvecalignment