// ------------------------------------------------------------------------- // ----- CbmLitTrackPropagator header file ----- // ----- Created 16/07/07 by A. Lebedev ----- // ------------------------------------------------------------------------- /** CbmLitTrackPropagator.h *@author A.Lebedev ** ** **/ #ifndef CbmLitTrackPropagatorAAA #define CbmLitTrackPropagatorAAA #include "CbmTrackPropagator.h" #include "CbmTrackExtrapolator.h" #include "CbmLitMaterial.h" #include "CbmField.h" #include "CbmTrackParam.h" class CbmLitTrackPropagator: public CbmTrackPropagator { public: // constructor //CbmLitTrackPropagator(); CbmLitTrackPropagator(CbmTrackExtrapolator *extrapolator); // distructor virtual ~CbmLitTrackPropagator(); virtual void Init(); // Propagator virtual void Propagate( const CbmTrackParam *pParamIn, CbmTrackParam *pParamOut, Double_t zOut); virtual void Propagate( CbmTrackParam *pParam, Double_t zOut ); protected: void AddThinScatter(CbmTrackParam* pParam, Double_t RadLength); void AddThickScatter(CbmTrackParam* pParam, Double_t RadLength, Double_t Thickness); void AddEnergyLoss( CbmTrackParam* pParam, CbmLitMaterial* Material); void AddElectronEnergyLoss(CbmTrackParam* pParam, CbmLitMaterial* Material); private: CbmTrackExtrapolator *fExtrapolator; Bool_t fDownstream; Double_t fFms; Double_t fMass; Double_t fEnergyLoss; std::vector fvAllMaterials; ClassDef(CbmLitTrackPropagator,1) }; #endif //CbmLitTrackPropagator