The Gaudi Framework  master (b9786168)
Loading...
Searching...
No Matches
ICondSvc.h
Go to the documentation of this file.
1/***********************************************************************************\
2* (c) Copyright 1998-2025 CERN for the benefit of the LHCb and ATLAS collaborations *
3* *
4* This software is distributed under the terms of the Apache version 2 licence, *
5* copied verbatim in the file "LICENSE". *
6* *
7* In applying this licence, CERN does not waive the privileges and immunities *
8* granted to it by virtue of its status as an Intergovernmental Organization *
9* or submit itself to any jurisdiction. *
10\***********************************************************************************/
11#pragma once
12
19
20#include <set>
21#include <sstream>
22#include <string>
23
34
35class ConditionSlotFuture;
36class IConditionIOSvc;
37
38class GAUDI_API ICondSvc : virtual public IService {
39public:
41
43 virtual StatusCode regHandle( IAlgorithm* alg, const Gaudi::DataHandle& id ) = 0;
44
46 virtual bool isValidID( const EventContext& ctx, const DataObjID& id ) const = 0;
47
49 virtual const std::set<IAlgorithm*>& condAlgs() const = 0;
50
52 virtual bool isRegistered( IAlgorithm* alg ) const = 0;
53
55 virtual bool isRegistered( const DataObjID& id ) const = 0;
56
58 virtual const DataObjIDColl& conditionIDs() const = 0;
59
61 virtual void dump( std::ostream& ost ) const = 0;
62
64 virtual StatusCode validRanges( std::vector<EventIDRange>& ranges, const DataObjID& id ) const = 0;
65
67 virtual ConditionSlotFuture* startConditionSetup( const EventContext& ctx ) = 0;
68
71 virtual StatusCode registerConditionIOSvc( IConditionIOSvc* ioService ) = 0;
72};
std::unordered_set< DataObjID, DataObjID_Hasher > DataObjIDColl
Definition DataObjID.h:121
Event Range object.
#define GAUDI_API
Definition Kernel.h:49
This class represents an entry point to all the event specific data.
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition IAlgorithm.h:36
Interface for the Condition Service.
Definition ICondSvc.h:38
virtual const std::set< IAlgorithm * > & condAlgs() const =0
get list of all registered condition Algorithms
virtual ConditionSlotFuture * startConditionSetup(const EventContext &ctx)=0
Asynchronously setup conditions.
virtual bool isValidID(const EventContext &ctx, const DataObjID &id) const =0
check to see if a specific condition object ID is valid for this event
virtual void dump(std::ostream &ost) const =0
dump the condition store
virtual bool isRegistered(const DataObjID &id) const =0
query if a condition Object ID is registered
virtual bool isRegistered(IAlgorithm *alg) const =0
query if a specific Algorithm is a registered condition Algorithm
virtual StatusCode validRanges(std::vector< EventIDRange > &ranges, const DataObjID &id) const =0
retrieve all valid ranges for one Object ID
virtual const DataObjIDColl & conditionIDs() const =0
get collection of all registered condition Object IDs
DeclareInterfaceID(ICondSvc, 1, 0)
virtual StatusCode registerConditionIOSvc(IConditionIOSvc *ioService)=0
register an IConditionIOSvc (alternative to Algorithm processing of Conditions)
virtual StatusCode regHandle(IAlgorithm *alg, const Gaudi::DataHandle &id)=0
register dependency between an Algorithm and the Condition Handle it creates
General service interface definition.
Definition IService.h:26
This class is used for returning status codes from appropriate routines.
Definition StatusCode.h:64