--- DarthVader/TrackerLevel2/inc/TrkLevel2.h 2006/07/21 11:03:14 1.6 +++ DarthVader/TrackerLevel2/inc/TrkLevel2.h 2007/05/24 14:32:14 1.27 @@ -8,21 +8,28 @@ #include #include #include +#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 +#define ZTRK6 -22.22 +#define ZTRK5 -13.31 +#define ZTRK4 -4.41 +#define ZTRK3 4.49 +#define ZTRK2 13.39 +#define ZTRK1 22.29 +// magnet cavity dimensions +#define ZMAGNHIGH 21.83 +#define ZMAGNLOW -21.83 +#define XMAGNHIGH 8.07 +#define XMAGNLOW -8.07 +#define YMAGNHIGH 6.57 +#define YMAGNLOW -6.57 // (mechanical) x/y-coordinates of magnet cavity #define XTRKL -8.1 #define XTRKR 8.1 @@ -52,12 +59,15 @@ Trajectory(); Trajectory(int n); Trajectory(int n, float* pz); + ~Trajectory(){Delete();}; void Dump(); + void Delete(); + int DoTrack2(float* al); 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 SetFromLevel2Struct(cTrkLevel2 *); + void SetFromLevel2Struct(cTrkLevel2 *, TrkLevel1 *); + void SetFromLevel2Struct(cTrkLevel2 *s2){ SetFromLevel2Struct(s2, NULL); }; + void SetFromLevel2Struct(TrkLevel1 *l1) { SetFromLevel2Struct(&level2event_, l1); }; + void SetFromLevel2Struct() { SetFromLevel2Struct(&level2event_); }; void GetLevel2Struct(cTrkLevel2 *) const; - void Clear(); void LoadField(TString); + float GetBX(float* v){return TrkParams::GetBX(v);};///< Bx (kGauss) + float GetBY(float* v){return TrkParams::GetBY(v);};///< By (kGauss) + float GetBZ(float* v){return TrkParams::GetBZ(v);};///< Bz (kGauss) 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;}; + Bool_t IsMaskedVK(int,int); + Bool_t GetVKMask(int,int); + Bool_t GetVKFlag(int,int); + 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(); - -// int GetNTracks(){return this->GetTracks()->GetEntries();} - Int_t GetNTracks(); - TrkTrack* GetTrack(int i); - TrkTrack* GetTrackImage(int i); + TRefArray *GetTracks_NFitSorted(); + TRefArray *GetTracks(){return this->GetTracks_NFitSorted();}; + + Int_t GetNTracks(); + 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); + ClassDef(TrkLevel2,3); }; - - #endif