00001 #ifndef __PXXIReadoutRequestElement__H__ 00002 #define __PXXIReadoutRequestElement__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 #include "payloads-unpacker/payloads/PXXIDOMID.h" 00018 #include "payloads-unpacker/payloads/PXXIUTCTime.h" 00019 00020 class PXXIReadoutRequestElement 00021 { 00022 public: 00023 00027 virtual ~PXXIReadoutRequestElement(){} 00028 //------------------------------------------------------------------------------ 00029 00034 virtual Int32b_t GetReadoutType() const = 0; 00035 //------------------------------------------------------------------------------ 00036 00040 virtual const PXXIDOMID& GetDOMID() = 0; 00041 //------------------------------------------------------------------------------ 00042 00046 virtual const PXXISourceID& GetSourceID() = 0; 00047 //------------------------------------------------------------------------------ 00048 00052 virtual const PXXIUTCTime &GetFirstTimeUTC() = 0; 00053 //------------------------------------------------------------------------------ 00054 00058 virtual const PXXIUTCTime &GetLastTimeUTC() = 0; 00059 //------------------------------------------------------------------------------ 00060 00061 protected: 00062 00067 PXXIReadoutRequestElement() {} 00068 //------------------------------------------------------------------------------ 00069 00070 private: 00071 00072 ClassDef(PXXIReadoutRequestElement, 0) // interface to HitPayload 00073 00074 }; 00075 00076 #ifdef __USEROOT__ // compile with ROOT 00077 typedef PXXIReadoutRequestElement* PXXIReadoutRequestElementPtr; 00078 #else // compile with IceTray 00079 typedef shared_ptr<PXXIReadoutRequestElement> PXXIReadoutRequestElementPtr; 00080 #endif 00081 00082 #endif // __PXXIReadoutRequestElement__H__