#ifndef _BRLOCALTRACK_H #define _BRLOCALTRACK_H /////////////////////////////////////////////////////////////////////// // // // BrLocalTrack // // // // BRAHMS Track class // // // // Author : Kris Hagel (hagel@comp.tamu.edu) // // Created : 10/Mar/1998 // // Version : 1.0 // // Changed : // // // /////////////////////////////////////////////////////////////////////// // Root Classes #include "TObject.h" // Brahms Classes #include "BrDataTable.h" #include "BrTrackHit.h" class BrVirtualTrack; class BrLocalTrack: public TObject { public: BrLocalTrack(); BrLocalTrack(BrLocalTrack* loctra_p); virtual ~BrLocalTrack() { }; virtual Float_t *GetPos() {return fPos;} virtual Float_t *GetVec() {return fVec;} virtual Int_t GetNhit() {return fNhit;} virtual Int_t GetFlg() {return fFlg;} virtual Int_t GetStat() {return fStat;} virtual Float_t GetChisq() {return fChisq;} virtual Int_t GetTrackEntries() {return fTrahit.GetEntries();} virtual void RemoveTrackHit(BrTrackHit* trahit) {fTrahit.Remove(trahit);fTrahit.Compress();} virtual BrTrackHit *GetTrackHitAt(Int_t i) {return (BrTrackHit*)fTrahit.At(i);} virtual BrVirtualTrack *GetVtrack() {return fVtrack;} virtual BrTrackHit2D *GetTr1() {return fTr1;} virtual BrTrackHit2D *GetTr2() {return fTr2;} virtual void SetPos(Float_t pos[3]) {for(Int_t i=0;i<3;i++) fPos[i] = pos[i];} virtual void SetVec(Float_t vec[3]) {for(Int_t i=0;i<3;i++) fVec[i] = vec[i];} virtual void SetNhit(Int_t i) {fNhit = i;} virtual void SetFlg(Int_t i) {fFlg = i;} virtual void SetStat(Int_t i) {fStat = i;} virtual void SetChisq(Float_t x) {fChisq = x;} virtual void SetVtrack(BrVirtualTrack* vtrack) {fVtrack = vtrack;} virtual void SetTr1(BrTrackHit2D *tra2d) {fTr1 = tra2d;} virtual void SetTr2(BrTrackHit2D *tra2d) {fTr2 = tra2d;} virtual void AddVec(Float_t vec[3]) {for(Int_t i=0;i<3;i++) fVec[i] += vec[i];} virtual void IncNhit() {fNhit++;} virtual void AddTrackHit(BrTrackHit *trahit_p) {fTrahit.Add(trahit_p);} private: Float_t fPos[3]; Float_t fVec[3]; Int_t fNhit; Int_t fFlg; // tra2D* tr1; // tra2D* tr2; BrTrackHit2D *fTr1; BrTrackHit2D *fTr2; Int_t fStat; Float_t fChisq; // TBrDataContainer* fTrahit; TObjArray fTrahit; // gVOLU* gvolu; BrVirtualTrack* fVtrack; // Int_t numtrahit; // traHIT* trahit[maxloctrahit]; public: friend ostream& operator<< (ostream& os,BrLocalTrack* loctra); public: ClassDef(BrLocalTrack,1) // PHOBOS hit data class }; #endif