00001 #ifndef __PXXITriggerPayload__H__ 00002 #define __PXXITriggerPayload__H__ 00003 00013 00014 #include "payloads-unpacker/base/PXXTypes.h" 00015 #include "payloads-unpacker/base/PXXPointerCasts.h" 00016 #include "payloads-unpacker/payloads/PXXISourceID.h" 00017 00018 class PXXITriggerPayload 00019 { 00020 public: 00021 00025 virtual ~PXXITriggerPayload(); 00026 //------------------------------------------------------------------------------ 00027 00031 virtual Int32b_t GetTriggerType() const = 0; 00032 //------------------------------------------------------------------------------ 00033 00037 virtual Int32b_t GetTriggerConfigID() const = 0; 00038 //------------------------------------------------------------------------------ 00039 00043 virtual const PXXISourceID& GetSourceID() = 0; 00044 //------------------------------------------------------------------------------ 00045 00046 protected: 00047 00052 PXXITriggerPayload(); 00053 //------------------------------------------------------------------------------ 00054 00055 private: 00056 00057 ClassDef(PXXITriggerPayload, 0) // interface of trigger payload 00058 00059 }; 00060 00061 #ifdef __USEROOT__ // compile with ROOT 00062 typedef PXXITriggerPayload* PXXITriggerPayloadPtr; 00063 #else // compile with IceTray 00064 typedef shared_ptr<PXXITriggerPayload> PXXITriggerPayloadPtr; 00065 #endif 00066 00067 #endif // __PXXITriggerPayload__H__