ATLAS Offline Software
xAODJetAuxContainerCnv.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // Local include(s):
7 
8 #include <TClass.h>
9 #include <mutex>
10 
11 
12 #define LOAD_DICTIONARY( name ) do { TClass* cl = TClass::GetClass( name ); \
13  if( ( ! cl ) || ( ! cl->IsLoaded() ) ) { ATH_MSG_ERROR( "Couldn't load dictionary for type: " << name ); } } while(0)
14 
15 
19  const std::string& key )
20 {
21 #if !(defined(GENERATIONBASE) || defined(SIMULATIONBASE))
22  // ??? Still needed?
23  std::once_flag flag;
24  std::call_once (flag,
25  [this] {
26  LOAD_DICTIONARY( "ElementLink<DataVector<xAOD::MuonSegment_v1> >" );
27  LOAD_DICTIONARY( "std::vector<ElementLink<DataVector<xAOD::MuonSegment_v1> > >" );
28  LOAD_DICTIONARY( "std::vector<std::vector<ElementLink<DataVector<xAOD::MuonSegment_v1> > > >" );
29  LOAD_DICTIONARY( "std::vector<ElementLink<DataVector<xAOD::BTagging_v1> > >" );
30  });
31 #endif //ifndef SIMULATIONBASE OR GENERATIONBASE
32  // Create a copy of the container:
34 }
35 
LOAD_DICTIONARY
#define LOAD_DICTIONARY(name)
Definition: xAODJetAuxContainerCnv.cxx:12
xAOD::JetAuxContainer_v1
Temporary container used until we have I/O for AuxStoreInternal.
Definition: JetAuxContainer_v1.h:37
master.flag
bool flag
Definition: master.py:29
xAODJetAuxContainerCnv::createPersistentWithKey
virtual xAOD::JetAuxContainer * createPersistentWithKey(xAOD::JetAuxContainer *trans, const std::string &key) override
Function preparing the container to be written out.
Definition: xAODJetAuxContainerCnv.cxx:18
T_AthenaPoolAuxContainerCnv::createPersistentWithKey
virtual AUXSTORE * createPersistentWithKey(AUXSTORE *trans, const std::string &key) override
Convert a transient object to persistent form.
xAODJetAuxContainerCnv.h
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37