ATLAS Offline Software
AuxStoreWrapper.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef XAODCORECNV_AUXSTOREWRAPPER_H
8 #define XAODCORECNV_AUXSTOREWRAPPER_H
9 
10 // System include(s):
11 #include <vector>
12 #include <set>
13 #include <string>
14 #include <map>
15 
16 // Gaudi/Athena include(s):
17 #include "GaudiKernel/ClassID.h"
18 #include "GaudiKernel/IClassIDSvc.h"
19 #include "GaudiKernel/ServiceHandle.h"
22 
23 // Forward declaration(s):
24 namespace SG {
25  class IAuxStore;
26  class DataProxy;
27 }
28 
29 namespace xAODMaker {
30 
42 
43  public:
45  AuxStoreWrapper( const std::string& name, ISvcLocator* svcLoc );
46 
48  virtual StatusCode initialize();
50  virtual StatusCode execute();
51 
52  private:
54  StatusCode changeContainer( const SG::IAuxStore* store,
55  const std::string& name );
57  StatusCode changeElement( const SG::IAuxStore* store,
58  const std::string& name );
59 
61  std::vector< std::string > m_keys;
63  std::set< std::string > m_keysSet;
64 
68  std::set< std::string > m_toConvert;
70  std::map< std::string, CLID > m_clids;
71 
74 
75  }; // class AuxStoreWrapper
76 
77 } // namespace xAODMaker
78 
79 #endif // XAODCORECNV_AUXSTOREWRAPPER_H
SGTest::store
TestStore store
Definition: TestStore.cxx:23
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
ATLAS_NOT_THREAD_SAFE
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Definition: checker_macros.h:212
initialize
void initialize()
Definition: run_EoverP.cxx:894
xAODMaker
Definition: StoreGateSvc.h:72
xAODMaker::AuxStoreWrapper::m_keysSet
std::set< std::string > m_keysSet
Keys of the objects to be wrapped, in a set container.
Definition: AuxStoreWrapper.h:63
LArG4FSStartPointFilterLegacy.execute
execute
Definition: LArG4FSStartPointFilterLegacy.py:20
AthAlgorithm.h
xAODMaker::AuxStoreWrapper::m_clids
std::map< std::string, CLID > m_clids
Keys and CLIDs of the interface containers touched.
Definition: AuxStoreWrapper.h:70
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
DataProxy
DataProxy provides the registry services for StoreGate.
Definition: DataProxy.h:32
xAODMaker::AuxStoreWrapper::m_toConvert
std::set< std::string > m_toConvert
Keys of the auxiliary stores that need to be converted in the end.
Definition: AuxStoreWrapper.h:68
AthAlgorithm
Definition: AthAlgorithm.h:47
xAODMaker::AuxStoreWrapper::m_clidSvc
ServiceHandle< ::IClassIDSvc > m_clidSvc
Handle to the Class ID service.
Definition: AuxStoreWrapper.h:73
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
xAODMaker::AuxStoreWrapper::m_cachesSet
bool m_cachesSet
Flag specifying whether the internal caches were set already.
Definition: AuxStoreWrapper.h:66
xAODMaker::AuxStoreWrapper
Algorithm preparing auxiliary store objects for slimming.
Definition: AuxStoreWrapper.h:41
SG::IAuxStore
Interface for non-const operations on an auxiliary store.
Definition: IAuxStore.h:48
xAODMaker::AuxStoreWrapper::m_keys
std::vector< std::string > m_keys
StoreGate keys of the store objects to be wrapped.
Definition: AuxStoreWrapper.h:61
checker_macros.h
Define macros for attributes used to control the static checker.
ServiceHandle< ::IClassIDSvc >