![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
16 #ifndef IOVDbSvc_IOVDbSvc_h
17 #define IOVDbSvc_IOVDbSvc_h
19 #include "GaudiKernel/IInterface.h"
20 #include "GaudiKernel/IService.h"
22 #include "GaudiKernel/StatusCode.h"
23 #include "GaudiKernel/ClassID.h"
24 #include "GaudiKernel/IIncidentListener.h"
25 #include "GaudiKernel/ServiceHandle.h"
26 #include "GaudiKernel/ToolHandle.h"
27 #include "GaudiKernel/IAddressCreator.h"
28 #include "GaudiKernel/IIoComponent.h"
40 #include "CoolKernel/IDatabase.h"
41 #include "CoolKernel/ValidityKey.h"
80 public virtual IIncidentListener,
82 public virtual IIoComponent
125 SG::TransientAddress* tad,
126 const EventContext& ctx ) override;
135 const std::
string& dbKey,
139 std::unique_ptr<IOpaqueAddress>& ioa) override;
145 const std::
string& dbKey,
151 const EventContext& ctx) override;
161 virtual
void handle(
const Incident& incident ) override;
195 Gaudi::Property<std::string>
m_par_globalTag{
this,
"GlobalTag",
"",
"Global database tag"};
197 Gaudi::Property<std::string>
m_par_dbinst{
this,
"DBInstance",
"",
"Database instance (like OFLP200)"};
199 Gaudi::Property<std::vector<std::string> >
m_par_folders{
this,
"Folders",{},
"List of database folders to preload",
"OrderedSet<std::string>"};
201 Gaudi::Property<std::vector<std::string> >
m_par_overrideTags{
this,
"overrideTags",{},
"List of foolder-tag overrides",
"OrderedSet<std::string>"};
203 Gaudi::Property<std::vector<std::string> >
m_par_foldersToWrite{
this,
"FoldersToMetaData",{},
"list of folders to write to file meta data",
"OrderedSet<std::string>"};
215 IntegerProperty
m_par_maxNumPoolFiles{
this,
"MaxPoolFilesOpen",5,
"max number of pool files open allowed (0 means no limit)"};
217 FloatProperty
m_par_timeStampSlop{
this,
"TimeStampSlop",0.0,
"backdata timestamp IOVs by this many seconds"};
219 IntegerProperty
m_par_cacheRun{
this,
"CacheRun",0,
"force larger numbers of runs to be cached"};
221 IntegerProperty
m_par_cacheTime{
this,
"CacheTime",0,
"force larger timeranges to be cached (seconds)"};
224 UnsignedIntegerProperty
m_par_cacheAlign{
this,
"CacheAlign",0,
"cache alignment - divide cache into N slices and align queries on slice"};
226 BooleanProperty
m_par_onlineMode{
this,
"OnlineMode",
false,
"online mode flag to ignore missing channels outside cache range"};
228 BooleanProperty
m_par_checklock{
this,
"CheckLock",
false,
"check to ensure global/HVS tags are locked (for production)"};
230 StringProperty
m_par_source{
this,
"Source",
"COOL_DATABASE",
"source of data as a string (default COOL_DATABASE)"};
232 StringProperty
m_par_crestServer{
this,
"crestServer",
"http://crest-undertow-api.web.cern.ch",
"CREST URL with the port number as a string (default http://crest-undertow-api.web.cern.ch)"};
236 StringProperty
m_par_format{
this,
"Format",{},
"Format of data; default is empty string (default for a given source)"};
238 BooleanProperty
m_outputToFile{
this,
"OutputToFile",
false,
"output to file for debugging purposes"};
239 BooleanProperty
m_crestToFile{
this,
"CrestToFile",
false,
"output to file crest data for debugging purposes"};
240 BooleanProperty
m_crestCoolToFile{
this,
"CrestCoolToFile",
false,
"output to file crest or cool data in the same format for debugging purposes"};
250 PublicToolHandle<IIOVDbMetaDataTool>
m_h_metaDataTool{
this,
"IOVDbMetaDataTool",
"IOVDbMetaDataTool"};
virtual void postConditionsLoad() override
May be called once conditions are loaded to let IOVDbSvc release resources.
Athena service for Interval Of Validity database. The IOVDbSvc may be in one of three time states whi...
virtual StatusCode initialize() override
Service init.
virtual StatusCode preLoadAddresses(StoreID::type storeID, tadList &list) override
Get all addresses that the provider wants to preload in SG maps.
virtual bool getKeyInfo(const std::string &key, IIOVDbSvc::KeyInfo &info) override
Return information about SG key return false if this key is not known to IOVDbSvc.
Validity Range object. Holds two IOVTimes (start and stop)
BooleanProperty m_crestCoolToFile
virtual cool::IDatabasePtr getDatabase(bool readOnly) override
Access to COOL database for a given folder.
IntegerProperty m_par_maxNumPoolFiles
virtual void signalEndProxyPreload() override
Signal that callback has been fired.
tadList::iterator tadListIterator
ServiceHandle< IPoolSvc > m_h_poolSvc
FloatProperty m_par_timeStampSlop
virtual bool dropObject(const std::string &key, const bool resetCache=false) override
StatusCode io_reinit() override final
BooleanProperty m_par_manageConnections
Abstract interface to IOVDbSvc to access IOVRange and tag information.
bool const RAWDATA *ch2 const
Abstract interface to IOVDbSvc to access IOVRange and tag information.
This class is a collection of AttributeLists where each one is associated with a channel number....
Support class for PropertyMgr.
BooleanProperty m_crestToFile
ServiceHandle< StoreGateSvc > m_h_metaDataStore
ServiceHandle< IClassIDSvc > m_h_clidSvc
Basic time unit for IOVSvc. Hold time as a combination of run and event numbers.
virtual StatusCode queryInterface(const InterfaceID &riid, void **ppvInterface) override
Query the interfaces.
IntegerProperty m_par_forceRunNumber
Basic time unit for IOVSvc. Hold time as a combination of run and event numbers.
The Athena Transient Store API.
virtual StatusCode setRange(const CLID &clid, const std::string &dbKey, const IOVRange &range, const std::string &tag) override
Set range for a particular data object.
IntegerProperty m_par_forceLumiblockNumber
virtual StatusCode processTagInfo() override
Process TagInfo.
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual StatusCode updateAddress(StoreID::type storeID, SG::TransientAddress *tad, const EventContext &ctx) override
Update a transient Address.
UnsignedIntegerProperty m_par_cacheAlign
StringProperty m_par_crestServer
interface for IOA providers
StatusCode checkEventSel()
static const InterfaceID & interfaceID()
std::map< std::string, std::string > m_cresttagmap
BooleanProperty m_par_managePoolConnections
defines an enum used by address providers to decide what kind of StoreGateSvc they are providing addr...
Gaudi::Property< std::string > m_par_defaultConnection
virtual std::vector< std::string > getKeyList() override
return list of SG keys being provided by IOVDbSvc
ServiceHandle< ITagInfoMgr > m_h_tagInfoMgr
uint32_t CLID
The Class ID type.
BooleanProperty m_par_onlineMode
std::map< std::string, IOVDbFolder * > FolderMap
BooleanProperty m_par_checklock
virtual void handle(const Incident &incident) override
Incident service handle for EndEvent.
StatusCode io_finalize() override final
Gaudi::Property< std::vector< std::string > > m_par_overrideTags
BooleanProperty m_outputToFile
This file contains the class definition for the IPoolSvc interface class.
ServiceHandle< IAddressCreator > m_h_persSvc
IntegerProperty m_par_cacheRun
StringProperty m_par_format
Gaudi::Property< std::string > m_par_globalTag
Gaudi::Property< std::string > m_par_dbinst
bool m_poolPayloadRequested
virtual StatusCode getRange(const CLID &clid, const std::string &dbKey, const IOVTime &time, IOVRange &range, std::string &tag, std::unique_ptr< IOpaqueAddress > &ioa) override
Get range for a particular data object identified by its clid and key and a requested IOVTime.
This is a Athena service which manages detector description tag information. It maintains a TagInfo o...
std::vector< IOVDbConn * > ConnVec
def time(flags, cells_name, *args, **kw)
Gaudi::Property< std::vector< std::string > > m_par_folders
virtual StatusCode finalize() override
Service finalize.
This class provides a unique identification for each event, in terms of run/event number and/or a tim...
std::list< SG::TransientAddress * > tadList
=============================================================================
Filled by IIOVDbSvc::getKeyInfo.
cool::ValidityKey m_iovslop
ServiceHandle< StoreGateSvc > m_h_detStore
StatusCode loadCaches(IOVDbConn *conn, const IOVTime *time=nullptr)
StatusCode setupFolders()
ServiceHandle< IIOVSvc > m_h_IOVSvc
virtual StatusCode signalBeginRun(const IOVTime &beginRunTime, const EventContext &ctx) override
Set time for begin run.
StringProperty m_par_source
ServiceHandle< StoreGateSvc > m_h_sgSvc
Gaudi::Property< std::vector< std::string > > m_par_foldersToWrite
Header for CrestFunctions utilities.
virtual StatusCode loadAddresses(StoreID::type storeID, tadList &list) override
Get all new addresses from Provider for this Event.
PublicToolHandle< IIOVDbMetaDataTool > m_h_metaDataTool
IntegerProperty m_par_forceTimestamp
StatusCode checkConfigConsistency() const
IntegerProperty m_par_cacheTime