ATLAS Offline Software
IOVRegistrationSvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 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 "GaudiKernel/IProperty.h"
26 #include "CoolKernel/StorageType.h"
27 
28 //<<<<<< FORWARD DECLARATIONS >>>>>>
29 
30 class IIOVCondDbSvc;
31 class StoreGateSvc;
32 class IAddressCreator;
33 class IClassIDSvc;
34 
35 
36 //<<<<<< CLASS DECLARATIONS >>>>>>
37 
54  public virtual IIOVRegistrationSvc
55 {
56  // Forward declarations
57  template <class TYPE> class SvcFactory;
58 
59 public:
60 
61  IOVRegistrationSvc( const std::string& name, ISvcLocator* svc );
62 
63  virtual ~IOVRegistrationSvc();
64 
66  virtual StatusCode queryInterface( const InterfaceID& riid, void** ppvInterface);
67 
69  virtual const InterfaceID& type() const;
70 
74  virtual StatusCode registerIOV( const std::string& typeName ) const;
75 
80  virtual StatusCode registerIOV( const std::string& typeName, const std::string& tag ) const;
81 
86  virtual StatusCode registerIOV( const std::string& typeName, const std::string& key,
87  const std::string& tag ) const;
88 
91  virtual StatusCode registerIOV( const std::string& typeName,
92  const std::string& tag,
93  unsigned int beginRun,
94  unsigned int endRun,
95  unsigned int beginLB,
96  unsigned int endLB ) const;
97 
98 
101  virtual StatusCode registerIOV( const std::string& typeName,
102  const std::string& tag,
103  uint64_t beginTime,
104  uint64_t endTime ) const;
105 
108  virtual StatusCode registerIOV( const std::string& typeName,
109  const std::string& key,
110  const std::string& tag,
111  unsigned int beginRun,
112  unsigned int endRun,
113  unsigned int beginLB,
114  unsigned int endLB ) const;
115 
118  virtual StatusCode registerIOV( const std::string& typeName,
119  const std::string& key,
120  const std::string& tag,
121  uint64_t beginTime,
122  uint64_t endTime ) const;
123 
126  virtual StatusCode registerIOV( const std::string& typeName,
127  const std::string& key,
128  const std::string& folder,
129  const std::string& tag,
130  unsigned int beginRun,
131  unsigned int endRun,
132  unsigned int beginLB,
133  unsigned int endLB ) const;
134 
137  virtual StatusCode registerIOV( const std::string& typeName,
138  const std::string& key,
139  const std::string& folder,
140  const std::string& tag,
141  uint64_t beginTime,
142  uint64_t endTime ) const;
143 
145  virtual StatusCode initialize();
146 
148  virtual StatusCode finalize();
149 
150 
151 private:
152 
153  // Allow SvcFactory to instantiate the service.
154  friend class SvcFactory<IOVRegistrationSvc>;
155 
156  StatusCode registerIOV(const std::string& typeName,
157  const std::string& key,
158  const std::string& folder,
159  const std::string& tag,
160  const IOVTime& begin,
161  const IOVTime& end) const;
162 
163  StatusCode registerIOVCOOL(const std::string& typeName,
164  const std::string& key,
165  const std::string& folderName,
166  const std::string& tag,
167  const IOVTime& begin,
168  const IOVTime& end) const;
169 
170  cool::StorageType::TypeId coralToCoolType(const std::string& parname,
171  const std::string& coralName) const;
172 
174  const std::string& key,
175  std::string& saddr) const;
176 
177  uint64_t timeToNano(const unsigned long int timesec) const;
178 
181  virtual StatusCode buildDescription(const std::string& identifier,
182  const std::string& value,
183  std::string& description) const;
184 
186  StatusCode splitAddress(const std::string& address,
187  std::string& address_header,
188  std::string& address_data) const;
189 
190 
191 
192 
193  BooleanProperty m_recreateFolders;
194  UnsignedIntegerProperty m_beginRun;
195  UnsignedIntegerProperty m_endRun;
196  UnsignedIntegerProperty m_beginLB;
197  UnsignedIntegerProperty m_endLB;
198 
199  UnsignedLongProperty m_beginTime;
200  UnsignedLongProperty m_endTime;
201 
202  StringProperty m_tag;
203  BooleanProperty m_timeStamp;
204  StringProperty m_tagDescription;
205  BooleanProperty m_writeKeyInfo;
206  BooleanProperty m_userTags;
207  BooleanProperty m_userTagsUH;
208  BooleanProperty m_svFolder;
209  BooleanProperty m_payloadTable;
210  BooleanProperty m_forceGlobalIOV;
211  std::vector<std::string> m_overrideName;
212  std::vector<std::string> m_overrideType;
213 
218 
219 };
220 
221 
222 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>>
223 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>>
224 
225 #endif // REGISTRATIONSERVICES_IOVREGISTRATIONSVC_H
IOVRegistrationSvc::~IOVRegistrationSvc
virtual ~IOVRegistrationSvc()
Definition: IOVRegistrationSvc.cxx:99
IOVRegistrationSvc::m_beginLB
UnsignedIntegerProperty m_beginLB
Definition: IOVRegistrationSvc.h:196
IOVRegistrationSvc::m_svFolder
BooleanProperty m_svFolder
Definition: IOVRegistrationSvc.h:208
IOVRegistrationSvc::m_tag
StringProperty m_tag
Definition: IOVRegistrationSvc.h:202
IOVRegistrationSvc::queryInterface
virtual StatusCode queryInterface(const InterfaceID &riid, void **ppvInterface)
Query the interfaces.
Definition: IOVRegistrationSvc.cxx:111
python.CreateTierZeroArgdict.parname
parname
Definition: CreateTierZeroArgdict.py:194
PlotCalibFromCool.begin
begin
Definition: PlotCalibFromCool.py:94
IOVRegistrationSvc::m_writeKeyInfo
BooleanProperty m_writeKeyInfo
Definition: IOVRegistrationSvc.h:205
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:122
IOVRegistrationSvc::m_userTags
BooleanProperty m_userTags
Definition: IOVRegistrationSvc.h:206
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:495
xAOD::identifier
identifier
Definition: UncalibratedMeasurement_v1.cxx:15
IOVRegistrationSvc::m_endRun
UnsignedIntegerProperty m_endRun
Definition: IOVRegistrationSvc.h:195
IOVRegistrationSvc::m_endLB
UnsignedIntegerProperty m_endLB
Definition: IOVRegistrationSvc.h:197
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:1202
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:210
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
IOVRegistrationSvc::initialize
virtual StatusCode initialize()
Initialize AlgTool.
Definition: IOVRegistrationSvc.cxx:131
IOVRegistrationSvc::m_iov_db
ServiceHandle< IIOVCondDbSvc > m_iov_db
Definition: IOVRegistrationSvc.h:214
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthService
Definition: AthService.h:32
IOVRegistrationSvc::coralToCoolType
cool::StorageType::TypeId coralToCoolType(const std::string &parname, const std::string &coralName) const
Definition: IOVRegistrationSvc.cxx:1137
xAOD::uint64_t
uint64_t
Definition: EventInfo_v1.cxx:123
IOVRegistrationSvc::SvcFactory
Definition: IOVRegistrationSvc.h:57
IIOVRegistrationSvc
This is an interface to a service used to register conditions objects in the Interval of Validity (IO...
Definition: IIOVRegistrationSvc.h:52
Handler::svc
AthROOTErrorHandlerSvc * svc
Definition: AthROOTErrorHandlerSvc.cxx:10
IOVRegistrationSvc::m_overrideType
std::vector< std::string > m_overrideType
Definition: IOVRegistrationSvc.h:212
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:216
IOVRegistrationSvc::m_recreateFolders
BooleanProperty m_recreateFolders
Definition: IOVRegistrationSvc.h:193
IOVRegistrationSvc::m_endTime
UnsignedLongProperty m_endTime
Definition: IOVRegistrationSvc.h:200
CaloCellTimeCorrFiller.folderName
string folderName
Definition: CaloCellTimeCorrFiller.py:20
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
RTTAlgmain.address
address
Definition: RTTAlgmain.py:55
IOVRegistrationSvc::m_clidSvc
ServiceHandle< IClassIDSvc > m_clidSvc
Definition: IOVRegistrationSvc.h:217
IOVRegistrationSvc::finalize
virtual StatusCode finalize()
Finalize AlgTool.
Definition: IOVRegistrationSvc.cxx:204
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:1189
IOVRegistrationSvc::type
virtual const InterfaceID & type() const
Service type.
Definition: IOVRegistrationSvc.cxx:102
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:211
IOVRegistrationSvc::m_payloadTable
BooleanProperty m_payloadTable
Definition: IOVRegistrationSvc.h:209
IOVRegistrationSvc::m_userTagsUH
BooleanProperty m_userTagsUH
Definition: IOVRegistrationSvc.h:207
IOVRegistrationSvc::m_beginTime
UnsignedLongProperty m_beginTime
Definition: IOVRegistrationSvc.h:199
IIOVCondDbSvc
Definition: IIOVCondDbSvc.h:34
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:203
CaloCondBlobAlgs_fillNoiseFromASCII.tag
string tag
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:24
IOVRegistrationSvc::m_overrideName
std::vector< std::string > m_overrideName
Definition: IOVRegistrationSvc.h:211
IOVRegistrationSvc::IOVRegistrationSvc
IOVRegistrationSvc(const std::string &name, ISvcLocator *svc)
Definition: IOVRegistrationSvc.cxx:52
IOVRegistrationSvc
Definition: IOVRegistrationSvc.h:55
IOVRegistrationSvc::m_beginRun
UnsignedIntegerProperty m_beginRun
Definition: IOVRegistrationSvc.h:194
IOVRegistrationSvc::m_detStore
ServiceHandle< StoreGateSvc > m_detStore
Definition: IOVRegistrationSvc.h:215
IOVRegistrationSvc::timeToNano
uint64_t timeToNano(const unsigned long int timesec) const
Definition: IOVRegistrationSvc.cxx:1178
lumiFormat.endTime
endTime
Definition: lumiFormat.py:107
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:204