ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Control
IOVSvc
src
CondSvc.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef IOVSVC_CONDSVC_H
6
#define IOVSVC_CONDSVC_H
7
8
#include "GaudiKernel/ICondSvc.h"
9
#include "GaudiKernel/Service.h"
10
#include "
StoreGate/StoreGateSvc.h
"
11
#include "
AthenaBaseComps/AthService.h
"
12
#include "
ICondSvcSetupDone.h
"
13
14
#include <unordered_map>
15
#include <set>
16
#include <vector>
17
#include <mutex>
18
19
class
ConditionSlotFuture;
20
class
ICondtionIOSvc;
21
22
class
CondSvc
final:
public
extends<AthService, ICondSvc, ICondSvcSetupDone> {
23
public
:
24
25
CondSvc
(
const
std::string& name, ISvcLocator* svc);
26
27
virtual
StatusCode
initialize
()
override
;
28
virtual
StatusCode
start
()
override
;
29
virtual
StatusCode
stop
()
override
;
30
31
virtual
StatusCode
regHandle
(IAlgorithm* alg,
const
Gaudi::DataHandle&
id
)
override
;
32
33
virtual
bool
isValidID
(
const
EventContext&,
const
DataObjID&)
const override
;
34
35
virtual
const
std::set<IAlgorithm*>&
condAlgs
()
const override
{
return
m_condAlgs
; }
36
virtual
bool
isRegistered
(
const
DataObjID&
id
)
const override
{
return
m_condIDs
.contains(
id
); }
37
virtual
bool
isRegistered
(IAlgorithm* ialg)
const override
{
return
m_condAlgs
.contains(ialg); }
38
virtual
const
DataObjIDColl&
conditionIDs
()
const override
{
return
m_condIDs
; }
39
40
virtual
StatusCode
validRanges
( std::vector<EventIDRange>& ranges,
41
const
DataObjID&
id
)
const override
;
42
43
virtual
void
dump
(std::ostream&)
const override
;
44
48
virtual
StatusCode
setupDone
()
override
;
49
50
52
54
virtual
ConditionSlotFuture*
startConditionSetup
(
const
EventContext&)
override
{
55
return
nullptr
;
56
}
57
60
virtual
StatusCode
registerConditionIOSvc
(IConditionIOSvc*)
override
{
61
return
StatusCode::FAILURE;
62
}
63
64
65
66
private
:
67
68
StatusCode
regHandle_i
(IAlgorithm* alg,
const
Gaudi::DataHandle&
id
);
69
70
ServiceHandle<StoreGateSvc>
m_sgs
;
71
72
std::set<IAlgorithm*>
m_condAlgs
;
73
DataObjIDColl
m_condIDs
;
74
76
std::unordered_map<DataObjID, IAlgorithm*, DataObjID_Hasher>
m_idMap
;
77
79
std::unordered_map<DataObjID, const CondContBase*, DataObjID_Hasher>
m_condConts
;
80
81
mutable
std::mutex
m_lock
;
82
83
};
84
85
#endif
AthService.h
ICondSvcSetupDone.h
Interface to tell CondSvc to cache conditions containers.
StoreGateSvc.h
CondSvc::m_condIDs
DataObjIDColl m_condIDs
Definition
CondSvc.h:73
CondSvc::m_sgs
ServiceHandle< StoreGateSvc > m_sgs
Definition
CondSvc.h:70
CondSvc::regHandle
virtual StatusCode regHandle(IAlgorithm *alg, const Gaudi::DataHandle &id) override
Definition
CondSvc.cxx:109
CondSvc::registerConditionIOSvc
virtual StatusCode registerConditionIOSvc(IConditionIOSvc *) override
register an IConditionIOSvc (alternative to Algorithm processing of Conditions)
Definition
CondSvc.h:60
CondSvc::startConditionSetup
virtual ConditionSlotFuture * startConditionSetup(const EventContext &) override
unimplemented interfaces
Definition
CondSvc.h:54
CondSvc::isRegistered
virtual bool isRegistered(const DataObjID &id) const override
Definition
CondSvc.h:36
CondSvc::CondSvc
CondSvc(const std::string &name, ISvcLocator *svc)
Definition
CondSvc.cxx:13
CondSvc::isRegistered
virtual bool isRegistered(IAlgorithm *ialg) const override
Definition
CondSvc.h:37
CondSvc::m_lock
std::mutex m_lock
Definition
CondSvc.h:81
CondSvc::initialize
virtual StatusCode initialize() override
Definition
CondSvc.cxx:42
CondSvc::regHandle_i
StatusCode regHandle_i(IAlgorithm *alg, const Gaudi::DataHandle &id)
Definition
CondSvc.cxx:120
CondSvc::m_idMap
std::unordered_map< DataObjID, IAlgorithm *, DataObjID_Hasher > m_idMap
Map from DataObjID to Algorithm to avoid duplicates.
Definition
CondSvc.h:76
CondSvc::m_condConts
std::unordered_map< DataObjID, const CondContBase *, DataObjID_Hasher > m_condConts
Map from DataObjID to CondContBase (populated in setupDone).
Definition
CondSvc.h:79
CondSvc::condAlgs
virtual const std::set< IAlgorithm * > & condAlgs() const override
Definition
CondSvc.h:35
CondSvc::setupDone
virtual StatusCode setupDone() override
To be called after changes to the set of conditions containers in the conditions store.
Definition
CondSvc.cxx:195
CondSvc::start
virtual StatusCode start() override
Definition
CondSvc.cxx:82
CondSvc::m_condAlgs
std::set< IAlgorithm * > m_condAlgs
Definition
CondSvc.h:72
CondSvc::validRanges
virtual StatusCode validRanges(std::vector< EventIDRange > &ranges, const DataObjID &id) const override
Definition
CondSvc.cxx:22
CondSvc::isValidID
virtual bool isValidID(const EventContext &, const DataObjID &) const override
Definition
CondSvc.cxx:166
CondSvc::stop
virtual StatusCode stop() override
Definition
CondSvc.cxx:91
CondSvc::conditionIDs
virtual const DataObjIDColl & conditionIDs() const override
Definition
CondSvc.h:38
ServiceHandle
Definition
ClusterMakerTool.h:36
dump
-event-from-file
Generated on
for ATLAS Offline Software by
1.17.0