CbmRoot
CbmLitTGeoTrackPropagator.h
Go to the documentation of this file.
1 
10 #ifndef CBMLITTGEOTRACKPROPAGATOR_H_
11 #define CBMLITTGEOTRACKPROPAGATOR_H_
12 
13 #include "base/CbmLitPtrTypes.h"
15 
16 #include <vector>
17 
19 public:
20  /* Standard constructor with the pointer to track extrapolation tool.
21  * @param extrapolator Pointer to the LIT track extrapolator class to be used during the propagation.
22  */
24 
25  /* Destructor */
27 
28  /* Inherited from CbmLitTrackPropagator */
29  virtual LitStatus Propagate(const CbmLitTrackParam* parIn,
30  CbmLitTrackParam* parOut,
31  litfloat zOut,
32  int pdg,
33  std::vector<litfloat>* F,
34  litfloat* length);
35 
36  /* Inherited from CbmLitTrackPropagator */
38  litfloat zOut,
39  int pdg,
40  std::vector<litfloat>* F,
41  litfloat* length);
42 
43  static litfloat
44  MAXIMUM_PROPAGATION_STEP_SIZE; // maximum step size in the TGeo track propagation
45 
46 protected:
47  /* Updates the transport matrix F = newF * F.
48  * @param F Input/output Current transport matrix.
49  * @param newF Transport matrix to be included in the current transport matrix.
50  */
51  void UpdateF(std::vector<litfloat>& F, const std::vector<litfloat>& newF);
52 
53  /* Checks if the track parameters are correct by checking their maximum acceptable values.
54  * @param par Track parameters to be checked.
55  */
56  bool IsParCorrect(const CbmLitTrackParam* par);
57 
58 private:
59  TrackExtrapolatorPtr fExtrapolator; // Track extrapolator tool
60  GeoNavigatorPtr fNavigator; // Geometry navigator tool
61  MaterialEffectsPtr fMaterial; // Material effects tool
62 };
63 
64 #endif //CBMLITTGEOTRACKPROPAGATOR_H_
litfloat
double litfloat
Definition: CbmLitFloat.h:15
CbmLitTGeoTrackPropagator::IsParCorrect
bool IsParCorrect(const CbmLitTrackParam *par)
Definition: CbmLitTGeoTrackPropagator.cxx:148
CbmLitTrackParam
Data class for track parameters.
Definition: CbmLitTrackParam.h:29
CbmLitTGeoTrackPropagator::fMaterial
MaterialEffectsPtr fMaterial
Definition: CbmLitTGeoTrackPropagator.h:61
CbmLitTGeoTrackPropagator::CbmLitTGeoTrackPropagator
CbmLitTGeoTrackPropagator(TrackExtrapolatorPtr extrapolator)
Definition: CbmLitTGeoTrackPropagator.cxx:28
CbmLitTGeoTrackPropagator::MAXIMUM_PROPAGATION_STEP_SIZE
static litfloat MAXIMUM_PROPAGATION_STEP_SIZE
Definition: CbmLitTGeoTrackPropagator.h:44
CbmLitTGeoTrackPropagator::UpdateF
void UpdateF(std::vector< litfloat > &F, const std::vector< litfloat > &newF)
Definition: CbmLitTGeoTrackPropagator.cxx:141
GeoNavigatorPtr
boost::shared_ptr< CbmLitGeoNavigator > GeoNavigatorPtr
Definition: CbmTofPtrTypes.h:27
CbmLitTGeoTrackPropagator::fExtrapolator
TrackExtrapolatorPtr fExtrapolator
Definition: CbmLitTGeoTrackPropagator.h:59
CbmLitTrackPropagator.h
CbmLitTrackPropagator
CbmLitTrackPropagator.h.
Definition: CbmLitTrackPropagator.h:27
TrackExtrapolatorPtr
boost::shared_ptr< CbmLitTrackExtrapolator > TrackExtrapolatorPtr
Definition: CbmTofPtrTypes.h:22
CbmLitTGeoTrackPropagator
Definition: CbmLitTGeoTrackPropagator.h:18
CbmLitTGeoTrackPropagator::Propagate
virtual LitStatus Propagate(const CbmLitTrackParam *parIn, CbmLitTrackParam *parOut, litfloat zOut, int pdg, std::vector< litfloat > *F, litfloat *length)
Track parameter propagation.
Definition: CbmLitTGeoTrackPropagator.cxx:37
MaterialEffectsPtr
boost::shared_ptr< CbmLitMaterialEffects > MaterialEffectsPtr
Definition: CbmTofPtrTypes.h:28
CbmLitTGeoTrackPropagator::~CbmLitTGeoTrackPropagator
virtual ~CbmLitTGeoTrackPropagator()
Definition: CbmLitTGeoTrackPropagator.cxx:35
CbmLitTGeoTrackPropagator::fNavigator
GeoNavigatorPtr fNavigator
Definition: CbmLitTGeoTrackPropagator.h:60
CbmLitPtrTypes.h
Typedefs for algorithm interfaces.
LitStatus
LitStatus
Definition: CbmLitEnums.h:23