|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef IOVSVC_CONDSVC_H
6 #define IOVSVC_CONDSVC_H 1
8 #include "GaudiKernel/ICondSvc.h"
9 #include "GaudiKernel/Service.h"
14 #include <unordered_map>
20 class ConditionSlotFuture;
23 class CondSvc:
public extends<AthService, ICondSvc, ICondSvcSetupDone> {
40 virtual bool getIDValidity(
const EventContext&, DataObjIDColl& validIDs,
41 DataObjIDColl& invalidIDs);
42 virtual bool isValidID(
const EventContext&,
const DataObjID&)
const override;
46 virtual bool isRegistered(
const DataObjID&)
const override;
49 virtual const DataObjIDColl&
conditionIDs()
const override;
52 const DataObjID&
id )
const override;
55 virtual void dump(std::ostream&)
const override;
74 return StatusCode::FAILURE;
87 return (
a.nameKey().__hash__());
90 bool operator()(
const IAlgorithm* lhs,
const IAlgorithm* rhs)
const {
93 bool operator()(
const IAlgorithm& lhs,
const IAlgorithm& rhs)
const {
94 return ( lhs.nameKey() < rhs.nameKey() );
105 typedef std::map<IAlgorithm*, DataObjIDColl, iAlgHasher>
alg_map_t;
Interface to tell CondSvc to cache conditions containers.
virtual StatusCode initialize() override
ServiceHandle< StoreGateSvc > m_sgs
virtual bool isValidID(const EventContext &, const DataObjID &) const override
virtual ConditionSlotFuture * startConditionSetup(const EventContext &) override
Asynchronously setup conditions.
virtual StatusCode finalize() override
std::size_t operator()(const IAlgorithm *a) const
std::map< IAlgorithm *, DataObjIDColl, iAlgHasher > alg_map_t
std::size_t operator()(const IAlgorithm &a) const
virtual StatusCode regHandle(IAlgorithm *alg, const Gaudi::DataHandle &id) override
CondContMap_t m_condConts
virtual void dump(std::ostream &) const override
std::unordered_map< std::string, const CondContBase * > CondContMap_t
virtual bool isRegistered(const DataObjID &) const override
virtual StatusCode validRanges(std::vector< EventIDRange > &ranges, const DataObjID &id) const override
virtual const std::set< IAlgorithm * > & condAlgs() const override
::StatusCode StatusCode
StatusCode definition for legacy code.
CondSvc(const std::string &name, ISvcLocator *svc)
std::map< DataObjID, IAlgHashSet > id_map_t
virtual bool getInvalidIDs(const EventContext &, DataObjIDColl &ids)
AthROOTErrorHandlerSvc * svc
bool operator()(const IAlgorithm *lhs, const IAlgorithm *rhs) const
virtual const DataObjIDColl & conditionIDs() const override
virtual StatusCode stop() override
std::set< IAlgorithm * > m_condAlgs
StatusCode regHandle_i(IAlgorithm *alg, const Gaudi::DataHandle &id)
virtual StatusCode registerConditionIOSvc(IConditionIOSvc *) override
register an IConditionIOSvc (alternative to Algorithm processing of Conditions)
virtual StatusCode start() override
bool operator()(const IAlgorithm &lhs, const IAlgorithm &rhs) const
std::set< IAlgorithm *, iAlgHasher > IAlgHashSet
virtual bool getIDValidity(const EventContext &, DataObjIDColl &validIDs, DataObjIDColl &invalidIDs)
virtual bool getValidIDs(const EventContext &, DataObjIDColl &ids)
virtual StatusCode setupDone() override
To be called after changes to the set of conditions containers in the conditions store.