ATLAS Offline Software
|
Athena service for Interval Of Validity database. The IOVDbSvc may be in one of three time states which determines from where the IOV time is coming: initialization - IOV time must be set from the EventSelector begin run - IOV time should have been set with signalBeginRun event loop - IOV time is from EventInfo. More...
#include <IOVDbSvc.h>
Public Types | |
typedef IAddressProvider::tadList | tadList |
typedef IAddressProvider::tadListIterator | tadListIterator |
Public Member Functions | |
virtual | ~IOVDbSvc () |
virtual StatusCode | initialize () override |
Service init. More... | |
StatusCode | io_reinit () override final |
virtual StatusCode | finalize () override |
Service finalize. More... | |
StatusCode | io_finalize () override final |
virtual cool::IDatabasePtr | getDatabase (bool readOnly) override |
Access to COOL database for a given folder. More... | |
Address use | |
virtual StatusCode | preLoadAddresses (StoreID::type storeID, tadList &list) override |
Get all addresses that the provider wants to preload in SG maps. More... | |
virtual StatusCode | loadAddresses (StoreID::type storeID, tadList &list) override |
Get all new addresses from Provider for this Event. More... | |
virtual StatusCode | updateAddress (StoreID::type storeID, SG::TransientAddress *tad, const EventContext &ctx) override |
Update a transient Address. More... | |
IOV range access | |
enum | IOVDbSvc_state { INITIALIZATION = 0, BEGIN_RUN, EVENT_LOOP, FINALIZE_ALG } |
typedef std::vector< IOVDbConn * > | ConnVec |
typedef std::map< std::string, IOVDbFolder * > | FolderMap |
Gaudi::Property< std::string > | m_par_defaultConnection {this,"dbConnection","sqlite://;schema=cooldummy.db;dbname=OFLP200","default DB connection string"} |
Gaudi::Property< std::string > | m_par_globalTag {this,"GlobalTag","","Global database tag"} |
Gaudi::Property< std::string > | m_par_dbinst {this,"DBInstance","","Database instance (like OFLP200)"} |
Gaudi::Property< std::vector< std::string > > | m_par_folders {this,"Folders",{},"List of database folders to preload","OrderedSet<std::string>"} |
Gaudi::Property< std::vector< std::string > > | m_par_overrideTags {this,"overrideTags",{},"List of foolder-tag overrides","OrderedSet<std::string>"} |
Gaudi::Property< std::vector< std::string > > | m_par_foldersToWrite {this,"FoldersToMetaData",{},"list of folders to write to file meta data","OrderedSet<std::string>"} |
BooleanProperty | m_par_manageConnections {this,"ManageConnections",true,"flag to trigger the connections management"} |
BooleanProperty | m_par_managePoolConnections {this,"ManagePoolConnections",true,"flag to manage pool connections"} |
IntegerProperty | m_par_forceRunNumber {this,"forceRunNumber",0,"globally force run-number (default: no force)"} |
IntegerProperty | m_par_forceLumiblockNumber {this,"forceLumiblockNumber",0,"globally force LB-number (default: no force)"} |
IntegerProperty | m_par_forceTimestamp {this,"forceTimeStamp",0,"globally force time-stamp (default: no force)"} |
IntegerProperty | m_par_maxNumPoolFiles {this,"MaxPoolFilesOpen",5,"max number of pool files open allowed (0 means no limit)"} |
FloatProperty | m_par_timeStampSlop {this,"TimeStampSlop",0.0,"backdata timestamp IOVs by this many seconds"} |
IntegerProperty | m_par_cacheRun {this,"CacheRun",0,"force larger numbers of runs to be cached"} |
IntegerProperty | m_par_cacheTime {this,"CacheTime",0,"force larger timeranges to be cached (seconds)"} |
UnsignedIntegerProperty | m_par_cacheAlign {this,"CacheAlign",0,"cache alignment - divide cache into N slices and align queries on slice"} |
BooleanProperty | m_par_onlineMode {this,"OnlineMode",false,"online mode flag to ignore missing channels outside cache range"} |
BooleanProperty | m_par_checklock {this,"CheckLock",false,"check to ensure global/HVS tags are locked (for production)"} |
StringProperty | m_par_source {this,"Source","COOL_DATABASE","source of data as a string (default COOL_DATABASE)"} |
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)"} |
std::map< std::string, std::string > | m_cresttagmap |
StringProperty | m_par_format {this,"Format",{},"Format of data; default is empty string (default for a given source)"} |
BooleanProperty | m_outputToFile {this,"OutputToFile",false,"output to file for debugging purposes"} |
BooleanProperty | m_crestToFile {this,"CrestToFile",false,"output to file crest data for debugging purposes"} |
BooleanProperty | m_crestCoolToFile {this,"CrestCoolToFile",false,"output to file crest or cool data in the same format for debugging purposes"} |
ServiceHandle< IIOVSvc > | m_h_IOVSvc {this,"IOVSvc","IOVSvc"} |
ServiceHandle< StoreGateSvc > | m_h_sgSvc {this,"StoreGateSvc","StoreGateSvc"} |
ServiceHandle< StoreGateSvc > | m_h_detStore {this,"DetectorStore","DetectorStore"} |
ServiceHandle< StoreGateSvc > | m_h_metaDataStore {this,"MetaDataStore","StoreGateSvc/MetaDataStore"} |
ServiceHandle< IAddressCreator > | m_h_persSvc {this,"EventPersistencySvc","EventPersistencySvc"} |
ServiceHandle< IClassIDSvc > | m_h_clidSvc {this,"ClassIDSvc","ClassIDSvc"} |
ServiceHandle< IPoolSvc > | m_h_poolSvc {this,"PoolSvc","PoolSvc"} |
PublicToolHandle< IIOVDbMetaDataTool > | m_h_metaDataTool {this,"IOVDbMetaDataTool","IOVDbMetaDataTool"} |
ServiceHandle< ITagInfoMgr > | m_h_tagInfoMgr {this,"TagInfoMgr","TagInfoMgr"} |
bool | m_poolPayloadRequested {false} |
int | m_poolSvcContext {-1} |
IOVDbSvc_state | m_state {INITIALIZATION} |
IOVTime | m_iovTime {} |
std::string | m_globalTag {} |
cool::ValidityKey | m_iovslop {} |
ConnVec | m_connections |
FolderMap | m_foldermap |
bool | m_abort {false} |
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. More... | |
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. More... | |
virtual StatusCode | signalBeginRun (const IOVTime &beginRunTime, const EventContext &ctx) override |
Set time for begin run. More... | |
virtual void | signalEndProxyPreload () override |
Signal that callback has been fired. More... | |
virtual void | postConditionsLoad () override |
May be called once conditions are loaded to let IOVDbSvc release resources. More... | |
virtual void | handle (const Incident &incident) override |
Incident service handle for EndEvent. More... | |
virtual StatusCode | processTagInfo () override |
Process TagInfo. More... | |
virtual std::vector< std::string > | getKeyList () override |
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. More... | |
virtual bool | dropObject (const std::string &key, const bool resetCache=false) override |
StatusCode | checkConfigConsistency () const |
StatusCode | checkEventSel () |
StatusCode | setupFolders () |
StatusCode | fillTagInfo () |
StatusCode | loadCaches (IOVDbConn *conn, const IOVTime *time=nullptr) |
int | poolSvcContext () |
Athena service for Interval Of Validity database. The IOVDbSvc may be in one of three time states which determines from where the IOV time is coming: initialization - IOV time must be set from the EventSelector begin run - IOV time should have been set with signalBeginRun event loop - IOV time is from EventInfo.
Definition at line 77 of file IOVDbSvc.h.
|
private |
Definition at line 279 of file IOVDbSvc.h.
|
private |
Definition at line 282 of file IOVDbSvc.h.
Definition at line 103 of file IOVDbSvc.h.
Definition at line 104 of file IOVDbSvc.h.
|
private |
Enumerator | |
---|---|
INITIALIZATION | |
BEGIN_RUN | |
EVENT_LOOP | |
FINALIZE_ALG |
Definition at line 261 of file IOVDbSvc.h.
|
virtualdefault |
|
private |
Definition at line 1163 of file IOVDbSvc.cxx.
|
private |
Definition at line 872 of file IOVDbSvc.cxx.
|
overridevirtual |
Definition at line 844 of file IOVDbSvc.cxx.
|
private |
Definition at line 1082 of file IOVDbSvc.cxx.
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
Return information about SG key return false if this key is not known to IOVDbSvc.
Definition at line 824 of file IOVDbSvc.cxx.
|
overridevirtual |
Definition at line 816 of file IOVDbSvc.cxx.
|
overridevirtual |
Get range for a particular data object identified by its clid and key and a requested IOVTime.
Definition at line 562 of file IOVDbSvc.cxx.
|
overridevirtual |
Incident service handle for EndEvent.
Definition at line 754 of file IOVDbSvc.cxx.
|
overridevirtual |
Service init.
Definition at line 159 of file IOVDbSvc.cxx.
|
finaloverride |
Definition at line 253 of file IOVDbSvc.cxx.
|
finaloverride |
Definition at line 246 of file IOVDbSvc.cxx.
|
overridevirtual |
Get all new addresses from Provider for this Event.
Definition at line 439 of file IOVDbSvc.cxx.
Definition at line 1117 of file IOVDbSvc.cxx.
|
private |
Definition at line 140 of file IOVDbSvc.cxx.
|
overridevirtual |
May be called once conditions are loaded to let IOVDbSvc release resources.
Definition at line 729 of file IOVDbSvc.cxx.
|
overridevirtual |
Get all addresses that the provider wants to preload in SG maps.
Definition at line 313 of file IOVDbSvc.cxx.
|
overridevirtual |
Process TagInfo.
Definition at line 774 of file IOVDbSvc.cxx.
|
overridevirtual |
Set range for a particular data object.
Definition at line 646 of file IOVDbSvc.cxx.
|
private |
Definition at line 932 of file IOVDbSvc.cxx.
|
overridevirtual |
Set time for begin run.
Definition at line 654 of file IOVDbSvc.cxx.
|
overridevirtual |
Signal that callback has been fired.
Definition at line 725 of file IOVDbSvc.cxx.
|
overridevirtual |
Update a transient Address.
Definition at line 445 of file IOVDbSvc.cxx.
|
private |
Definition at line 285 of file IOVDbSvc.h.
|
private |
Definition at line 280 of file IOVDbSvc.h.
|
private |
Definition at line 233 of file IOVDbSvc.h.
|
private |
Definition at line 227 of file IOVDbSvc.h.
|
private |
Definition at line 232 of file IOVDbSvc.h.
|
private |
Definition at line 283 of file IOVDbSvc.h.
|
private |
Definition at line 273 of file IOVDbSvc.h.
|
private |
Definition at line 241 of file IOVDbSvc.h.
|
private |
Definition at line 238 of file IOVDbSvc.h.
|
private |
Definition at line 236 of file IOVDbSvc.h.
|
private |
Definition at line 239 of file IOVDbSvc.h.
|
private |
Definition at line 243 of file IOVDbSvc.h.
|
private |
Definition at line 240 of file IOVDbSvc.h.
|
private |
Definition at line 242 of file IOVDbSvc.h.
|
private |
Definition at line 237 of file IOVDbSvc.h.
|
private |
Definition at line 244 of file IOVDbSvc.h.
|
private |
Definition at line 276 of file IOVDbSvc.h.
|
private |
Definition at line 270 of file IOVDbSvc.h.
|
private |
Definition at line 231 of file IOVDbSvc.h.
|
private |
Definition at line 217 of file IOVDbSvc.h.
|
private |
Definition at line 212 of file IOVDbSvc.h.
|
private |
Definition at line 214 of file IOVDbSvc.h.
|
private |
Definition at line 221 of file IOVDbSvc.h.
|
private |
Definition at line 225 of file IOVDbSvc.h.
|
private |
Definition at line 190 of file IOVDbSvc.h.
|
private |
Definition at line 186 of file IOVDbSvc.h.
|
private |
Definition at line 192 of file IOVDbSvc.h.
|
private |
Definition at line 196 of file IOVDbSvc.h.
|
private |
Definition at line 204 of file IOVDbSvc.h.
|
private |
Definition at line 202 of file IOVDbSvc.h.
|
private |
Definition at line 206 of file IOVDbSvc.h.
|
private |
Definition at line 229 of file IOVDbSvc.h.
|
private |
Definition at line 188 of file IOVDbSvc.h.
|
private |
Definition at line 198 of file IOVDbSvc.h.
|
private |
Definition at line 200 of file IOVDbSvc.h.
|
private |
Definition at line 208 of file IOVDbSvc.h.
|
private |
Definition at line 219 of file IOVDbSvc.h.
|
private |
Definition at line 194 of file IOVDbSvc.h.
|
private |
Definition at line 223 of file IOVDbSvc.h.
|
private |
Definition at line 210 of file IOVDbSvc.h.
|
private |
Definition at line 249 of file IOVDbSvc.h.
|
private |
Definition at line 253 of file IOVDbSvc.h.
|
private |
Definition at line 267 of file IOVDbSvc.h.