|
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"
87 using base_class::base_class;
118 SG::TransientAddress* tad,
119 const EventContext& ctx ) override;
128 const std::
string& dbKey,
132 std::unique_ptr<IOpaqueAddress>& ioa) override;
138 const std::
string& dbKey,
144 const EventContext& ctx) override;
154 virtual
void handle(
const Incident& incident ) override;
188 Gaudi::Property<std::string>
m_par_globalTag{
this,
"GlobalTag",
"",
"Global database tag"};
190 Gaudi::Property<std::string>
m_par_dbinst{
this,
"DBInstance",
"",
"Database instance (like OFLP200)"};
192 Gaudi::Property<std::vector<std::string> >
m_par_folders{
this,
"Folders",{},
"List of database folders to preload",
"OrderedSet<std::string>"};
194 Gaudi::Property<std::vector<std::string> >
m_par_overrideTags{
this,
"overrideTags",{},
"List of foolder-tag overrides",
"OrderedSet<std::string>"};
196 Gaudi::Property<std::vector<std::string> >
m_par_foldersToWrite{
this,
"FoldersToMetaData",{},
"list of folders to write to file meta data",
"OrderedSet<std::string>"};
208 IntegerProperty
m_par_maxNumPoolFiles{
this,
"MaxPoolFilesOpen",5,
"max number of pool files open allowed (0 means no limit)"};
210 FloatProperty
m_par_timeStampSlop{
this,
"TimeStampSlop",0.0,
"backdata timestamp IOVs by this many seconds"};
212 IntegerProperty
m_par_cacheRun{
this,
"CacheRun",0,
"force larger numbers of runs to be cached"};
214 IntegerProperty
m_par_cacheTime{
this,
"CacheTime",0,
"force larger timeranges to be cached (seconds)"};
217 UnsignedIntegerProperty
m_par_cacheAlign{
this,
"CacheAlign",0,
"cache alignment - divide cache into N slices and align queries on slice"};
219 BooleanProperty
m_par_onlineMode{
this,
"OnlineMode",
false,
"online mode flag to ignore missing channels outside cache range"};
221 BooleanProperty
m_par_checklock{
this,
"CheckLock",
false,
"check to ensure global/HVS tags are locked (for production)"};
223 StringProperty
m_par_source{
this,
"Source",
"COOL_DATABASE",
"source of data as a string (default COOL_DATABASE)"};
225 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)"};
229 StringProperty
m_par_format{
this,
"Format",{},
"Format of data; default is empty string (default for a given source)"};
231 BooleanProperty
m_outputToFile{
this,
"OutputToFile",
false,
"output to file for debugging purposes"};
232 BooleanProperty
m_crestToFile{
this,
"CrestToFile",
false,
"output to file crest data for debugging purposes"};
233 BooleanProperty
m_crestCoolToFile{
this,
"CrestCoolToFile",
false,
"output to file crest or cool data in the same format for debugging purposes"};
243 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.
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
IAddressProvider::tadList tadList
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.
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()
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
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.
IAddressProvider::tadListIterator tadListIterator
This class provides a unique identification for each event, in terms of run/event number and/or a tim...
=============================================================================
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