00001 00002 // $Id: CellHit.h,v 1.10 2008/09/03 10:35:47 niki Exp $ 00003 // 00004 // Definition of calibrated Cell Hit 00005 // 00006 // shanahan@fnal.gov 00007 // 00009 00010 #ifndef CELLHIT_H 00011 #define CELLHIT_H 00012 00013 #include "TObject.h" 00014 00015 namespace recobase { 00016 00018 typedef enum ECellHit { 00019 kRAW = 0, 00020 kPE = 1, 00021 kPEAC= 2, 00022 kMIP = 3, 00023 kTNS = 8, 00024 kTT0 = 9, 00025 kTTrans = 10 00026 } CellHit_t; 00027 00028 00031 class CellHit : public TObject 00032 { 00033 00034 public: 00035 CellHit(); // Default constructor 00036 CellHit(unsigned int channel, unsigned int adc, unsigned int tdc); 00037 ~CellHit(); 00038 00040 void SetADC(unsigned short adc){fADC=adc; fStatus|=1<<kRAW;}; 00041 00043 void SetPE(float pe){fPE=pe; fStatus|=1<<kPE;}; 00044 00046 void SetPEAC(float pe){fPEAC=pe; fStatus|=1<<kPEAC;}; 00047 00049 void SetMIP(float mip){fMIP=mip; fStatus|=1<<kMIP;}; 00050 00052 void SetTDC(unsigned short tdc){fTDC=tdc; fStatus|=1<<kRAW;}; 00053 00055 void SetTNS(double ns){fTNS=ns; fStatus|=1<<kTNS;}; 00056 00058 void SetTT0(double t){fTT0=t; fStatus|=1<<kTT0;}; 00059 00061 void SetTTrans(double t){fTTrans=t; fStatus|=1<<kTTrans;}; 00062 00063 00064 bool ADC(unsigned short &a) ; 00065 00071 bool PE(float &a); 00072 bool PEAC(float &a); 00073 bool MIP(float &a); 00074 00075 bool TDC(unsigned short &t) ; 00076 bool TNS(double &t); 00077 bool TT0(double &t); 00078 bool TTrans(double &t); 00079 00080 unsigned int Status() {return fStatus;}; 00081 unsigned int Channel() {return fChannel;}; 00082 00083 //added by steve for temp use by cluster code 00084 00085 void SetCell (unsigned int cell) {fCell=cell;} 00086 void SetPlane(unsigned int plane){fPlane=plane;} 00087 unsigned int Cell() const{return fCell;} 00088 unsigned int Plane()const{return fPlane;} 00089 00090 // N.S 08/25/08 00091 00092 void SetZCPos (double zcpos) {fZCPos = zcpos;} 00093 void SetTCpos (double tcpos) {fTCPos = tcpos;} 00094 void SetPLVC (unsigned int plvc){fPLVC = plvc;} 00095 00096 double ZCPos() const {return fZCPos ;} 00097 double TCPos() const {return fTCPos ;} 00098 unsigned int PLVC () const {return fPLVC;} 00099 00100 private: 00101 00102 unsigned short fADC; 00103 float fPE; 00104 float fPEAC; 00105 float fMIP; 00106 00107 unsigned short fTDC; 00108 double fTNS; 00109 double fTT0; 00110 double fTTrans; 00111 00112 unsigned short fStatus; 00113 unsigned int fChannel; 00114 00115 unsigned int fCell; 00116 unsigned int fPlane; 00117 00118 // N.S 08/25/08 00119 00120 double fZCPos; 00121 double fTCPos; 00122 unsigned int fPLVC; 00123 00124 ClassDef(CellHit, 1) // Calibrated Cell Hit 00125 }; 00126 } 00127 00128 #endif // CELLHIT_H 00129
1.3.5