/** * \file TrkLevel2.h * \author Elena Vannuccini */ #ifndef trklevel2_h #define trklevel2_h #include #include #include #include // z-coordinate of track state-vector reference-plane #define ZINI 23.5 // upper and lower (mechanical) z-coordinate of the tracker #define ZTRKUP 22.29 #define ZTRKDW -22.22 /** * \brief Class to describe, by points, a particle trajectory in the apparatus. * * The idea is to create it by integrating the equations of motion, given the * track state vector and the z coordinates where to evaluate track position. */ // ================================================================== class Trajectory : public TObject{ private: public: int npoint; ///< number of evaluated points along the trajectory float* x; ///< x coordinates float* y; ///< y coordinates float* z; ///< z coordinates float* thx; ///< x projected angle float* thy; ///< y projected angle float* tl; ///< track length Trajectory(); Trajectory(int n); Trajectory(int n, float* pz); void Dump(); float GetLength(){float l=0; for(int i=0; iGetEntries();} ///< number of stored track int nclsx(){return SingletX->GetEntries();} ///< number of x singlets int nclsy(){return SingletY->GetEntries();} ///< number of y singlets void Dump(); void FillCommonVar(cTrkLevel2 *); void Clear(); void LoadField(TString); TrkTrack *GetStoredTrack(int i); Int_t GetSeqNo(Int_t i) {return (((TrkTrack *)Track->At(i))->seqno);}; ///< Returns track sequential number TClonesArray *GetTracks_Chi2Sorted(); TClonesArray *GetTracks_NFitSorted(); TClonesArray *GetTracks(); int GetNTracks(){return this->GetTracks()->GetEntries();} TrkTrack* GetTrack(int i); TrkTrack* GetTrackImage(int i); TrkLevel2* GetTrkLevel2(){return this;} TClonesArray* GetTrackArray(){return Track;};///< returns pointer to the track array ClassDef(TrkLevel2,1); }; #endif