--- DarthVader/TrackerLevel2/inc/TrkLevel2.h 2006/05/19 13:15:52 1.1.1.1 +++ DarthVader/TrackerLevel2/inc/TrkLevel2.h 2006/08/04 08:18:05 1.7 @@ -8,8 +8,28 @@ #include #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 +// (mechanical) z-coordinate of the tracker planes +#define ZTRK6 -22.23 +#define ZTRK5 -13.32 +#define ZTRK4 -4.42 +#define ZTRK3 4.48 +#define ZTRK2 13.38 +#define ZTRK1 22.28 +// (mechanical) x/y-coordinates of magnet cavity +#define XTRKL -8.1 +#define XTRKR 8.1 +#define YTRKL -6.6 +#define YTRKR 6.6 + /** * \brief Class to describe, by points, a particle trajectory in the apparatus. * @@ -26,12 +46,18 @@ 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(){npoint=1; x = new float; y = new float; z = new float; return;}; + 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 ntrk() {return Track->GetEntries();} ///< 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 SetFromLevel2Struct(cTrkLevel2 *); + void GetLevel2Struct(cTrkLevel2 *) const; void Clear(); - void LoadField(TString); - - TrkTrack *GetStoredTrack(int i); - TClonesArray *GetTracks(); - - int GetNTracks(){return this->GetTracks()->GetEntries();} - TrkTrack* GetTrack(int i); + void LoadField(TString); + Float_t GetZTrk(Int_t); + Float_t GetXTrkLeft(){return XTRKL;}; + Float_t GetXTrkRight(){return XTRKR;}; + Float_t GetYTrkLeft(){return YTRKL;}; + Float_t GetYTrkRight(){return YTRKR;}; + + TrkSinglet *GetSingletX(int); + TrkSinglet *GetSingletY(int); + + 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(); + TRefArray *GetTracks_NFitSorted(); + TRefArray *GetTracks(){return this->GetTracks_NFitSorted();}; + +// int GetNTracks(){return this->GetTracks()->GetEntries();} + Int_t GetNTracks(); + TrkTrack* GetTrack(int i); TrkTrack* GetTrackImage(int i); - TrkLevel2* GetTrkLevel2(){return this;} - + TrkLevel2* GetTrkLevel2(){return this;} + TClonesArray* GetTrackArray(){return Track;};///< returns pointer to the track array + ClassDef(TrkLevel2,1); }; - #endif