// ------------------------------------------------------------------------- // Created by M. Al-Turany 06.02.2007 // ------------------------------------------------------------------------- /** ** Parameters (x, y, tx, ty, q/p) of Parabola track * */ #ifndef CBMSTSTRACKPARP #define CBMSTSTRACKPARP 1 #include "TVector3.h" #include "CbmTrackPar.h" class CbmTrackParP : public CbmTrackPar { public: /** Constructor **/ CbmTrackParP(); /** Constructor with all track variables in SD **/ // without spu CbmTrackParP(Double_t v, Double_t w, Double_t Tv, Double_t Tw, Double_t qp, Double_t CovMatrix[15], TVector3 o, TVector3 dj, TVector3 dk); // with spu CbmTrackParP(Double_t v, Double_t w, Double_t Tv, Double_t Tw, Double_t qp, Double_t CovMatrix[15], TVector3 o, TVector3 dj, TVector3 dk, Double_t spu); /** Constructor with position and momentum track in MARS **/ CbmTrackParP(TVector3 pos, TVector3 Mom, TVector3 posErr, TVector3 MomErr, Double_t q, TVector3 o, TVector3 dj, TVector3 dk); /** Destructor **/ virtual ~CbmTrackParP(); /** copy Constructor **/ //CbmTrackParP(CbmTrackPar &Trkbase); //CbmTrackParP(CbmTrackParP &Trkbase); /** Output to screen **/ void Print(); void SetTrackPar(Double_t X, Double_t Y, Double_t Z, Double_t Px, Double_t Py, Double_t Pz, Double_t Q, Double_t CovMatrix[15], TVector3 o, TVector3 di, TVector3 dj, TVector3 dk); void SetTrackPar(Double_t v, Double_t w, Double_t Tv, Double_t Tw, Double_t qp,Double_t CovMatrix[15], TVector3 o, TVector3 di, TVector3 dj, TVector3 dk, Double_t spu); // CHECK DA CANCELLARE void SetTrackPar(Double_t X, Double_t Y, Double_t Z, Double_t Px, Double_t Py, Double_t Pz, Double_t Q, Double_t CovMatrix[15]); void SetTrackPar(Double_t v, Double_t w, Double_t Tv, Double_t Tw, Double_t qp,Double_t CovMatrix[15]); /** Modifiers **/ void SetTV(Double_t tv) { fTV = tv; }; void SetTW(Double_t tw) { fTW = tw; }; void Reset(); ClassDef(CbmTrackParP,1); /** Accessors **/ // MARS Double_t GetDX(); Double_t GetDY(); Double_t GetDZ(); Double_t GetDPx(); Double_t GetDPy(); Double_t GetDPz(); Double_t GetDQp(); Double_t GetX(); Double_t GetY(); Double_t GetZ(); // SD Double_t *GetCov(){return fCovMatrix;}; void GetCov(Double_t *Cov) {for(Int_t i=0;i<15;i++) Cov[i]=fCovMatrix[i];} Double_t GetV(); Double_t GetW(); Double_t GetTV(); Double_t GetTW(); Double_t GetDV(); Double_t GetDW(); Double_t GetDTV(); Double_t GetDTW(); // plane TVector3 GetOrigin(); TVector3 GetIVer(); TVector3 GetJVer(); TVector3 GetKVer(); void SetPlane(TVector3 o, TVector3 dj, TVector3 dk); // spu Double_t GetSPU(){return fSPU;}; private: /** Points coordinates in SD system */ Double_t fU, fV, fW, fTV, fTW; /** momentum id SD **/ Double_t fPx_sd, fPy_sd, fPz_sd; /** Errors in SD system */ Double_t fDU, fDV, fDW, fDTV, fDTW; /** Covariant matrix*/ Double_t fCovMatrix[15]; /**Calculate the cov. mat. for this helix*/ void CalCov(); // plane TVector3 forigin; //! TVector3 fiver; //! TVector3 fjver; //! TVector3 fkver; //! Double_t fDI[3]; //! Double_t fDJ[3]; //! Double_t fDK[3]; //! // spu Double_t fSPU; //! }; #endif