00001 #ifndef PXXReadoutRequestElementRecord__H__ 00002 #define PXXReadoutRequestElementRecord__H__ 00003 00010 00011 #include "payloads-unpacker/payloads/PXXVRecord.h" 00012 #include "payloads-unpacker/payloads/PXXIReadoutRequestElement.h" 00013 #include "payloads-unpacker/payloads/PXXSourceID4B.h" 00014 #include "payloads-unpacker/payloads/PXXDOMID8B.h" 00015 #include "payloads-unpacker/payloads/PXXUTCTime8B.h" 00016 00017 class PXXReadoutRequestElementRecord : public PXXVRecord, 00018 public PXXIReadoutRequestElement 00019 { 00020 public: 00021 00022 SET_LOGGER("PXXReadoutRequestElementRecord"); 00023 00027 PXXReadoutRequestElementRecord(); 00028 //------------------------------------------------------------------------------ 00029 00033 virtual ~PXXReadoutRequestElementRecord(); 00034 //------------------------------------------------------------------------------ 00035 00040 virtual Int32b_t GetReadoutType() const; 00041 //------------------------------------------------------------------------------ 00042 00046 virtual const PXXISourceID& GetSourceID(); 00047 //------------------------------------------------------------------------------ 00048 00052 virtual const PXXIUTCTime &GetFirstTimeUTC(); 00053 //------------------------------------------------------------------------------ 00054 00058 virtual const PXXIUTCTime &GetLastTimeUTC(); 00059 //------------------------------------------------------------------------------ 00060 00064 virtual const PXXIDOMID& GetDOMID(); 00065 //------------------------------------------------------------------------------ 00066 00070 virtual void WriteProperties(); 00071 //------------------------------------------------------------------------------ 00072 00073 private: 00074 00085 virtual Int32b_t ReadData(); 00086 //------------------------------------------------------------------------------ 00087 00088 private: 00089 00090 Int32b_t fIReadoutType_; // type of the trigger 00091 PXXSourceID4B fTSourceID_; // ID of the Source 00092 PXXUTCTime8B fTFirstTimeUTC_; // start of the time window 00093 PXXUTCTime8B fTLastTimeUTC_; // last of the time window 00094 PXXDOMID8B fTDOMID_; // ID of the Source 00095 00096 ClassDef(PXXReadoutRequestElementRecord, 0) // interface to HitPayload 00097 00098 }; 00099 00100 #ifdef __USEROOT__ // compile with ROOT 00101 typedef PXXReadoutRequestElementRecord* PXXReadoutRequestElementRecordPtr; 00102 #else // compile with IceTray 00103 typedef shared_ptr<PXXReadoutRequestElementRecord> PXXReadoutRequestElementRecordPtr; 00104 #endif 00105 00106 #endif // PXXReadoutRequestElementRecord_H