ATLAS Offline Software
Loading...
Searching...
No Matches
IIOVSvc.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ATHENAKERNEL_IIOVSVC_H
6#define ATHENAKERNEL_IIOVSVC_H
7
8#include "GaudiKernel/IService.h"
9#include "GaudiKernel/StatusCode.h"
10#include "GaudiKernel/ClassID.h"
11#include "GaudiKernel/IOpaqueAddress.h"
12
13#include <string>
14#include <vector>
15#include <memory>
16
17class IOVRange;
18class IOVTime;
19class CondContBase;
20class DataObjID;
21class EventIDBase;
22
23namespace SG {
24 class DataProxy;
25 class TransientAddress;
26}
27
34
35class IIOVSvc : virtual public IService {
36
37public:
39
40 virtual StatusCode createIOVTool( const std::string& storeName ) = 0;
41 virtual std::vector<std::string> getStoreNames() const = 0;
42
44 virtual StatusCode regProxy( SG::DataProxy *proxy,
45 const std::string& key,
46 const std::string& storeName="StoreGateSvc") = 0;
48 virtual StatusCode replaceProxy( SG::DataProxy *pOld,
49 SG::DataProxy *pNew,
50 const std::string& storeName="StoreGateSvc") = 0;
51
53 virtual StatusCode regProxy( const CLID& clid, const std::string& key,
54 const std::string& storeName="StoreGateSvc" ) = 0;
56
57 virtual StatusCode deregProxy( SG::DataProxy *proxy ) = 0;
58 virtual StatusCode deregProxy( const CLID& clid, const std::string& key ) = 0;
59
60
61
63
64 virtual StatusCode setRange(const CLID& clid, const std::string& key,
65 IOVRange&) = 0;
66 virtual StatusCode setRange(const CLID& clid, const std::string& key,
67 IOVRange&,
68 const std::string& storeName) = 0;
69
70 virtual StatusCode getRange(const CLID& clid, const std::string& key,
71 IOVRange& iov ) const = 0;
72
74 virtual StatusCode getRangeFromDB(const CLID& clid, const std::string& key,
75 IOVRange& range, std::string &tag,
76 std::unique_ptr<IOpaqueAddress>& ioa,
77 const EventIDBase& now) const =0;
78
80 virtual StatusCode getRangeFromDB(const CLID& clid, const std::string& key,
81 const IOVTime& time,
82 IOVRange& range, std::string &tag,
83 std::unique_ptr<IOpaqueAddress>& ioa) const=0;
84
86 virtual StatusCode setRangeInDB(const CLID& clid, const std::string& key,
87 const IOVRange& range,
88 const std::string &tag) = 0;
90
91
93 virtual StatusCode dropObjectFromDB(const CLID& clid, const std::string& key,
94 const std::string& storeName) = 0;
95
97 virtual StatusCode preLoadTAD( const SG::TransientAddress *,
98 const std::string& storeName="StoreGateSvc" ) = 0;
99
100 // supply a list of TADs whose data will be preloaded via a 'partial preload' flag
101 virtual StatusCode preLoadDataTAD( const SG::TransientAddress *,
102 const std::string& storeName="StoreGateSvc" ) = 0;
103
105 virtual void resetAllProxies() = 0;
106
107 virtual void ignoreProxy(const CLID& clid, const std::string& key,
108 const std::string& storeName="StoreGateSvc") = 0;
109
110 virtual StatusCode createCondObj(CondContBase*, const DataObjID&,
111 const EventIDBase&) = 0;
112
113};
114
115#endif
uint32_t CLID
The Class ID type.
Base class for all conditions containers.
Definition CondCont.h:140
Abstract interface for IOVSvc.
Definition IIOVSvc.h:35
virtual StatusCode getRange(const CLID &clid, const std::string &key, IOVRange &iov) const =0
virtual std::vector< std::string > getStoreNames() const =0
virtual StatusCode createIOVTool(const std::string &storeName)=0
virtual StatusCode createCondObj(CondContBase *, const DataObjID &, const EventIDBase &)=0
virtual StatusCode preLoadDataTAD(const SG::TransientAddress *, const std::string &storeName="StoreGateSvc")=0
virtual StatusCode getRangeFromDB(const CLID &clid, const std::string &key, const IOVTime &time, IOVRange &range, std::string &tag, std::unique_ptr< IOpaqueAddress > &ioa) const =0
Get IOVRange from db for a particular event.
virtual StatusCode getRangeFromDB(const CLID &clid, const std::string &key, IOVRange &range, std::string &tag, std::unique_ptr< IOpaqueAddress > &ioa, const EventIDBase &now) const =0
Get IOVRange from db for current event.
virtual StatusCode setRange(const CLID &clid, const std::string &key, IOVRange &, const std::string &storeName)=0
virtual StatusCode setRangeInDB(const CLID &clid, const std::string &key, const IOVRange &range, const std::string &tag)=0
Set a particular IOVRange in db (and memory)
virtual StatusCode dropObjectFromDB(const CLID &clid, const std::string &key, const std::string &storeName)=0
Drop the associated object from the db and trigger reload.
virtual StatusCode replaceProxy(SG::DataProxy *pOld, SG::DataProxy *pNew, const std::string &storeName="StoreGateSvc")=0
replace a registered proxy with a new version
virtual StatusCode setRange(const CLID &clid, const std::string &key, IOVRange &)=0
virtual StatusCode preLoadTAD(const SG::TransientAddress *, const std::string &storeName="StoreGateSvc")=0
pre-load transient Addresses
virtual void resetAllProxies()=0
reset all proxies known to IOVSvc
virtual void ignoreProxy(const CLID &clid, const std::string &key, const std::string &storeName="StoreGateSvc")=0
virtual StatusCode regProxy(SG::DataProxy *proxy, const std::string &key, const std::string &storeName="StoreGateSvc")=0
Subscribe method for DataProxy. key StoreGate key.
virtual StatusCode deregProxy(SG::DataProxy *proxy)=0
virtual StatusCode deregProxy(const CLID &clid, const std::string &key)=0
DeclareInterfaceID(IIOVSvc, 1, 0)
virtual StatusCode regProxy(const CLID &clid, const std::string &key, const std::string &storeName="StoreGateSvc")=0
Another way to subscribe.
Validity Range object.
Definition IOVRange.h:30
Basic time unit for IOVSvc.
Definition IOVTime.h:33
Forward declaration.