ATLAS Offline Software
GeometryDBSvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef GeometryDBSvc_h
6 #define GeometryDBSvc_h
7 
9 
10 #include "GaudiKernel/IInterface.h"
12 
13 #include <vector>
14 #include <string>
15 
16 class TextFileDBReader;
17 class IRDBRecordset;
18 
25 class GeometryDBSvc: public extends<AthService, IGeometryDBSvc>
26 {
27 public:
28  GeometryDBSvc(const std::string& name, ISvcLocator* sl);
29  virtual ~GeometryDBSvc();
30 
31  virtual StatusCode initialize();
32  virtual StatusCode finalize();
33 
34  virtual double getDouble(IRDBRecordset_ptr recordSet, const std::string & name, int index=0) const;
35  virtual int getInt(IRDBRecordset_ptr recordSet, const std::string & name, int index=0) const;
36  virtual std::string getString(IRDBRecordset_ptr recordSet, const std::string & name, int index=0) const;
37  virtual bool testField(IRDBRecordset_ptr recordSet, const std::string & name, int index=0) const;
38  virtual bool testFieldTxt(IRDBRecordset_ptr recordSet, const std::string & name, int index=0) const;
39  virtual unsigned int getTableSize(IRDBRecordset_ptr recordSet) const;
40 
41  virtual double getDouble(const std::string & recordSetName, const std::string & name, int index=0) const;
42  virtual int getInt(const std::string & recordSetName, const std::string & name, int index=0) const;
43  virtual std::string getString(const std::string & recordSetName, const std::string & name, int index=0) const;
44  virtual bool testField(const std::string & recordSetName, const std::string & name, int index=0) const;
45  virtual unsigned int getTableSize(const std::string & recordSetName) const;
46 
48  virtual void printParameters(const std::string & section = "") const;
49 
51  virtual void printNotUsed(const std::string & section = "") const;
52 
53 
54 private:
55 
56  void setParameterFileName(const std::string & filename);
57  std::string parameterKey(const std::string & recordSetName, const std::string & name, int index) const;
58  bool getValue(const std::string & recordSetName, const std::string & name, int index, std::string & var) const;
59  bool getValue(const std::string & recordSetName, const std::string & name, int index, double & var) const;
60  bool getValue(const std::string & recordSetName, const std::string & name, int index, int & var) const;
61  bool getTableSizeFromTextFile(const std::string & recordSetName, int & var) const;
62 
63  // Pointer to text file interface
65 
66  // Properties
67  std::string m_textFileName;
70  std::vector<std::string> m_sections;
71 
72 
73 };
74 
75 #endif
GeometryDBSvc::testField
virtual bool testField(IRDBRecordset_ptr recordSet, const std::string &name, int index=0) const
Definition: GeometryDBSvc.cxx:290
beamspotnt.var
var
Definition: bin/beamspotnt.py:1394
GeometryDBSvc::m_printNotUsed
bool m_printNotUsed
Definition: GeometryDBSvc.h:69
GeometryDBSvc::getString
virtual std::string getString(IRDBRecordset_ptr recordSet, const std::string &name, int index=0) const
Definition: GeometryDBSvc.cxx:193
GeometryDBSvc::printParameters
virtual void printParameters(const std::string &section="") const
Print paramaters read in from text file. If section is supplied only consider the parameters in that ...
Definition: GeometryDBSvc.cxx:390
IGeometryDBSvc.h
GeometryDBSvc::getTableSizeFromTextFile
bool getTableSizeFromTextFile(const std::string &recordSetName, int &var) const
Definition: GeometryDBSvc.cxx:368
index
Definition: index.py:1
GeometryDBSvc::finalize
virtual StatusCode finalize()
Service finalize.
Definition: GeometryDBSvc.cxx:67
GeometryDBSvc::initialize
virtual StatusCode initialize()
Service init.
Definition: GeometryDBSvc.cxx:30
GeometryDBSvc::m_textParameters
TextFileDBReader * m_textParameters
Definition: GeometryDBSvc.h:64
GeometryDBSvc::testFieldTxt
virtual bool testFieldTxt(IRDBRecordset_ptr recordSet, const std::string &name, int index=0) const
Definition: GeometryDBSvc.cxx:283
GeometryDBSvc::printNotUsed
virtual void printNotUsed(const std::string &section="") const
Print paramaters from text file which are not used. If section is supplied only consider the paramete...
Definition: GeometryDBSvc.cxx:396
GeometryDBSvc::getValue
bool getValue(const std::string &recordSetName, const std::string &name, int index, std::string &var) const
Definition: GeometryDBSvc.cxx:226
GeometryDBSvc::getDouble
virtual double getDouble(IRDBRecordset_ptr recordSet, const std::string &name, int index=0) const
Definition: GeometryDBSvc.cxx:129
TextFileDBReader
Class to read in a text file and allow easy retrieval of parameters.
Definition: TextFileDBReader.h:18
IRDBRecordset
IRDBRecordset is an abstract interface to the RDB Recordsets, which represent a snapshot of HVS-tagge...
Definition: IRDBRecordset.h:35
GeometryDBSvc::parameterKey
std::string parameterKey(const std::string &recordSetName, const std::string &name, int index) const
Definition: GeometryDBSvc.cxx:117
GeometryDBSvc::~GeometryDBSvc
virtual ~GeometryDBSvc()
Definition: GeometryDBSvc.cxx:24
GeometryDBSvc::getInt
virtual int getInt(IRDBRecordset_ptr recordSet, const std::string &name, int index=0) const
Definition: GeometryDBSvc.cxx:161
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
GeometryDBSvc::setParameterFileName
void setParameterFileName(const std::string &filename)
Definition: GeometryDBSvc.cxx:101
GeometryDBSvc
Definition: GeometryDBSvc.h:26
GeometryDBSvc::GeometryDBSvc
GeometryDBSvc(const std::string &name, ISvcLocator *sl)
Definition: GeometryDBSvc.cxx:14
IRDBRecordset_ptr
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
Definition: IRDBAccessSvc.h:25
GeometryDBSvc::m_textFileName
std::string m_textFileName
Definition: GeometryDBSvc.h:67
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
GeometryDBSvc::m_sections
std::vector< std::string > m_sections
Definition: GeometryDBSvc.h:70
GeometryDBSvc::getTableSize
virtual unsigned int getTableSize(IRDBRecordset_ptr recordSet) const
Definition: GeometryDBSvc.cxx:324
CaloCellTimeCorrFiller.filename
filename
Definition: CaloCellTimeCorrFiller.py:24
GeometryDBSvc::m_printParameters
bool m_printParameters
Definition: GeometryDBSvc.h:68
AthService.h
section
void section(const std::string &sec)
Definition: TestTriggerMenuAccess.cxx:22