// ------------------------------------------------------------------------- // ----- CbmLitRK4TrackExtrapolator header file ----- // ----- Created 16/07/07 by A. Lebedev ----- // ------------------------------------------------------------------------- /** CbmLitRK4TrackExtrapolator.h *@author A.Lebedev ** ** **/ #ifndef CbmLitRK4TrackExtrapolatorAAA #define CbmLitRK4TrackExtrapolatorAAA #include "CbmTrackExtrapolator.h" #include "CbmTrackParam.h" #include "CbmField.h" class CbmLitRK4TrackExtrapolator: public CbmTrackExtrapolator { public: // constructor CbmLitRK4TrackExtrapolator(); // distructor virtual ~CbmLitRK4TrackExtrapolator(); // virtual void Init(); // Extrapolation virtual void Extrapolate( const CbmTrackParam *pParamIn, CbmTrackParam *pParamOut, Double_t zOut); virtual void Extrapolate( CbmTrackParam *pParam, Double_t zOut ); protected: void RK4Order( Double_t zIn , Double_t xIn[] , Double_t zOut, Double_t xOut[], Double_t derivs[] ); void RK4Step( Double_t zIn, Double_t xIn[], Double_t zOut, Double_t cOut[], Double_t derivs[] ); void RK4Fast( Double_t zIn , Double_t xIn[], Double_t zOut, Double_t xOut[] ); Double_t fStepSizeMin; Double_t fAccError; CbmField *fMagneticField; ClassDef(CbmLitRK4TrackExtrapolator,1) }; #endif //CbmLitRK4TrackExtrapolator