00001 #ifndef __PXXIEventPayload__H__ 00002 #define __PXXIEventPayload__H__ 00003 00033 00034 #include "PXXITriggerRequestPayload.h" 00035 #include "PXXIReadoutDataPayload.h" 00036 00037 class PXXIEventPayload 00038 { 00039 public: 00040 00044 virtual ~PXXIEventPayload(){} 00045 //------------------------------------------------------------------------------ 00046 00053 virtual Int32b_t GetEventType() const = 0; 00054 //------------------------------------------------------------------------------ 00055 00063 virtual Int32b_t GetEventConfigID() const = 0; 00064 //------------------------------------------------------------------------------ 00065 00073 virtual Int32b_t GetRunNumber() const = 0; 00074 //------------------------------------------------------------------------------ 00075 00081 virtual Int32b_t GetEventUID() const = 0; 00082 //------------------------------------------------------------------------------ 00083 00090 virtual const PXXITriggerRequestPayload &GetTriggerRequestPayload() const = 0; 00091 //------------------------------------------------------------------------------ 00092 00100 virtual const vector<PXXIReadoutDataPayloadPtr> GetReadoutDataPayloadPtrs() const=0; 00101 //------------------------------------------------------------------------------ 00102 00103 protected: 00104 00109 PXXIEventPayload(){} 00110 //------------------------------------------------------------------------------ 00111 00112 ClassDef(PXXIEventPayload, 0) // interface to EventPayload 00113 00114 }; 00115 00116 #ifdef __USEROOT__ // compile with ROOT 00117 typedef PXXIEventPayload* PXXIEventPayloadPtr; 00118 #else // compile with IceTray 00119 typedef shared_ptr<PXXIEventPayload> PXXIEventPayloadPtr; 00120 #endif 00121 00122 #endif // __PXXIEventPayload__H__