ATLAS Offline Software
Loading...
Searching...
No Matches
IIOVSvcTool.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 IOVSVC_IIOVSVCTOOL_H
6#define IOVSVC_IIOVSVCTOOL_H 1
7
8// Include files
9#include "GaudiKernel/IAlgTool.h"
10
11#include <string>
12#include <memory>
13#include <set>
14#include "GaudiKernel/ClassID.h"
15
16class IOVRange;
17class IOVTime;
18class IOpaqueAddress;
19
20namespace SG {
21 class TransientAddress;
22 class DataProxy;
23}
24
25class IIOVSvcTool : virtual public IAlgTool {
26public:
28
29 virtual void setStoreName(const std::string& storeName) = 0;
30 virtual const std::string& getStoreName() const = 0;
31
32 // Update Range from dB
33 virtual StatusCode setRange(const CLID& clid, const std::string& key,
34 IOVRange&) = 0;
35
36 virtual StatusCode getRange(const CLID& clid, const std::string& key,
37 IOVRange& iov) const = 0;
38
39 // Subscribe method for DataProxy. key StoreGate key
40 virtual StatusCode regProxy( SG::DataProxy *proxy,
41 const std::string& key ) = 0;
42
43 virtual StatusCode deregProxy( SG::DataProxy *proxy ) = 0;
44 virtual StatusCode deregProxy( const CLID& clid, const std::string& key ) = 0;
45
46
47 // Replace a registered proxy with a new version
48 virtual StatusCode replaceProxy( SG::DataProxy *pOld,
49 SG::DataProxy *pNew ) = 0;
50
51 // Another way to subscribe
52 virtual StatusCode regProxy( const CLID& clid, const std::string& key ) = 0;
53
54 // Get IOVRange from db for current event
55 virtual StatusCode getRangeFromDB(const CLID& clid, const std::string& key,
56 IOVRange& range, std::string &tag,
57 std::unique_ptr<IOpaqueAddress>& ioa,
58 const IOVTime& curTime) const = 0;
59
60 // Get IOVRange from db for a particular event
61 virtual StatusCode getRangeFromDB(const CLID& clid, const std::string& key,
62 const IOVTime& time,
63 IOVRange& range, std::string &tag,
64 std::unique_ptr<IOpaqueAddress>& ioa) const = 0;
65
66 // Set a particular IOVRange in db (and memory)
67 virtual StatusCode setRangeInDB(const CLID& clid, const std::string& key,
68 const IOVRange& range,
69 const std::string &tag) = 0;
70
71 // supply a list of TADs whose proxies will be preloaded
72 virtual StatusCode preLoadTAD( const SG::TransientAddress * ) = 0;
73
74 // supply a list of TADs whose data will be preloaded
75 virtual StatusCode preLoadDataTAD( const SG::TransientAddress * ) = 0;
76
77 virtual bool holdsProxy( SG::DataProxy* proxy ) const = 0;
78 virtual bool holdsProxy( const CLID& clid, const std::string& key ) const = 0;
79
80 virtual void resetAllProxies() = 0;
81
82 virtual void ignoreProxy(SG::DataProxy* proxy) = 0;
83 virtual void ignoreProxy( const CLID& clid, const std::string& key) = 0;
84
85};
86
87#endif
uint32_t CLID
The Class ID type.
virtual StatusCode regProxy(const CLID &clid, const std::string &key)=0
virtual StatusCode getRangeFromDB(const CLID &clid, const std::string &key, IOVRange &range, std::string &tag, std::unique_ptr< IOpaqueAddress > &ioa, const IOVTime &curTime) const =0
virtual void setStoreName(const std::string &storeName)=0
virtual StatusCode deregProxy(const CLID &clid, const std::string &key)=0
DeclareInterfaceID(IIOVSvcTool, 1, 0)
virtual StatusCode setRangeInDB(const CLID &clid, const std::string &key, const IOVRange &range, const std::string &tag)=0
virtual void resetAllProxies()=0
virtual StatusCode setRange(const CLID &clid, const std::string &key, IOVRange &)=0
virtual bool holdsProxy(SG::DataProxy *proxy) const =0
virtual StatusCode preLoadTAD(const SG::TransientAddress *)=0
virtual StatusCode preLoadDataTAD(const SG::TransientAddress *)=0
virtual bool holdsProxy(const CLID &clid, const std::string &key) const =0
virtual StatusCode replaceProxy(SG::DataProxy *pOld, SG::DataProxy *pNew)=0
virtual void ignoreProxy(const CLID &clid, const std::string &key)=0
virtual StatusCode regProxy(SG::DataProxy *proxy, const std::string &key)=0
virtual const std::string & getStoreName() const =0
virtual void ignoreProxy(SG::DataProxy *proxy)=0
virtual StatusCode deregProxy(SG::DataProxy *proxy)=0
virtual StatusCode getRange(const CLID &clid, const std::string &key, IOVRange &iov) const =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
Validity Range object.
Definition IOVRange.h:30
Basic time unit for IOVSvc.
Definition IOVTime.h:33
Forward declaration.