00001 00002 00003 // Program name: CDPIDInfo.h 00004 // 00005 // Package: CalDetTracker 00006 // 00007 // Purpose: Writing out CalDet PID info 00008 // 00009 // Contact: Chris Smith, Ryan Nichol, Leo Jenner or Jeff Hartnell 00011 00012 #ifndef CDPIDINFO_H 00013 #define CDPIDINFO_H 00014 00015 #include "TObject.h" 00016 00017 //...................................................................... 00018 00019 class CDPIDInfo : public TObject 00020 { 00021 public: 00022 00023 CDPIDInfo(); 00024 ~CDPIDInfo(); 00025 00026 Bool_t IsEmpty() {return fisempty;} //was there a CalDetSI object 00027 Bool_t GetTriggerPMT() {return fTriggerPMT;}//Did the triggerPMT fire? 00028 Bool_t GetFafErr() {return fFafErr;} //Faf errors? 00029 Bool_t GetSparseErr() {return fSparseErr;} //sparse errors? 00030 Int_t GetTrigSource() {return fTrigSource;} //trigger source 00031 Int_t GetKovADC1() {return fKovADC1;} //Cerenkov ADC value 00032 Int_t GetKovTimeStamp1() {return fKovTimeStamp1;}//Cerenkov TimeStamp 00033 Int_t GetKovADC2() {return fKovADC2;} //Cerenkov ADC value 00034 Int_t GetKovTimeStamp2() {return fKovTimeStamp2;}//Cerenkov TimeStamp 00035 Int_t GetKovADC3() {return fKovADC3;} //Cerenkov ADC value 00036 Int_t GetKovTimeStamp3() {return fKovTimeStamp3;}//Cerenkov TimeStamp 00037 Int_t GetSnarlTimeFrame(){return fSnarlTimeFrame;}//Cerenkov timeframe 00038 ULong_t GetSnarlMinTimeStamp() {return fSnarlMinTimeStamp;}//min timestamp 00039 ULong_t GetSnarlMaxTimeStamp() {return fSnarlMaxTimeStamp;}//max timestamp 00040 Int_t GetTofTDC0() {return fTofTDC0;} //TOF tdc0 value 00041 Int_t GetTofTDC1() {return fTofTDC1;} //TOF tdc1 value 00042 Int_t GetTofTDC2() {return fTofTDC2;} //TOF tdc2 value 00043 Int_t GetTofADC0() {return fTofADC0;} //TOF adc0 value 00044 Int_t GetTofADC1() {return fTofADC1;} //TOF adc1 value 00045 Int_t GetTofADC2() {return fTofADC2;} //TOF adc2 value 00046 Int_t GetTofADCTimeStamp0() {return fTofADCTimeStamp0;} //tof adc timestamsp 00047 Int_t GetTofADCTimeStamp1() {return fTofADCTimeStamp1;} //tof adc timestamps 00048 Int_t GetTofADCTimeStamp2() {return fTofADCTimeStamp2;} //tof adc timestamps 00049 Int_t GetTofTimeStamp() {return fTofTimeStamp;} 00050 Int_t GetTickSinceLast() {return fTickSinceLast;} //Ticks since last snarl 00051 00052 void SetIsEmpty(Bool_t isempty) {fisempty=isempty;} 00053 void SetTriggerPMT(Bool_t tpmt) {fTriggerPMT=tpmt;} 00054 void SetFafErr(Bool_t faf) {fFafErr=faf;} 00055 void SetSparseErr(Bool_t serr) {fSparseErr=serr;} 00056 void SetTrigSource(Int_t trigs) {fTrigSource=trigs;} 00057 void SetKovADC1(Int_t kadc) {fKovADC1=kadc;} 00058 void SetKovTimeStamp1(Int_t kts) {fKovTimeStamp1=kts;} 00059 void SetKovADC2(Int_t kadc) {fKovADC2=kadc;} 00060 void SetKovTimeStamp2(Int_t kts) {fKovTimeStamp2=kts;} 00061 void SetKovADC3(Int_t kadc) {fKovADC3=kadc;} 00062 void SetKovTimeStamp3(Int_t kts) {fKovTimeStamp3=kts;} 00063 void SetSnarlTimeFrame(Int_t ktf) {fSnarlTimeFrame=ktf;} 00064 void SetSnarlMinTimeStamp(ULong_t sts) {fSnarlMinTimeStamp=sts;} 00065 void SetSnarlMaxTimeStamp(ULong_t sts) {fSnarlMaxTimeStamp=sts;} 00066 void SetTofTDC0(Int_t ttdc) {fTofTDC0=ttdc;} 00067 void SetTofTDC1(Int_t ttdc) {fTofTDC1=ttdc;} 00068 void SetTofTDC2(Int_t ttdc) {fTofTDC2=ttdc;} 00069 void SetTofADC0(Int_t tadc) {fTofADC0=tadc;} 00070 void SetTofADC1(Int_t tadc) {fTofADC1=tadc;} 00071 void SetTofADC2(Int_t tadc) {fTofADC2=tadc;} 00072 void SetTofADCTimeStamp0(Int_t ts) {fTofADCTimeStamp0=ts;} 00073 void SetTofADCTimeStamp1(Int_t ts) {fTofADCTimeStamp1=ts;} 00074 void SetTofADCTimeStamp2(Int_t ts) {fTofADCTimeStamp2=ts;} 00075 void SetTofTimeStamp(Int_t ts) {fTofTimeStamp=ts;} 00076 void SetTickSinceLast(Int_t ticks) {fTickSinceLast=ticks;} 00077 00078 //these are the getters and setters for PID variables 00079 UInt_t GetPIDType() const {return fPIDType;} 00080 void SetPIDType(UInt_t p){fPIDType=p;} 00081 Bool_t NoOverlap() const {return fNoOverlap;} 00082 Bool_t GetNoOverlap() const {return fNoOverlap;}//same as above 00083 void SetNoOverlap(Bool_t v) {fNoOverlap=v;} 00084 Bool_t InCERTime() const {return fInCERTime;} 00085 Bool_t GetInCERTime() const {return fInCERTime;}//same as above 00086 void SetInCERTime(Bool_t v) {fInCERTime=v;} 00087 UInt_t GetNoOverlapBits() const {return fNoOverlapBits;} 00088 void SetNoOverlapBits(UInt_t p) {fNoOverlapBits=p;} 00089 UInt_t GetInCERTimeBits() const{return fInCERTimeBits;} 00090 void SetInCERTimeBits(UInt_t p) {fInCERTimeBits=p;} 00091 Float_t GetOLChi2() const {return fOLChi2;} 00092 void SetOLChi2(Float_t c) {fOLChi2=c;} 00093 00094 //MC variables getters and setters 00095 Float_t GetTrueParticleMomentum() const{return fTrueParticleMomentum;} 00096 void SetTrueParticleMomentum(Float_t e){fTrueParticleMomentum=e;} 00097 00098 private: 00099 00100 //these are the SI variables 00101 Bool_t fisempty; //Is there a CalDetSI object 00102 Bool_t fTriggerPMT; //Did the triggerPMT fire? 00103 Bool_t fFafErr; //Faf errors? 00104 Bool_t fSparseErr; //sparse errors? 00105 Int_t fTrigSource; //trigger source 00106 Int_t fKovADC1; //Cerenkov ADC value 00107 Int_t fKovTimeStamp1; //Cerenkov TimeStamp 00108 Int_t fKovADC2; 00109 Int_t fKovTimeStamp2; 00110 Int_t fKovADC3; 00111 Int_t fKovTimeStamp3; 00112 Int_t fSnarlTimeFrame; //Event TimeFrame 00113 ULong_t fSnarlMinTimeStamp; //event minimum timetimestamp 00114 ULong_t fSnarlMaxTimeStamp; //event maximum timestamp 00115 Int_t fTofTDC0; //TOF tdc0 value 00116 Int_t fTofTDC1; //TOF tdc1 value 00117 Int_t fTofTDC2; //TOF tdc2 value 00118 Int_t fTofADC0; //TOF ADC0 value (not always present) 00119 //______Context depends on the run 00120 Int_t fTofADC1; //TOF ADC1 value (not always present) 00121 //Used for tof system testing 00122 Int_t fTofADC2; //TOF ADC1 value (not always present) 00123 //Used for tof system testing 00124 Int_t fTofADCTimeStamp0; //tof adc timestamps 00125 Int_t fTofADCTimeStamp1; 00126 Int_t fTofADCTimeStamp2; 00127 Int_t fTofTimeStamp; //time stamp of TOF readout 00128 Int_t fTickSinceLast; //Ticks since last snarl 00129 00130 //these are the PID variables 00131 Bool_t fNoOverlap; 00132 Bool_t fInCERTime; 00133 UInt_t fPIDType; // a bit field 00134 UInt_t fNoOverlapBits; 00135 UInt_t fInCERTimeBits; 00136 Float_t fOLChi2; 00137 00138 //this is only used for MC 00139 //not really the best place for it, but... 00140 Float_t fTrueParticleMomentum; 00141 00142 //class def version 1 includes all the CalDetSI info 00143 //class def version 2 includes all the CalDetPID info as well 00144 ClassDef(CDPIDInfo,2) 00145 }; 00146 #endif //CDPIDINFO_H
1.3.9.1