00001 #ifndef __PXXReadoutDataPayload__H__ 00002 #define __PXXReadoutDataPayload__H__ 00003 00011 00012 #include "payloads-unpacker/payloads/PXXIReadoutDataPayload.h" 00013 #include "payloads-unpacker/payloads/PXXReadoutDataRecord.h" 00014 #include "payloads-unpacker/payloads/PXXVCompositePayload.h" 00015 #include "payloads-unpacker/payloads/PXXISourceID.h" 00016 #include "payloads-unpacker/payloads/PXXIUTCTime.h" 00017 00018 class PXXReadoutDataPayload : public PXXVCompositePayload, 00019 public PXXIReadoutDataPayload 00020 { 00021 public: 00022 00023 SET_LOGGER("PXXReadoutDataPayload"); 00024 00028 PXXReadoutDataPayload(const PXXPayloadEnvelope &envelope); 00029 //------------------------------------------------------------------------------ 00030 00034 PXXReadoutDataPayload(); 00035 //------------------------------------------------------------------------------ 00036 00040 virtual ~PXXReadoutDataPayload(); 00041 //------------------------------------------------------------------------------ 00042 00047 virtual Int32b_t GetTriggerType() const { return -1; } 00048 //------------------------------------------------------------------------------ 00049 00054 virtual Int32b_t GetTriggerConfigID() const { return -1; } 00055 //------------------------------------------------------------------------------ 00056 00061 virtual const PXXISourceID& GetSourceID(); 00062 //------------------------------------------------------------------------------ 00063 00068 virtual const PXXIUTCTime &GetFirstTimeUTC(); 00069 //------------------------------------------------------------------------------ 00070 00075 virtual const PXXIUTCTime &GetLastTimeUTC(); 00076 //------------------------------------------------------------------------------ 00077 00081 virtual Bool8b_t IsLastPayloadOfGroup() const; 00082 //------------------------------------------------------------------------------ 00083 00089 virtual Int32b_t GetRequestUID() const; 00090 //------------------------------------------------------------------------------ 00091 00102 virtual Short16b_t GetReadoutDataPayloadNumber() const; 00103 //------------------------------------------------------------------------------ 00104 00108 virtual void WriteProperties(); 00109 //------------------------------------------------------------------------------ 00110 00111 private: 00112 00123 virtual Int32b_t ReadData(); 00124 //------------------------------------------------------------------------------ 00125 00126 private: 00127 00128 PXXReadoutDataRecord fTReadoutDataRecord_; // readout data record 00129 00130 00131 ClassDef(PXXReadoutDataPayload, 0) // interface of payloads 00132 00133 }; 00134 00135 #ifdef __USEROOT__ // compile with ROOT 00136 typedef PXXReadoutDataPayload* PXXReadoutDataPayloadPtr; 00137 #else // compile with IceTray 00138 typedef shared_ptr<PXXReadoutDataPayload> PXXReadoutDataPayloadPtr; 00139 #endif 00140 00141 #endif // __PXXReadoutDataPayload__H__