00001 #ifndef __PXXIDOMID__H__ 00002 #define __PXXIDOMID__H__ 00003 00013 00014 #include "payloads-unpacker/base/PXXTypes.h" 00015 #include "payloads-unpacker/base/PXXPointerCasts.h" 00016 #include <string> 00017 using namespace std; 00018 00019 class PXXIDOMID 00020 { 00021 public: 00022 00023 /* 00024 * Destructor 00025 */ 00026 virtual ~PXXIDOMID() {} 00027 //------------------------------------------------------------------------------ 00028 00032 virtual Long64b_t GetDomIDAsLong64b() const = 0; 00033 //------------------------------------------------------------------------------ 00034 00039 virtual string GetDomIDAsString() const = 0; 00040 //------------------------------------------------------------------------------ 00041 00042 protected: 00043 00044 /* 00045 * Constructor. Must be instanciated as an attribute class object so that 00046 * it should be protected. 00047 */ 00048 PXXIDOMID(); 00049 //------------------------------------------------------------------------------ 00050 00051 private: 00052 00053 ClassDef(PXXIDOMID, 0) // interface of SourceID 00054 }; 00055 00056 #ifdef __USEROOT__ // compile with ROOT 00057 typedef PXXIDOMID* PXXIDOMIDPtr; 00058 #else // compile with IceTray 00059 typedef shared_ptr<PXXIDOMID> PXXIDOMIDPtr; 00060 #endif 00061 00062 #endif // __PXXIDOMID__H__