5#ifndef IOVSVC_IOVSVCTOOL_H
6#define IOVSVC_IOVSVCTOOL_H 1
23#include "GaudiKernel/StatusCode.h"
24#include "GaudiKernel/ClassID.h"
25#include "GaudiKernel/IIncidentListener.h"
26#include "GaudiKernel/ServiceHandle.h"
70class IOVSvcTool:
public extends<AthAlgTool, IIOVSvcTool, IIncidentListener> {
75 const IInterface* parent);
85 virtual void handle(
const Incident&)
override;
99 bool trigger =
false)
override;
101 virtual StatusCode
regFcn(
const IAlgTool* ia,
103 bool trigger =
false)
override;
106 virtual StatusCode
setRange(
const CLID& clid,
const std::string& key,
109 virtual StatusCode
getRange(
const CLID& clid,
const std::string& key,
114 const std::string& key )
override;
116 virtual StatusCode
regProxy(
const CLID& clid,
const std::string& key )
override;
119 virtual StatusCode
deregProxy(
const CLID& clid,
const std::string& key )
override;
128 std::unique_ptr<IOpaqueAddress>& ioa,
129 const IOVTime& curTime)
const override;
135 std::unique_ptr<IOpaqueAddress>& ioa)
const override;
140 const std::string &tag)
override;
151 std::set<std::string>&
tools)
override;
154 virtual bool holdsProxy(
const CLID& clid,
const std::string& key )
const override;
156 virtual bool holdsAlgTool(
const IAlgTool* ia )
const override;
194 typedef std::multimap<const SG::DataProxy*, BFCN*>::iterator
pmITR;
195 typedef std::multimap<BFCN*, const SG::DataProxy*>::iterator
fnITR;
196 typedef std::multiset<IOVEntry*, IOVEntry::IOVEntryStartCritereon>
startSet;
197 typedef std::multiset<IOVEntry*, IOVEntry::IOVEntryStopCritereon>
stopSet;
201 std::map< const SG::DataProxy*, std::string>
m_names;
222 typedef std::map<const void*, std::set<CallBackID>* >
ObjMap;
235 std::set< const SG::TransientAddress*, SortTADptr >
m_preLoad;
239 {
return TADkey_t (p.clID(), p.name()); }
241 {
return TADkey_t (t.clID(), t.name()); }
256 Gaudi::Property<bool>
m_forceReset{
this,
"forceResetAtBeginRun",
false};
261 std::set<SG::DataProxy*, SortDPptr> &proxiesToReset,
264 std::set<SG::DataProxy*, SortDPptr> &proxiesToReset,
uint32_t CLID
The Class ID type.
defines and typedefs for IOVSvc
boost::function< StatusCode(IOVSVC_CALLBACK_ARGS) > IOVSvcCallBackFcn
the type of an IOVSvc call back: it wraps both the method and the object the method is called on
Basic time unit for IOVSvc.
Basic time unit for IOVSvc.
bool operator()(const SG::DataProxy *, const SG::DataProxy *) const
bool operator()(const SG::TransientAddress *, const SG::TransientAddress *) const
The Athena Transient Store API.