#include <CondSvc.h>
Definition at line 22 of file CondSvc.h.
◆ CondSvc()
CondSvc::CondSvc |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
svc |
|
) |
| |
◆ condAlgs()
virtual const std::set<IAlgorithm*>& CondSvc::condAlgs |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ conditionIDs()
virtual const DataObjIDColl& CondSvc::conditionIDs |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ dump()
void CondSvc::dump |
( |
std::ostream & |
ost | ) |
const |
|
overridevirtual |
Definition at line 53 of file CondSvc.cxx.
57 ost <<
"CondSvc::dump()";
59 ost <<
"\ndumping id->alg map\n";
61 ost <<
"\n + " <<
id <<
" : " <<
alg->name();
64 ost <<
"\n\ndumping ConditionStore:\n\n";
67 if (
m_sgs->retrieve(cib,cie).isSuccess()) {
◆ initialize()
StatusCode CondSvc::initialize |
( |
| ) |
|
|
overridevirtual |
Definition at line 42 of file CondSvc.cxx.
46 return StatusCode::SUCCESS;
◆ isRegistered() [1/2]
virtual bool CondSvc::isRegistered |
( |
const DataObjID & |
id | ) |
const |
|
inlineoverridevirtual |
◆ isRegistered() [2/2]
virtual bool CondSvc::isRegistered |
( |
IAlgorithm * |
ialg | ) |
const |
|
inlineoverridevirtual |
◆ isValidID()
bool CondSvc::isValidID |
( |
const EventContext & |
ctx, |
|
|
const DataObjID & |
id |
|
) |
| const |
|
overridevirtual |
Definition at line 166 of file CondSvc.cxx.
174 const bool valid =
it->second->valid (ctx.eventID());
175 ATH_MSG_VERBOSE(
"CondSvc::isValidID: now: " << ctx.eventID() <<
" id : "
176 <<
id << (
valid ?
": T" :
": F") );
◆ regHandle()
StatusCode CondSvc::regHandle |
( |
IAlgorithm * |
alg, |
|
|
const Gaudi::DataHandle & |
id |
|
) |
| |
|
overridevirtual |
◆ regHandle_i()
StatusCode CondSvc::regHandle_i |
( |
IAlgorithm * |
alg, |
|
|
const Gaudi::DataHandle & |
id |
|
) |
| |
|
private |
Definition at line 120 of file CondSvc.cxx.
126 ATH_MSG_DEBUG(
dh.fullKey() <<
" is a ReadHandle. No need to register.");
127 return StatusCode::SUCCESS;
130 const auto [itr, success] =
m_idMap.try_emplace(
dh.fullKey(),
alg);
132 const IAlgorithm *ia = itr->second;
133 if (ia->name() !=
alg->name()) {
135 <<
" is already registered against a different Algorithm "
137 <<
". This is not allowed.");
138 return StatusCode::FAILURE;
147 const CLID clid =
dh.fullKey().clid();
◆ registerConditionIOSvc()
virtual StatusCode CondSvc::registerConditionIOSvc |
( |
IConditionIOSvc * |
| ) |
|
|
inlineoverridevirtual |
register an IConditionIOSvc (alternative to Algorithm processing of Conditions)
Definition at line 60 of file CondSvc.h.
61 return StatusCode::FAILURE;
◆ setupDone()
StatusCode CondSvc::setupDone |
( |
| ) |
|
|
overridevirtual |
To be called after changes to the set of conditions containers in the conditions store.
Create DataObjID -> CondCont map for usage in isValidID.
May not be called concurrently with any other methods of this class.
As some conditions are looked up via their base class, we need to register each CondCont key against all its possible bases.
Definition at line 195 of file CondSvc.cxx.
203 if (
m_sgs->retrieve(cib,cie).isSuccess()) {
206 CLID clid = cib->id().clid();
210 m_condConts.try_emplace( DataObjID(clid, storePrefix + cib.
key()), &*cib );
215 m_condConts.try_emplace( DataObjID(clid2, storePrefix + cib.
key()), &*cib );
222 return StatusCode::SUCCESS;
◆ start()
StatusCode CondSvc::start |
( |
| ) |
|
|
overridevirtual |
Definition at line 82 of file CondSvc.cxx.
86 return StatusCode::SUCCESS;
◆ startConditionSetup()
virtual ConditionSlotFuture* CondSvc::startConditionSetup |
( |
const EventContext & |
| ) |
|
|
inlineoverridevirtual |
unimplemented interfaces
Asynchronously setup conditions
Definition at line 54 of file CondSvc.h.
◆ stop()
StatusCode CondSvc::stop |
( |
| ) |
|
|
overridevirtual |
Definition at line 91 of file CondSvc.cxx.
96 std::ostringstream
ost;
102 return StatusCode::SUCCESS;
◆ validRanges()
StatusCode CondSvc::validRanges |
( |
std::vector< EventIDRange > & |
ranges, |
|
|
const DataObjID & |
id |
|
) |
| const |
|
overridevirtual |
Definition at line 22 of file CondSvc.cxx.
27 if (
sc.isSuccess() ) {
28 while ( cib != cie ) {
29 if ( cib->id() ==
id ) {
◆ m_condAlgs
std::set<IAlgorithm*> CondSvc::m_condAlgs |
|
private |
◆ m_condConts
std::unordered_map<DataObjID, const CondContBase*, DataObjID_Hasher> CondSvc::m_condConts |
|
private |
◆ m_condIDs
DataObjIDColl CondSvc::m_condIDs |
|
private |
◆ m_idMap
std::unordered_map<DataObjID, IAlgorithm*, DataObjID_Hasher> CondSvc::m_idMap |
|
private |
Map from DataObjID to Algorithm to avoid duplicates.
Definition at line 76 of file CondSvc.h.
◆ m_lock
std::mutex CondSvc::m_lock |
|
mutableprivate |
◆ m_sgs
The documentation for this class was generated from the following files:
std::unordered_map< DataObjID, const CondContBase *, DataObjID_Hasher > m_condConts
Map from DataObjID to CondContBase (populated in setupDone)
std::unordered_map< DataObjID, IAlgorithm *, DataObjID_Hasher > m_idMap
Map from DataObjID to Algorithm to avoid duplicates.