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"
56 template<
typename X,
typename Y>
58 return x->clID() ==
y->clID() ?
x->name() <
y->name() :
x->clID() <
y->clID();
67class IOVSvcTool:
public extends<AthAlgTool, IIOVSvcTool, IIncidentListener> {
72 const IInterface* parent);
81 virtual void handle(
const Incident&)
override;
90 virtual StatusCode
setRange(
const CLID& clid,
const std::string& key,
93 virtual StatusCode
getRange(
const CLID& clid,
const std::string& key,
98 const std::string& key )
override;
100 virtual StatusCode
regProxy(
const CLID& clid,
const std::string& key )
override;
103 virtual StatusCode
deregProxy(
const CLID& clid,
const std::string& key )
override;
112 std::unique_ptr<IOpaqueAddress>& ioa,
113 const IOVTime& curTime)
const override;
119 std::unique_ptr<IOpaqueAddress>& ioa)
const override;
124 const std::string &tag)
override;
133 virtual bool holdsProxy(
const CLID& clid,
const std::string& key )
const override;
163 std::map< const SG::DataProxy*, std::string>
m_names;
179 std::map< const SG::DataProxy*, std::unique_ptr<IOVEntry> >
m_entries;
191 {
return TADkey_t (p.clID(), p.name()); }
193 {
return TADkey_t (t.clID(), t.name()); }
206 Gaudi::Property<bool>
m_forceReset{
this,
"forceResetAtBeginRun",
false};
211 std::set<SG::DataProxy*, SortDPptr> &proxiesToReset,
214 std::set<SG::DataProxy*, SortDPptr> &proxiesToReset,
uint32_t CLID
The Class ID type.
Basic time unit for IOVSvc.
std::multiset< IOVEntry *, IOVEntryStopCritereon > StopSet_t
std::multiset< IOVEntry *, IOVEntryStartCritereon > StartSet_t
Basic time unit for IOVSvc.
The Athena Transient Store API.
bool operator()(const SG::DataProxy *, const SG::DataProxy *) const
bool operator()(X &&x, Y &&y) const