00001 00002 // DQRawDigits 00003 // =========== 00004 // This class monitors the Raw Digit data blocks 00005 // and records busy electronics and readout errors. 00006 00007 #ifndef DQRAWDIGITS_H 00008 #define DQRAWDIGITS_H 00009 00010 #include "RawData/RawDaqHeader.h" 00011 #include "RawData/RawDaqSnarlHeader.h" 00012 #include "RawData/RawDaqHeaderBlock.h" 00013 #include "RawData/RawSnarlHeaderBlock.h" 00014 #include "RawData/RawDigitDataBlock.h" 00015 #include "RawReadout.h" 00016 00017 #include "TObject.h" 00018 #include "TObjArray.h" 00019 00020 class DQRawDigits : public TObject 00021 { 00022 00023 public: 00024 DQRawDigits(); 00025 DQRawDigits(const DQRawDigits& rhs); 00026 ~DQRawDigits(); 00027 00028 void Process(RawDaqHeader* hdr); 00029 void Process(RawDaqSnarlHeader* hdr); 00030 void Process(RawDaqHeaderBlock* rdb); 00031 void Process(RawSnarlHeaderBlock* rdb); 00032 void Process(RawDigitDataBlock* rdb); 00033 00034 Int_t GetTime() const { return fTime; } 00035 Int_t GetTriggerTime() const { return fTriggerTime; } 00036 Int_t GetSnarl() const { return fSnarl; } 00037 Int_t GetPreTriggerDigits() const { return fPreTriggerDigits; } 00038 Int_t GetPostTriggerDigits() const { return fPostTriggerDigits; } 00039 Int_t GetSnarlMultiplicity() const { return fSnarlMultiplicity; } 00040 Int_t GetSnarlPassFail() const { return fSnarlPassFail; } 00041 00042 Int_t GetLast() const; 00043 TObject* At(Int_t i) const; 00044 00045 private: 00046 00047 Int_t fTime; 00048 Int_t fBaseTime; 00049 Int_t fTriggerTime; 00050 Int_t fTriggerBaseTime; 00051 00052 Int_t fSnarl; 00053 Int_t fPreTriggerDigits; 00054 Int_t fPostTriggerDigits; 00055 Int_t fSnarlMultiplicity; 00056 Int_t fSnarlPassFail; 00057 00058 RawReadout* fRawReadout; 00059 00060 TObjArray* fRawDigitsList; 00061 00062 TObjArray* fReadoutErrorList; 00063 TObjArray* fReadoutBusyList; 00064 00065 ClassDef(DQRawDigits,1); 00066 00067 }; 00068 00069 #endif
1.3.9.1