![]() |
|
|||
File indexing completed on 2025-02-21 10:00:30
0001 /***********************************************************************************\ 0002 * (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations * 0003 * * 0004 * This software is distributed under the terms of the Apache version 2 licence, * 0005 * copied verbatim in the file "LICENSE". * 0006 * * 0007 * In applying this licence, CERN does not waive the privileges and immunities * 0008 * granted to it by virtue of its status as an Intergovernmental Organization * 0009 * or submit itself to any jurisdiction. * 0010 \***********************************************************************************/ 0011 #ifndef GAUDIKERNEL_ICONDSVC_H 0012 #define GAUDIKERNEL_ICONDSVC_H 1 0013 0014 #include "GaudiKernel/DataHandle.h" 0015 #include "GaudiKernel/DataObjID.h" 0016 #include "GaudiKernel/EventContext.h" 0017 #include "GaudiKernel/EventIDRange.h" 0018 #include "GaudiKernel/IAlgorithm.h" 0019 #include "GaudiKernel/IService.h" 0020 0021 #include <set> 0022 #include <sstream> 0023 #include <string> 0024 0025 /**@class ICondSvc ICondSvc.h GaudiKernel/ICondSvc.h 0026 * 0027 * Interface for the Condition Service. It allows Algorithms to register 0028 * their ConditionsHanaldes with the Service, and clients to query the 0029 * Service to determine which objects are valid/invalid for a particualar 0030 * EventContext. 0031 * 0032 * @author Charles Leggett 0033 * @version 2.0 0034 */ 0035 0036 class ConditionSlotFuture; 0037 class IConditionIOSvc; 0038 0039 class GAUDI_API ICondSvc : virtual public IService { 0040 public: 0041 DeclareInterfaceID( ICondSvc, 1, 0 ); 0042 0043 /// register dependency between an Algorithm and the Condition Handle it creates 0044 virtual StatusCode regHandle( IAlgorithm* alg, const Gaudi::DataHandle& id ) = 0; 0045 0046 /// check to see if a specific condition object ID is valid for this event 0047 virtual bool isValidID( const EventContext& ctx, const DataObjID& id ) const = 0; 0048 0049 /// get list of all registered condition Algorithms 0050 virtual const std::set<IAlgorithm*>& condAlgs() const = 0; 0051 0052 /// query if a specific Algorithm is a registered condition Algorithm 0053 virtual bool isRegistered( IAlgorithm* alg ) const = 0; 0054 0055 /// query if a condition Object ID is registered 0056 virtual bool isRegistered( const DataObjID& id ) const = 0; 0057 0058 /// get collection of all registered condition Object IDs 0059 virtual const DataObjIDColl& conditionIDs() const = 0; 0060 0061 /// dump the condition store 0062 virtual void dump( std::ostream& ost ) const = 0; 0063 0064 /// retrieve all valid ranges for one Object ID 0065 virtual StatusCode validRanges( std::vector<EventIDRange>& ranges, const DataObjID& id ) const = 0; 0066 0067 /// Asynchronously setup conditions 0068 virtual ConditionSlotFuture* startConditionSetup( const EventContext& ctx ) = 0; 0069 0070 /// register an IConditionIOSvc (alternative to Algorithm processing of 0071 /// Conditions) 0072 virtual StatusCode registerConditionIOSvc( IConditionIOSvc* ioService ) = 0; 0073 }; 0074 0075 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |