00001 #ifndef __PXXIReadoutRequest__H__ 00002 #define __PXXIReadoutRequest__H__ 00003 00014 00015 #include "payloads-unpacker/base/PXXTypes.h" 00016 #include "payloads-unpacker/base/PXXPointerCasts.h" 00017 #include "payloads-unpacker/payloads/PXXISourceID.h" 00018 #include "payloads-unpacker/payloads/PXXIReadoutRequestElement.h" 00019 #include <vector> 00020 using namespace std; 00021 00022 class PXXIReadoutRequest 00023 { 00024 public: 00025 00029 virtual ~PXXIReadoutRequest(){} 00030 //------------------------------------------------------------------------------ 00031 00038 virtual Int32b_t GetTriggerUID() const = 0; 00039 //------------------------------------------------------------------------------ 00040 00050 virtual const PXXISourceID& GetSourceID() = 0; 00051 //------------------------------------------------------------------------------ 00052 00058 virtual const vector<PXXIReadoutRequestElementPtr> GetReadoutRequestElements() = 0; 00059 //------------------------------------------------------------------------------ 00060 00061 protected: 00062 00067 PXXIReadoutRequest(){} 00068 //------------------------------------------------------------------------------ 00069 00070 private: 00071 00072 ClassDef(PXXIReadoutRequest, 0) // interface to HitPayload 00073 00074 }; 00075 00076 #ifdef __USEROOT__ // compile with ROOT 00077 typedef PXXIReadoutRequest* PXXIReadoutRequestPtr; 00078 #else // compile with IceTray 00079 typedef shared_ptr<PXXIReadoutRequest> PXXIReadoutRequestPtr; 00080 #endif 00081 00082 #endif // __PXXIReadoutRequest__H__