00001
00002
00003 #ifndef XAODCORE_CLASS_DEF_H
00004 #define XAODCORE_CLASS_DEF_H
00005
00030
00031 #ifdef XAOD_STANDALONE
00032
00033
00034 #include "xAODCore/ClassID_traits.h"
00035
00036
00037
00038 #undef CLASS_DEF
00039
00040
00041
00042
00043 #ifdef __CLING__
00044
00046 #define CLASS_DEF( __type, __clid, __version )
00047
00048 #else // __CLING__
00049
00051 #define CLASS_DEF( __type, __clid, __version ) \
00052 template<> \
00053 struct ClassID_traits< __type > { \
00054 static CLID ID() { \
00055 return __clid; \
00056 } \
00057 static const std::string& typeName() { \
00058 static std::string name( #__type ); \
00059 return name; \
00060 } \
00061 static const std::type_info& typeId() { \
00062 return typeid( __type ); \
00063 } \
00064 };
00065
00066 #endif // __CLING__
00067
00068 #else // not XAOD_STANDALONE
00069
00070
00071 #include "SGTools/CLASS_DEF.h"
00072
00073 #endif // not XAOD_STANDALONE
00074 #endif // not XAODCORE_CLASS_DEF_H