00001
00002
00003
00004
00005
00006
00007 #ifndef RECBTOFHIT_H
00008 #define RECBTOFHIT_H
00009 #include "GaudiKernel/ContainedObject.h"
00010 #include "GaudiKernel/ObjectVector.h"
00011 #include "EventModel/EventModel.h"
00012 #include "Identifier/Identifier.h"
00013
00014
00015 extern const CLID &CLID_RecBTofHit;
00016
00017 class RecBTofHit : virtual public ContainedObject {
00018 public:
00019 RecBTofHit();
00020 virtual ~RecBTofHit(){}
00021 virtual const CLID& clID() const { return RecBTofHit::classID();}
00022 static const CLID& classID() { return CLID_RecBTofHit; }
00023 public:
00024 int getId() const { return _Id; }
00025 int getTrk() const { return _trk; }
00026 Identifier getTofID()const { return _tofID; }
00027 int getMod() const { return _mod; }
00028 int getQual() const { return _qual; }
00029 double getZHit() const { return _zHit;}
00030 double getdZHit() const { return _dzHit;}
00031 double getZTDC() const { return _zTDC;}
00032 double getZADC() const { return _zADC;}
00033 double getPhHit() const { return _phHit;}
00034 double getThTrk() const { return _thTrk;}
00035 double getPhTrk() const { return _phTrk;}
00036 double getPh() const { return _ph;}
00037 double getP() const { return _p;}
00038 double getPath() const { return _path; }
00039 double getTime() const { return _time; }
00040 double getTof() const { return _tof; }
00041 double getETof() const { return _etof; }
00042 double getExpTof(int im) const { return _exptof[im]; }
00043 double getTt1() const { return _tt1; }
00044 double getTt2() const { return _tt2; }
00045 double getETt1() const { return _ett1; }
00046 double getETt2() const { return _ett2; }
00047 double getTm1() const { return _tm1; }
00048 double getTm2() const { return _tm2; }
00049 double getETm1() const { return _etm1; }
00050 double getETm2() const { return _etm2; }
00051 double getTr1() const { return _tr1; }
00052 double getTr2() const { return _tr2; }
00053 double getEtr1() const { return _etr1; }
00054 double getEtr2() const { return _etr2; }
00055 double getQ1() const { return _q1; }
00056 double getQ2() const { return _q2; }
00057 double getEQ1() const { return _eq1; }
00058 double getEQ2() const { return _eq2; }
00059
00060 public:
00061 void setId(int id){ _Id=id; }
00062 void setTrk(int trk){ _trk=trk; }
00063 void setTofID(Identifier tofID){ _tofID=tofID; }
00064 void setMod(int mod){ _mod=mod; }
00065 void setQual(int qual){ _qual=qual; }
00066 void setZHit(double zHit){ _zHit=zHit; }
00067 void setdZHit(double dzHit){ _dzHit=dzHit; }
00068 void setZTDC(double zTDC){ _zTDC=zTDC; }
00069 void setZADC(double zADC) { _zADC=zADC;}
00070 void setPhHit(double phHit){ _phHit=phHit; }
00071 void setThTrk(double thTrk){ _thTrk=thTrk; }
00072 void setPhTrk(double phTrk){ _phTrk=phTrk; }
00073 void setPh(double ph){ _ph=ph; }
00074 void setP(double p){ _p=p; }
00075 void setPath(double path){ _path=path; }
00076 void setTime(double time){ _time=time; }
00077 void setTof(double tof){ _tof=tof; }
00078 void setETof(double etof){ _etof=etof; }
00079 void setExpTof(double exptof,int im){ _exptof[im]=exptof; }
00080 void setTt1(double tt1){ _tt1=tt1; }
00081 void setTt2(double tt2){ _tt2=tt2; }
00082 void setETt1(double ett1){ _ett1=ett1; }
00083 void setETt2(double ett2){ _ett2=ett2; }
00084 void setTm1(double tm1){ _tm1=tm1; }
00085 void setTm2(double tm2){ _tm2=tm2; }
00086 void setETm1(double etm1){ _etm1=etm1; }
00087 void setETm2(double etm2){ _etm2=etm2; }
00088 void setTr1(double tr1){ _tr1=tr1; }
00089 void setTr2(double tr2){ _tr2=tr2; }
00090 void setETr1(double etr1){ _etr1=etr1; }
00091 void setETr2(double etr2){ _etr2=etr2; }
00092 void setQ1(double q1){ _q1=q1; }
00093 void setQ2(double q2){ _q2=q2; }
00094 void setEQ1(double eq1){ _eq1=eq1; }
00095 void setEQ2(double eq2){ _eq2=eq2; }
00096
00097 public:
00098 bool operator<(const RecBTofHit& rhs) const {
00099
00100 return (_q1+_q2)<(rhs.getQ1()+rhs.getQ2());
00101 }
00102 bool operator>(const RecBTofHit& rhs) const {
00103
00104 return (_q1+_q2)>(rhs.getQ1()+rhs.getQ2());
00105 }
00106
00107 bool operator<(RecBTofHit* rhs) const{
00108
00109 return (_q1+_q2)<(rhs->getQ1()+rhs->getQ2());
00110 }
00111 bool operator>(RecBTofHit* rhs) const{
00112 std::cout<<"be call once"<<std::endl;
00113 return (_q1+_q2)>(rhs->getQ1()+rhs->getQ2());
00114 }
00115 public:
00116 const RecBTofHit* next() const { return m_next;}
00117 void setnext(RecBTofHit* next) { m_next=next;}
00118 private:
00119 RecBTofHit* m_next;
00120 private:
00121 Identifier _tofID;
00122 int _Id,_mod,_qual,_trk;
00123 double _zHit,_zTDC,_zADC,_dzHit,_phHit,_thTrk,_phTrk,_ph,_p,_path,_time;
00124 double _tof,_etof;
00125 double _exptof[5];
00126 double _tt1,_tt2,_ett1,_ett2;
00127 double _tm1,_tm2,_etm1,_etm2;
00128 double _tr1,_tr2,_etr1,_etr2;
00129 double _q1,_q2,_eq1,_eq2;
00130 };
00131 typedef ObjectVector<RecBTofHit> RecBTofHitCol;
00132
00133 #endif