ATLAS Offline Software
CondContFactory.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration.
3  */
4 
5 #ifndef ATHENAKERNEL_CONDCONTFACT_H
6 #define ATHENAKERNEL_CONDCONTFACT_H 1
7 
9 
10 #include <map>
11 #include <string>
12 #include <mutex>
13 
14 class DataObject;
15 namespace Athena {
16  class IRCUSvc;
17 }
18 
19 namespace CondContainer {
21  public:
22  static CondContFactory& Instance();
23  void regMaker(const CLID& clid, ICondContMaker* maker);
24  SG::DataObjectSharedPtr<DataObject> Create(Athena::IRCUSvc& rcusvc, const CLID& clid, const std::string& key) const;
25 
26  private:
28 
31 
32  std::map<CLID, ICondContMaker*> m_makers;
34  };
35 }
36 
37 #endif
CondContainer::CondContFactory::Instance
static CondContFactory & Instance()
Definition: CondContFactory.cxx:14
CondContainer::CondContFactory::Create
SG::DataObjectSharedPtr< DataObject > Create(Athena::IRCUSvc &rcusvc, const CLID &clid, const std::string &key) const
Definition: CondContFactory.cxx:28
BeamSpot::mutex
std::mutex mutex
Definition: InDetBeamSpotVertex.cxx:18
CondContainer::CondContFactory
Definition: CondContFactory.h:20
CondContainer::CondContFactory::regMaker
void regMaker(const CLID &clid, ICondContMaker *maker)
Definition: CondContFactory.cxx:19
ICondContMaker.h
CondContainer::CondContFactory::CondContFactory
CondContFactory(const CondContFactory &)
Athena
Some weak symbol referencing magic...
Definition: AthLegacySequence.h:21
CondContainer
Definition: CondContFactory.h:19
Athena::IRCUSvc
Interface for RCU service.
Definition: IRCUSvc.h:40
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
CondContainer::CondContFactory::m_mapMutex
std::mutex m_mapMutex
Definition: CondContFactory.h:33
CondContainer::CondContFactory::operator=
CondContFactory & operator=(const CondContFactory &)
CondContainer::CondContFactory::CondContFactory
CondContFactory()
Definition: CondContFactory.h:27
SG::DataObjectSharedPtr
Smart pointer to manage DataObject reference counts.
Definition: DataObjectSharedPtr.h:46
CondContainer::CondContFactory::m_makers
std::map< CLID, ICondContMaker * > m_makers
Definition: CondContFactory.h:32
CondContainer::ICondContMaker
Definition: ICondContMaker.h:22
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37