#ifndef _BRDETECTORSETTRACKS_H #define _BRDETECTORSETTRACKS_H ////////////////////////////////////////////////////////////////////// // // // BrDetectorSetTracks // // // // BRAHMS Detector Track class // // A set of several different structures (all derived from // // BrBaseTrack which are used in BrCombinedTrack for intermediate// // stages. // // // Author : Kris Hagel (hagel@comp.tamu.edu) // // Created : 7-Apr-1998 // // Version : 1.0 // // Changed : // // // ////////////////////////////////////////////////////////////////////// // Root Classes #include "TObject.h" #include "BrBaseTrack.h" class BrDetectorTrack; class BrTrack12: public BrBaseTrack { public: BrTrack12(); virtual ~BrTrack12(); virtual BrDetectorTrack *GetT1tr() {return fT1tr;} virtual BrDetectorTrack *GetT2tr() {return fT2tr;} virtual Float_t GetTheta(){return fTheta;} virtual Float_t GetPhi() {return fPhi;} virtual Float_t GetTx() {return fTx;} virtual Float_t GetTy() {return fTy;} virtual Float_t GetD1fx() {return fD1fx;} virtual Float_t GetD1fy() {return fD1fy;} virtual Float_t GetD1bx() {return fD1bx;} virtual Float_t GetD1by() {return fD1by;} virtual void SetT1tr(BrDetectorTrack *t1tr) {fT1tr = t1tr;} virtual void SetT2tr(BrDetectorTrack *t2tr) {fT2tr = t2tr;} virtual void SetTheta(Float_t x) {fTheta = x;} virtual void SetPhi(Float_t x) {fPhi = x;} virtual void SetTx(Float_t x) {fTx = x;} virtual void SetTy(Float_t x) {fTy = x;} virtual void SetD1fx(Float_t x) {fD1fx = x;} virtual void SetD1fy(Float_t x) {fD1fy = x;} virtual void SetD1bx(Float_t x) {fD1bx = x;} virtual void SetD1by(Float_t x) {fD1by = x;} private: BrDetectorTrack* fT1tr; BrDetectorTrack* fT2tr; Float_t fTheta; Float_t fPhi; Float_t fTx; Float_t fTy; Float_t fD1fx; Float_t fD1fy; Float_t fD1bx; Float_t fD1by; public: ClassDef(BrTrack12,1) // BRAHMS Combined T1 and T2 Track Class }; class BrTrack; class BrTrack345; class BrT2Match: public BrTrack12 { public: BrT2Match(); virtual ~BrT2Match(); virtual BrTrack12 *GetTrack12() {return fTrack12;} virtual BrTrack345 *GetTrack345() {return fTrack345;} virtual BrTrack *GetTrack() {return fTrack;} virtual Float_t GetDelx() {return fDelx;} virtual Float_t GetDely() {return fDely;} virtual Float_t GetDelay() {return fDelay;} virtual Float_t GetQval() {return fQval;} virtual Float_t GetD2fx() {return fD2fx;} virtual Float_t GetD2fy() {return fD2fy;} virtual Float_t GetD2bx() {return fD2bx;} virtual Float_t GetD2by() {return fD2by;} virtual void SetTrack12(BrTrack12 *track) {fTrack12 = track;} virtual void SetTrack345(BrTrack345 *track) {fTrack345 = track;} virtual void SetTrack(BrTrack *track) {fTrack = track;} virtual void SetDelx(Float_t x) {fDelx = x;} virtual void SetDely(Float_t x) {fDely = x;} virtual void SetDelay(Float_t x) {fDelay = x;} virtual void SetQval(Float_t x) {fQval = x;} virtual void SetD2fx(Float_t x) {fD2fx = x;} virtual void SetD2fy(Float_t x) {fD2fy = x;} virtual void SetD2bx(Float_t x) {fD2bx = x;} virtual void SetD2by(Float_t x) {fD2by = x;} private: BrTrack12* fTrack12; BrTrack345* fTrack345; BrTrack* fTrack; Float_t fDelx; Float_t fDely; Float_t fDelay; Float_t fQval; Float_t fD2fx; Float_t fD2fy; Float_t fD2bx; Float_t fD2by; public: ClassDef(BrT2Match,1) // BRAHMS Track12 Matching Class }; class BrTrack34: public BrBaseTrack { public: BrTrack34(); virtual ~BrTrack34(); virtual BrDetectorTrack *GetT3tr() {return fT3tr;} virtual BrDetectorTrack *GetT4tr() {return fT4tr;} virtual BrTrack *GetTrack() {return fTrack;} virtual BrTrack345 *GetTrack345() {return fTrack345;} virtual Float_t GetAly() {return fAly;} virtual void SetT3tr(BrDetectorTrack *t3tr) {fT3tr = t3tr;} virtual void SetT4tr(BrDetectorTrack *t4tr) {fT4tr = t4tr;} virtual void SetTrack(BrTrack *track) {fTrack = track;} virtual void SetTrack345(BrTrack345 *track) {fTrack345 = track;} virtual void SetAly(Float_t x) {fAly = x;} private: Float_t fAly; BrDetectorTrack *fT3tr; BrDetectorTrack *fT4tr; BrTrack345 *fTrack345; BrTrack *fTrack; public: ClassDef(BrTrack34,1) // BRAHMS Combined T3 and T4 Track Class }; class BrTrack45: public BrBaseTrack { public: BrTrack45(); virtual ~BrTrack45(); virtual BrDetectorTrack *GetT4tr() {return fT4tr;} virtual BrDetectorTrack *GetT5tr() {return fT5tr;} virtual BrTrack *GetTrack() {return fTrack;} virtual BrTrack345 *GetTrack345() {return fTrack345;} virtual Float_t GetAly() {return fAly;} virtual void SetT4tr(BrDetectorTrack *t4tr) {fT4tr = t4tr;} virtual void SetT5tr(BrDetectorTrack *t5tr) {fT5tr = t5tr;} virtual void SetTrack(BrTrack *track) {fTrack = track;} virtual void SetTrack345(BrTrack345 *track) {fTrack345 = track;} virtual void SetAly(Float_t x) {fAly = x;} private: Float_t fAly; BrDetectorTrack* fT4tr; BrDetectorTrack* fT5tr; BrTrack345* fTrack345; BrTrack* fTrack; public: ClassDef(BrTrack45,1) // BRAHMS Combined T4 and T5 Track Class }; class BrTrack345: public BrBaseTrack { public: BrTrack345(); virtual ~BrTrack345(); virtual BrTrack34 *GetTrack34() {return fTrack34;} virtual BrTrack45 *GetTrack45() {return fTrack45;} virtual BrTrack *GetTrack() {return fTrack;} virtual Float_t GetT2x() {return fT2x;} virtual Float_t GetT2y() {return fT2y;} virtual Float_t GetT2Ay() {return fT2Ay;} virtual Int_t GetStatus() {return fStatus;} virtual void SetTrack34(BrTrack34 *track34) {fTrack34 = track34;} virtual void SetTrack45(BrTrack45 *track45) {fTrack45 = track45;} virtual void SetTrack(BrTrack *track) {fTrack = track;} virtual void SetT2x(Float_t x) {fT2x = x;} virtual void SetT2y(Float_t x) {fT2y = x;} virtual void SetT2Ay(Float_t x) {fT2Ay = x;} private: Float_t fT2x; //fT2x Float_t fT2y; //fT2y Float_t fT2Ay; //fT2Ay Int_t fStatus; //Status BrTrack34* fTrack34; //Pointer to track34 BrTrack45* fTrack45; //Pointer to track45 BrTrack* fTrack; //Pointer to track that will be returned public: ClassDef(BrTrack345,1) // BRAHMS Combined T3, T4, and T5 Track Class }; #endif