00001 #ifndef PXXEngineeringFormatTriggerPayload__H__ 00002 #define PXXEngineeringFormatTriggerPayload__H__ 00003 00010 00011 #include "payloads-unpacker/payloads/PXXVTriggerPayload.h" 00012 #include "payloads-unpacker/payloads/PXXIHitPayload.h" 00013 #include "payloads-unpacker/payloads/PXXDOMID8B.h" 00014 #include "payloads-unpacker/payloads/PXXSourceID4B.h" 00015 #include "payloads-unpacker/payloads/PXXDomHitEngineeringFormatPayload.h" 00016 00017 class PXXEngineeringFormatTriggerPayload : public PXXVTriggerPayload 00018 { 00019 public: 00020 00021 SET_LOGGER("PXXEngineeringFormatTriggerPayload"); 00022 00023 00027 PXXEngineeringFormatTriggerPayload(const PXXPayloadEnvelope &envelope); 00028 //------------------------------------------------------------------------------ 00029 00032 PXXEngineeringFormatTriggerPayload(); 00033 //------------------------------------------------------------------------------ 00034 00038 virtual ~PXXEngineeringFormatTriggerPayload(); 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 00063 virtual void WriteProperties(); 00064 //------------------------------------------------------------------------------ 00065 00066 protected: 00067 00071 virtual const PXXDomHitEngineeringFormatPayload& 00072 GetDomHitEngineeringFormatPayload() const 00073 { return fTDomHitEngFormatPayload_; } 00074 //------------------------------------------------------------------------------ 00075 00076 private: 00077 00087 virtual Int32b_t ReadData(); 00088 //------------------------------------------------------------------------------ 00089 00090 00091 private: 00092 00093 Int32b_t fITriggerConfigID_; // ID of the trigger 00094 PXXSourceID4B fTSourceID_; // ID of the Source 00095 PXXDomHitEngineeringFormatPayload fTDomHitEngFormatPayload_; // sub-eng payload 00096 00097 ClassDef(PXXEngineeringFormatTriggerPayload, 0) // interface to HitPayload 00098 00099 }; 00100 00101 #ifdef __USEROOT__ // compile with ROOT 00102 typedef PXXEngineeringFormatTriggerPayload* PXXEngineeringFormatTriggerPayloadPtr; 00103 #else // compile with IceTray 00104 typedef shared_ptr<PXXEngineeringFormatTriggerPayload> PXXEngineeringFormatTriggerPayloadPtr; 00105 #endif 00106 00107 #endif // PXXEngineeringFormatTriggerPayload_H