00001 #ifndef __PXXTriggerRequestPayload__H__ 00002 #define __PXXTriggerRequestPayload__H__ 00003 00011 00012 #include "payloads-unpacker/payloads/PXXITriggerRequestPayload.h" 00013 #include "payloads-unpacker/payloads/PXXVCompositePayload.h" 00014 #include "payloads-unpacker/payloads/PXXTriggerRequestRecord.h" 00015 00016 class PXXTriggerRequestPayload : public PXXVCompositePayload, 00017 public PXXITriggerRequestPayload 00018 { 00019 public: 00020 00021 SET_LOGGER("PXXTriggerRequestPayload"); 00022 00026 PXXTriggerRequestPayload(const PXXPayloadEnvelope &envelope); 00027 //------------------------------------------------------------------------------ 00028 00032 PXXTriggerRequestPayload(); 00033 //------------------------------------------------------------------------------ 00034 00038 virtual ~PXXTriggerRequestPayload(); 00039 //------------------------------------------------------------------------------ 00040 00044 virtual Int32b_t GetTriggerType() const; 00045 //------------------------------------------------------------------------------ 00046 00050 virtual Int32b_t GetTriggerConfigID() const; 00051 //------------------------------------------------------------------------------ 00052 00057 virtual const PXXISourceID& GetSourceID(); 00058 //------------------------------------------------------------------------------ 00059 00064 virtual const PXXIUTCTime &GetFirstTimeUTC(); 00065 //------------------------------------------------------------------------------ 00066 00071 virtual const PXXIUTCTime &GetLastTimeUTC(); 00072 //------------------------------------------------------------------------------ 00073 00079 virtual Int_t GetUID() const; 00080 //--------------------------------------------------------- 00081 00088 virtual const PXXIReadoutRequest &GetReadoutRequest(); 00089 //--------------------------------------------------------- 00090 00094 virtual void WriteProperties(); 00095 //------------------------------------------------------------------------------ 00096 00097 private: 00098 00102 virtual Int32b_t ReadData(); 00103 //------------------------------------------------------------------------------ 00104 00105 private: 00106 00107 PXXTriggerRequestRecord fTTriggerRequestRecord_; // trigger request record 00108 00109 00110 ClassDef(PXXTriggerRequestPayload, 0) // interface of payloads 00111 00112 }; 00113 00114 #ifdef __USEROOT__ // compile with ROOT 00115 typedef PXXTriggerRequestPayload* PXXTriggerRequestPayloadPtr; 00116 #else // compile with IceTray 00117 typedef shared_ptr<PXXTriggerRequestPayload> PXXTriggerRequestPayloadPtr; 00118 #endif 00119 00120 #endif // __PXXTriggerRequestPayload__H__