/cvmfs/atlas.cern.ch/repo/sw/ASG/AnalysisBase/2.4.28/xAODCore/xAODCore/CLASS_DEF.h File Reference

File providing the different SG_BASE macros. More...

#include "SGTools/CLASS_DEF.h"

Go to the source code of this file.


Detailed Description

File providing the different SG_BASE macros.

File providing the CLASS_DEF macro.

Author:
Scott Snyder <snyder@bnl.gov>
Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>

In Athena the inheritance relationships of the EDM classes are declared to StoreGate using some simple macros that are used like:

include "xAODCore/BaseInfo.h"
SG_BASE( xAOD::HighLevelClass, xAOD::LowLevelClass );
SG_BASES2( xAOD::LowLevelClass, SG::IAuxStore, SG::IAuxStoreIO );

In ROOT we don't need this extra information, there we rely purely on the ROOT dictionaries of the EDM classes.

All the xAOD packages should use this header for declaring SG inheritance relationships for their classes, instead of pulling in these macros from SGTools directly.

Revision
611441
Date
2014-08-12 16:53:49 +0200 (Tue, 12 Aug 2014)
Author:
Scott Snyder <snyder@bnl.gov>
Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>

In Athena all the EDM classes are identified using an ATLAS specific system that assigns "class IDs" to the different classes. We do this by using the CLASS_DEF macro in the headers of the EDM classes like:

include "xAODCore/CLASS_DEF.h"
CLASS_DEF( xAOD::ClassName, 123456, 1 )

In a ROOT analysis we need much less information about the classes in such a ROOT-independent way. We mostly just make use of that information to decode the trigger navigation EDM.

All xAOD packages should use this header for declaring class IDs for their EDM classes instead of using SGTools directly.

Revision
613558
Date
2014-08-26 19:16:16 +0200 (Tue, 26 Aug 2014)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 15 Apr 2017 for RootCore Packages by  doxygen 1.6.1