ATLAS Offline Software
IOVRegistrationSvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
16 #ifndef REGISTRATIONSERVICES_IOVREGISTRATIONSVC_H
17 # define REGISTRATIONSERVICES_IOVREGISTRATIONSVC_H
18 
19 //<<<<<< INCLUDES >>>>>>
20 
23 #include "GaudiKernel/ServiceHandle.h"
24 #include "GaudiKernel/ClassID.h"
25 #include "CoolKernel/StorageType.h"
26 
27 //<<<<<< FORWARD DECLARATIONS >>>>>>
28 
29 class IIOVCondDbSvc;
30 class StoreGateSvc;
31 class IAddressCreator;
32 class IClassIDSvc;
33 
34 
35 //<<<<<< CLASS DECLARATIONS >>>>>>
36 
52 class IOVRegistrationSvc : public extends<AthService, IIOVRegistrationSvc>
53 {
54 
55 public:
56 
57  IOVRegistrationSvc( const std::string& name, ISvcLocator* svc );
58 
59  virtual ~IOVRegistrationSvc();
60 
62  virtual const InterfaceID& type() const;
63 
67  virtual StatusCode registerIOV( const std::string& typeName ) const;
68 
73  virtual StatusCode registerIOV( const std::string& typeName, const std::string& tag ) const;
74 
79  virtual StatusCode registerIOV( const std::string& typeName, const std::string& key,
80  const std::string& tag ) const;
81 
84  virtual StatusCode registerIOV( const std::string& typeName,
85  const std::string& tag,
86  unsigned int beginRun,
87  unsigned int endRun,
88  unsigned int beginLB,
89  unsigned int endLB ) const;
90 
91 
94  virtual StatusCode registerIOV( const std::string& typeName,
95  const std::string& tag,
96  uint64_t beginTime,
97  uint64_t endTime ) const;
98 
101  virtual StatusCode registerIOV( const std::string& typeName,
102  const std::string& key,
103  const std::string& tag,
104  unsigned int beginRun,
105  unsigned int endRun,
106  unsigned int beginLB,
107  unsigned int endLB ) const;
108 
111  virtual StatusCode registerIOV( const std::string& typeName,
112  const std::string& key,
113  const std::string& tag,
114  uint64_t beginTime,
115  uint64_t endTime ) const;
116 
119  virtual StatusCode registerIOV( const std::string& typeName,
120  const std::string& key,
121  const std::string& folder,
122  const std::string& tag,
123  unsigned int beginRun,
124  unsigned int endRun,
125  unsigned int beginLB,
126  unsigned int endLB ) const;
127 
130  virtual StatusCode registerIOV( const std::string& typeName,
131  const std::string& key,
132  const std::string& folder,
133  const std::string& tag,
134  uint64_t beginTime,
135  uint64_t endTime ) const;
136 
138  virtual StatusCode initialize();
139 
141  virtual StatusCode finalize();
142 
143 
144 private:
145 
146  // Allow SvcFactory to instantiate the service.
147  friend class SvcFactory<IOVRegistrationSvc>;
148 
149  StatusCode registerIOV(const std::string& typeName,
150  const std::string& key,
151  const std::string& folder,
152  const std::string& tag,
153  const IOVTime& begin,
154  const IOVTime& end) const;
155 
156  StatusCode registerIOVCOOL(const std::string& typeName,
157  const std::string& key,
158  const std::string& folderName,
159  const std::string& tag,
160  const IOVTime& begin,
161  const IOVTime& end) const;
162 
164  const std::string& coralName) const;
165 
167  const std::string& key,
168  std::string& saddr) const;
169 
170  uint64_t timeToNano(const unsigned long int timesec) const;
171 
174  virtual StatusCode buildDescription(const std::string& identifier,
175  const std::string& value,
176  std::string& description) const;
177 
179  StatusCode splitAddress(const std::string& address,
180  std::string& address_header,
181  std::string& address_data) const;
182 
183 
184 
185 
186  BooleanProperty m_recreateFolders;
187  UnsignedIntegerProperty m_beginRun;
188  UnsignedIntegerProperty m_endRun;
189  UnsignedIntegerProperty m_beginLB;
190  UnsignedIntegerProperty m_endLB;
191 
192  UnsignedLongProperty m_beginTime;
193  UnsignedLongProperty m_endTime;
194 
195  StringProperty m_tag;
196  BooleanProperty m_timeStamp;
197  StringProperty m_tagDescription;
198  BooleanProperty m_writeKeyInfo;
199  BooleanProperty m_userTags;
200  BooleanProperty m_userTagsUH;
201  BooleanProperty m_svFolder;
202  BooleanProperty m_payloadTable;
203  BooleanProperty m_forceGlobalIOV;
204  std::vector<std::string> m_overrideName;
205  std::vector<std::string> m_overrideType;
206 
211 
212 };
213 
214 
215 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>>
216 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>>
217 
218 #endif // REGISTRATIONSERVICES_IOVREGISTRATIONSVC_H
IOVRegistrationSvc::~IOVRegistrationSvc
virtual ~IOVRegistrationSvc()
Definition: IOVRegistrationSvc.cxx:98
IOVRegistrationSvc::m_beginLB
UnsignedIntegerProperty m_beginLB
Definition: IOVRegistrationSvc.h:189
IOVRegistrationSvc::m_svFolder
BooleanProperty m_svFolder
Definition: IOVRegistrationSvc.h:201
IOVRegistrationSvc::m_tag
StringProperty m_tag
Definition: IOVRegistrationSvc.h:195
SvcFactory
Definition: AthCnvSvc.h:28
python.CreateTierZeroArgdict.parname
parname
Definition: CreateTierZeroArgdict.py:194
PlotCalibFromCool.begin
begin
Definition: PlotCalibFromCool.py:94
IOVRegistrationSvc::m_writeKeyInfo
BooleanProperty m_writeKeyInfo
Definition: IOVRegistrationSvc.h:198
IIOVRegistrationSvc.h
This is an interface to a tool used to register conditions objects in the Interval of Validity (IOV) ...
athena.value
value
Definition: athena.py:124
IOVRegistrationSvc::m_userTags
BooleanProperty m_userTags
Definition: IOVRegistrationSvc.h:199
IOVRegistrationSvc::registerIOVCOOL
StatusCode registerIOVCOOL(const std::string &typeName, const std::string &key, const std::string &folderName, const std::string &tag, const IOVTime &begin, const IOVTime &end) const
Definition: IOVRegistrationSvc.cxx:473
xAOD::identifier
identifier
Definition: UncalibratedMeasurement_v1.cxx:15
IOVRegistrationSvc::m_endRun
UnsignedIntegerProperty m_endRun
Definition: IOVRegistrationSvc.h:188
IOVRegistrationSvc::m_endLB
UnsignedIntegerProperty m_endLB
Definition: IOVRegistrationSvc.h:190
IOVRegistrationSvc::getStringAddress
StatusCode getStringAddress(const CLID &clid, const std::string &key, std::string &saddr) const
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
IOVRegistrationSvc::splitAddress
StatusCode splitAddress(const std::string &address, std::string &address_header, std::string &address_data) const
Split address in its header and data parts.
Definition: IOVRegistrationSvc.cxx:1180
IOVTime
Basic time unit for IOVSvc. Hold time as a combination of run and event numbers.
Definition: IOVTime.h:33
IOVRegistrationSvc::m_forceGlobalIOV
BooleanProperty m_forceGlobalIOV
Definition: IOVRegistrationSvc.h:203
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:125
IOVRegistrationSvc::initialize
virtual StatusCode initialize()
Initialize AlgTool.
Definition: IOVRegistrationSvc.cxx:109
IOVRegistrationSvc::m_iov_db
ServiceHandle< IIOVCondDbSvc > m_iov_db
Definition: IOVRegistrationSvc.h:207
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IOVRegistrationSvc::coralToCoolType
cool::StorageType::TypeId coralToCoolType(const std::string &parname, const std::string &coralName) const
Definition: IOVRegistrationSvc.cxx:1115
xAOD::uint64_t
uint64_t
Definition: EventInfo_v1.cxx:123
Handler::svc
AthROOTErrorHandlerSvc * svc
Definition: AthROOTErrorHandlerSvc.cxx:10
IOVRegistrationSvc::m_overrideType
std::vector< std::string > m_overrideType
Definition: IOVRegistrationSvc.h:205
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
IOVRegistrationSvc::m_persSvc
ServiceHandle< IAddressCreator > m_persSvc
Definition: IOVRegistrationSvc.h:209
IOVRegistrationSvc::m_recreateFolders
BooleanProperty m_recreateFolders
Definition: IOVRegistrationSvc.h:186
IOVRegistrationSvc::m_endTime
UnsignedLongProperty m_endTime
Definition: IOVRegistrationSvc.h:193
CaloCellTimeCorrFiller.folderName
string folderName
Definition: CaloCellTimeCorrFiller.py:20
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
RTTAlgmain.address
address
Definition: RTTAlgmain.py:55
IOVRegistrationSvc::m_clidSvc
ServiceHandle< IClassIDSvc > m_clidSvc
Definition: IOVRegistrationSvc.h:210
IOVRegistrationSvc::finalize
virtual StatusCode finalize()
Finalize AlgTool.
Definition: IOVRegistrationSvc.cxx:182
IOVRegistrationSvc::buildDescription
virtual StatusCode buildDescription(const std::string &identifier, const std::string &value, std::string &description) const
Build the folder description field add in front of the description the value with identifier-markups.
Definition: IOVRegistrationSvc.cxx:1167
IOVRegistrationSvc::type
virtual const InterfaceID & type() const
Service type.
Definition: IOVRegistrationSvc.cxx:101
IOVRegistrationSvc::registerIOV
virtual StatusCode registerIOV(const std::string &typeName) const
Register IOV DB for an object given its typeName - run/LB numbers interval or times interval and tag ...
Definition: IOVRegistrationSvc.cxx:189
IOVRegistrationSvc::m_payloadTable
BooleanProperty m_payloadTable
Definition: IOVRegistrationSvc.h:202
IOVRegistrationSvc::m_userTagsUH
BooleanProperty m_userTagsUH
Definition: IOVRegistrationSvc.h:200
IOVRegistrationSvc::m_beginTime
UnsignedLongProperty m_beginTime
Definition: IOVRegistrationSvc.h:192
IIOVCondDbSvc
Definition: IIOVCondDbSvc.h:25
CaloCondBlobAlgs_fillNoiseFromASCII.folder
folder
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:56
AthService.h
ReadCalibFromCool.typeName
typeName
Definition: ReadCalibFromCool.py:477
IOVRegistrationSvc::m_timeStamp
BooleanProperty m_timeStamp
Definition: IOVRegistrationSvc.h:196
CaloCondBlobAlgs_fillNoiseFromASCII.tag
string tag
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:24
IOVRegistrationSvc::m_overrideName
std::vector< std::string > m_overrideName
Definition: IOVRegistrationSvc.h:204
IOVRegistrationSvc::IOVRegistrationSvc
IOVRegistrationSvc(const std::string &name, ISvcLocator *svc)
Definition: IOVRegistrationSvc.cxx:51
IOVRegistrationSvc
Definition: IOVRegistrationSvc.h:53
IOVRegistrationSvc::m_beginRun
UnsignedIntegerProperty m_beginRun
Definition: IOVRegistrationSvc.h:187
Crest::TypeId
TypeId
Definition: CrestContainer.h:24
IOVRegistrationSvc::m_detStore
ServiceHandle< StoreGateSvc > m_detStore
Definition: IOVRegistrationSvc.h:208
IOVRegistrationSvc::timeToNano
uint64_t timeToNano(const unsigned long int timesec) const
Definition: IOVRegistrationSvc.cxx:1156
lumiFormat.endTime
endTime
Definition: lumiFormat.py:100
description
std::string description
glabal timer - how long have I taken so far?
Definition: hcg.cxx:88
ServiceHandle< IIOVCondDbSvc >
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37
IOVRegistrationSvc::m_tagDescription
StringProperty m_tagDescription
Definition: IOVRegistrationSvc.h:197