00001 #ifndef __PXXISourceID__H__ 00002 #define __PXXISourceID__H__ 00003 00013 00014 #include "payloads-unpacker/base/PXXTypes.h" 00015 #include "payloads-unpacker/base/PXXPointerCasts.h" 00016 00017 class PXXISourceID 00018 { 00019 public: 00020 00021 /* 00022 * Destructor 00023 */ 00024 virtual ~PXXISourceID() {} 00025 //------------------------------------------------------------------------------ 00026 00030 virtual Int32b_t GetSourceID() const = 0; 00031 //------------------------------------------------------------------------------ 00032 00033 protected: 00034 00035 /* 00036 * Constructor. Must be instanciated as an attribute class object so that 00037 * it should be protected. 00038 */ 00039 PXXISourceID() {} 00040 //------------------------------------------------------------------------------ 00041 00042 private: 00043 00044 ClassDef(PXXISourceID, 0) // interface of SourceID 00045 }; 00046 00047 #ifdef __USEROOT__ // compile with ROOT 00048 typedef PXXISourceID* PXXISourceIDPtr; 00049 #else // compile with IceTray 00050 typedef shared_ptr<PXXISourceID> PXXISourceIDPtr; 00051 #endif 00052 00053 #endif // __PXXISourceID__H__