00001 /********************************************************************************/ 00002 /* CandCalDetSI */ 00003 /* A class to hold supplemental information from CalDet data */ 00004 /* Tricia Vahle & Mike Kordosky */ 00005 /* January 8, 2002 */ 00006 /********************************************************************************/ 00007 00008 #ifndef CANDCALDETSI_H 00009 #define CANDCALDETSI_H 00010 00011 #include <vector> 00012 #include <map> 00013 #include "Candidate/CandBase.h" 00014 #include "RawData/RawChannelId.h" 00015 00016 class AlgHandle; 00017 class CandContext; 00018 class CandCalDetSIHandle; 00019 00020 class CandCalDetSI : public CandBase 00021 { 00022 friend class CandCalDetSIHandle; 00023 00024 public: 00025 static CandCalDetSIHandle MakeCandidate(AlgHandle &ah, CandContext &cx); 00026 //Makes the CandCalDetSI object and passes back a handle to it 00027 CandCalDetSI(); //Default Constructor 00028 00029 private: 00030 Bool_t fIsSnarlRecord; //Did we find a snarl? 00031 Bool_t fTriggerPMT; //Did the triggerPMT fire? 00032 Bool_t fCosmicCnt; //Did the CosmicCnt fire? 00033 Bool_t fFafErr; //Faf errors? 00034 Bool_t fSparseErr; //sparse errors? 00035 Int_t fSnarl; //snarl number 00036 Int_t fTrigSource; //trigger source 00037 Int_t fKovADC1; //Cerenkov ADC value 00038 Int_t fKovTimeStamp1; //Cerenkov TimeStamp 00039 Int_t fKovADC2; 00040 Int_t fKovTimeStamp2; 00041 Int_t fKovADC3; 00042 Int_t fKovTimeStamp3; 00043 Int_t fSnarlTimeFrame; //Event TimeFrame 00044 ULong_t fSnarlMinTimeStamp; //event minimum timetimestamp 00045 ULong_t fSnarlMaxTimeStamp; //event maximum timestamp 00046 Int_t fTofTDC0; //TOF tdc0 value 00047 Int_t fTofTDC1; //TOF tdc1 value 00048 Int_t fTofTDC2; //TOF tdc2 value 00049 Int_t fTofADC0; //TOF ADC0 value (not always present) 00050 //______Context depends on the run 00051 Int_t fTofADC1; //TOF ADC1 value (not always present) 00052 //Used for tof system testing 00053 Int_t fTofADC2; //TOF ADC1 value (not always present) 00054 //Used for tof system testing 00055 Int_t fTofADCTimeStamp0; //tof adc timestamps 00056 Int_t fTofADCTimeStamp1; 00057 Int_t fTofADCTimeStamp2; 00058 00059 Int_t fTofTimeStamp; //time stamp of TOF readout 00060 Int_t fTickSinceLast; //Ticks since last snarl 00061 std::vector<RawChannelId> fDeadChips;//|| //vector holding dead chips 00062 std::map<RawChannelId, Int_t> fUnderShootChips; //map listing undershoot channels 00063 00064 RawChannelId fCerenkovChannel1; 00065 RawChannelId fCerenkovChannel2; 00066 RawChannelId fCerenkovChannel3; 00067 00068 // fTriggerORBits; 00069 // each bit represents the status of a VARC LEMO input 00070 // bit 0: crate 0, varc0 00071 // bit 1: crate 0, varc1 00072 // ... 00073 // bit 5: crate 1, varc2 00074 UInt_t fTriggerORBits; 00075 Bool_t fTriggerOROK; 00076 00077 protected: 00078 CandCalDetSI(AlgHandle &ah); //Constructor 00079 CandCalDetSI(AlgHandle &ah, CandHandle &ch, CandContext &cx); //Constructor 00080 CandCalDetSI(const CandCalDetSI &ccdsi); //Constructor 00081 virtual ~CandCalDetSI(); //Destructor 00082 00083 virtual void CreateLocalHandle(); //Handle Creator 00084 virtual CandCalDetSI *Dup() const; //Makes a duplicate CandCalDetSI 00085 00086 ClassDef(CandCalDetSI, 5) //Macro to rootify this class 00087 00088 }; 00089 #endif //CandCalDetSI_H 00090 00091 00092 00093 00094 00095 00096
1.3.9.1