00001 #ifndef __PXXTriggerRequestRecord__H__ 00002 #define __PXXTriggerRequestRecord__H__ 00003 00011 00012 #include "payloads-unpacker/payloads/PXXVRecord.h" 00013 #include "payloads-unpacker/payloads/PXXSourceID4B.h" 00014 #include "payloads-unpacker/payloads/PXXUTCTime8B.h" 00015 #include "payloads-unpacker/payloads/PXXReadoutRequestRecord.h" 00016 00017 class PXXTriggerRequestRecord : public PXXVRecord 00018 { 00019 public: 00020 00021 SET_LOGGER("PXXTriggerRequestRecord"); 00022 00026 PXXTriggerRequestRecord(); 00027 //------------------------------------------------------------------------------ 00028 00032 virtual ~PXXTriggerRequestRecord(); 00033 //------------------------------------------------------------------------------ 00034 00039 virtual Int32b_t GetUID() const; 00040 //--------------------------------------------------------- 00041 00045 virtual Int32b_t GetTriggerType() const; 00046 //------------------------------------------------------------------------------ 00047 00051 virtual Int32b_t GetTriggerConfigID() const; 00052 //------------------------------------------------------------------------------ 00053 00058 virtual const PXXISourceID& GetSourceID(); 00059 //------------------------------------------------------------------------------ 00060 00065 virtual const PXXIUTCTime &GetFirstTimeUTC(); 00066 //------------------------------------------------------------------------------ 00067 00072 virtual const PXXIUTCTime &GetLastTimeUTC(); 00073 //------------------------------------------------------------------------------ 00074 00079 virtual const PXXReadoutRequestRecord &GetReadoutRequestRecord(); 00080 //------------------------------------------------------------------------------ 00081 00085 virtual void WriteProperties(); 00086 //------------------------------------------------------------------------------ 00087 00088 private: 00089 00103 virtual Int32b_t ReadData(); 00104 //------------------------------------------------------------------------------ 00105 00106 private: 00107 00108 Int32b_t fIUID_; // uid for this specific request. 00109 Int32b_t fITriggerType_; // type of the trigger 00110 Int32b_t fITriggerConfigID_; // ID of the trigger 00111 PXXSourceID4B fTSourceID_; // ID of the Source 00112 PXXUTCTime8B fTFirstTimeUTC_; // start of the time window 00113 PXXUTCTime8B fTLastTimeUTC_; // last of the time window 00114 00115 PXXReadoutRequestRecord fTReadoutRequestRecord_; // readout request record 00116 00117 00118 ClassDef(PXXTriggerRequestRecord, 0) // interface of payloads 00119 00120 }; 00121 00122 #ifdef __USEROOT__ // compile with ROOT 00123 typedef PXXTriggerRequestRecord* PXXTriggerRequestRecordPtr; 00124 #else // compile with IceTray 00125 typedef shared_ptr<PXXTriggerRequestRecord> PXXTriggerRequestRecordPtr; 00126 #endif 00127 00128 #endif // __PXXTriggerRequestRecord__H__