ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Public Attributes | Private Attributes | List of all members
LUCID_RDBAccess Class Reference

#include <LUCID_RDBAaccess.h>

Collaboration diagram for LUCID_RDBAccess:

Public Member Functions

 LUCID_RDBAccess ()
 
 ~LUCID_RDBAccess ()
 
void ReadDB ()
 
void SetParameters ()
 
void Print () const
 

Static Public Member Functions

static void CloseDB ()
 

Public Attributes

double distanceToIP {}
 
double VJdistanceToIP {}
 
double VJconelength {}
 
double VJconeRadiusFront {}
 
double VJconeRadiusBack {}
 
double VJconeThickness {}
 
double VJconeFrontRingThickness {}
 
double VJconeFrontRingLength {}
 
double VJconeFrontRingOverlap {}
 
double cylinderLength {}
 
double cylinderRadius {}
 
double cylinderThickness {}
 
double pmtPosition {}
 
double pmtRadius {}
 
double pmtThickness {}
 
double quartzDensity {}
 
double waveLengthStep {}
 
double waveLengthMin {}
 
double waveLengthMax {}
 

Private Attributes

IRDBRecordset_ptr m_lucidParams
 
ISvcLocator * m_svcLocator {}
 

Detailed Description

Definition at line 11 of file LUCID_RDBAaccess.h.

Constructor & Destructor Documentation

◆ LUCID_RDBAccess()

LUCID_RDBAccess::LUCID_RDBAccess ( )

Definition at line 23 of file LUCID_RDBAaccess.cxx.

23  {
24 
25  ReadDB();
26  SetParameters();
27  Print();
28  CloseDB();
29 }

◆ ~LUCID_RDBAccess()

LUCID_RDBAccess::~LUCID_RDBAccess ( )

Definition at line 31 of file LUCID_RDBAaccess.cxx.

31 {}

Member Function Documentation

◆ CloseDB()

void LUCID_RDBAccess::CloseDB ( )
static

Definition at line 121 of file LUCID_RDBAaccess.cxx.

121  {
122 
123  MsgStream log(Athena::getMessageSvc(), "LUCID_GeoModel::LUCID_RDBAaccess");
124 
125  log << MSG::DEBUG << " LUCID_RDBAaccess::CloseDB "<< endmsg;
126 
127  log << MSG::DEBUG << " ending LUCID_GeoModel::LUCID_RDBAaccess " << endmsg;
128 }

◆ Print()

void LUCID_RDBAccess::Print ( ) const

Definition at line 96 of file LUCID_RDBAaccess.cxx.

96  {
97 
98  MsgStream log(Athena::getMessageSvc(), "LUCID_GeoModel::LUCID_RDBAaccess");
99 
100  log << MSG::INFO << " distanceToIP [mm]: " << distanceToIP/Gaudi::Units::mm << endmsg;
101  log << MSG::INFO << " VJdistanceToIP [mm]: " << VJdistanceToIP/Gaudi::Units::mm << endmsg;
102  log << MSG::INFO << " VJconelength [mm]: " << VJconelength/Gaudi::Units::mm << endmsg;
103  log << MSG::INFO << " VJconeRadiusFront [mm]: " << VJconeRadiusFront/Gaudi::Units::mm << endmsg;
104  log << MSG::INFO << " VJconeRadiusBack [mm]: " << VJconeRadiusBack/Gaudi::Units::mm << endmsg;
105  log << MSG::INFO << " VJconeThickness [mm]: " << VJconeThickness/Gaudi::Units::mm << endmsg;
106  log << MSG::INFO << " VJconeFrontRingThickness[mm]: " << VJconeFrontRingThickness/Gaudi::Units::mm << endmsg;
107  log << MSG::INFO << " VJconeFrontRingLength [mm]: " << VJconeFrontRingLength/Gaudi::Units::mm << endmsg;
108  log << MSG::INFO << " VJconeFrontRingOverlap [mm]: " << VJconeFrontRingOverlap/Gaudi::Units::mm << endmsg;
109  log << MSG::INFO << " cylinderLength [mm]: " << cylinderLength/Gaudi::Units::mm << endmsg;
110  log << MSG::INFO << " cylinderRadius [mm]: " << cylinderRadius/Gaudi::Units::mm << endmsg;
111  log << MSG::INFO << " cylinderThickness [mm]: " << cylinderThickness/Gaudi::Units::mm << endmsg;
112  log << MSG::INFO << " pmtPosition [mm]: " << pmtPosition/Gaudi::Units::mm << endmsg;
113  log << MSG::INFO << " pmtRadius [mm]: " << pmtRadius/Gaudi::Units::mm << endmsg;
114  log << MSG::INFO << " pmtThickness [mm]: " << pmtThickness/Gaudi::Units::mm << endmsg;
115  log << MSG::INFO << " quartzDensity [g/cm3]: " << quartzDensity/(GeoModelKernelUnits::gram/Gaudi::Units::cm3) << endmsg;
116  log << MSG::INFO << " waveLengthStep [nm]: " << waveLengthStep << endmsg;
117  log << MSG::INFO << " waveLengthMin [nm]: " << waveLengthMin << endmsg;
118  log << MSG::INFO << " waveLengthMax [nm]: " << waveLengthMax << endmsg;
119 }

◆ ReadDB()

void LUCID_RDBAccess::ReadDB ( )

Definition at line 33 of file LUCID_RDBAaccess.cxx.

33  {
34 
35  MsgStream log(Athena::getMessageSvc(), "LUCID_GeoModel::LUCID_RDBAaccess");
36 
37  log << MSG::DEBUG << " Starting LUCID_GeoModel::LUCID_RDBAaccess " << endmsg;
38  log << MSG::DEBUG << " LUCID_RDBAaccess::ReadDB "<< endmsg;
39 
40  m_svcLocator = Gaudi::svcLocator();
41  IRDBAccessSvc* iAccessSvc = nullptr;
42 
43  StatusCode result = m_svcLocator->service("RDBAccessSvc", iAccessSvc);
44 
45  if (result.isFailure() || iAccessSvc == nullptr) {
46 
47  log << MSG::FATAL << " Could not initialize RDBAccessSvc! " << endmsg;
48 
49  throw GaudiException(" Could not initalize RDBAccessSvc ", "LUCID_GeoModel", StatusCode::FAILURE);
50  }
51 
52  DecodeVersionKey atlasVersion("ATLAS");
53  const std::string& AtlasVersion = atlasVersion.tag();
54 
55  m_lucidParams = iAccessSvc->getRecordsetPtr("LucidParams", AtlasVersion, "ATLAS");
56 
57  if (!m_lucidParams->size()) std::cerr << " ERROR: Unable to retrieve LucidParams data "<< std::endl;
58 
59  log << MSG::INFO << " LUCID data corresponding to " << AtlasVersion << " fetched " << endmsg;
60 }

◆ SetParameters()

void LUCID_RDBAccess::SetParameters ( )

Definition at line 62 of file LUCID_RDBAaccess.cxx.

62  {
63 
64  MsgStream log(Athena::getMessageSvc(), "LUCID_GeoModel::LUCID_RDBAaccess");
65 
66  log << MSG::DEBUG << " LUCID_RDBAaccess::SetParameters "<< endmsg;
67 
68  log << MSG::DEBUG << " Starting LUCID_GeoModel::LUCID_RDBAaccess " << endmsg;
69 
70  IRDBRecordset::const_iterator AccessSvc_iter;
71 
72  for(AccessSvc_iter = m_lucidParams->begin(); AccessSvc_iter != m_lucidParams->end(); ++AccessSvc_iter) {
73 
74  distanceToIP = (*AccessSvc_iter)->getDouble("DISTANCETOIP")*Gaudi::Units::mm;
75  VJdistanceToIP = (*AccessSvc_iter)->getDouble("VJDISTANCETOIP")*Gaudi::Units::mm;
76  VJconelength = (*AccessSvc_iter)->getDouble("VJCONELENGTH")*Gaudi::Units::mm;
77  VJconeRadiusFront = (*AccessSvc_iter)->getDouble("VJCONERADIUSFRONT")*Gaudi::Units::mm;
78  VJconeRadiusBack = (*AccessSvc_iter)->getDouble("VJCONERADIUSBACK")*Gaudi::Units::mm;
79  VJconeThickness = (*AccessSvc_iter)->getDouble("VJCONETHICKNESS")*Gaudi::Units::mm;
80  VJconeFrontRingThickness = (*AccessSvc_iter)->getDouble("VJCONEFRONTRINGTHICKNESS")*Gaudi::Units::mm;
81  VJconeFrontRingLength = (*AccessSvc_iter)->getDouble("VJCONEFRONTRINGLENGTH")*Gaudi::Units::mm;
82  VJconeFrontRingOverlap = (*AccessSvc_iter)->getDouble("VJCONEFRONTRINGOVERLAP")*Gaudi::Units::mm;
83  cylinderLength = (*AccessSvc_iter)->getDouble("VESSELLENGTH")*Gaudi::Units::mm;
84  cylinderRadius = (*AccessSvc_iter)->getDouble("COOLINGRADIUS")*Gaudi::Units::mm;
85  cylinderThickness = (*AccessSvc_iter)->getDouble("COOLINGTHICKNESS")*Gaudi::Units::mm;
86  pmtPosition = (*AccessSvc_iter)->getDouble("LAYERRADIUS1")*Gaudi::Units::mm;
87  pmtRadius = (*AccessSvc_iter)->getDouble("TUBERADIUS")*Gaudi::Units::mm;
88  pmtThickness = (*AccessSvc_iter)->getDouble("PMTTHICKNESS")*Gaudi::Units::mm;
89  quartzDensity = (*AccessSvc_iter)->getDouble("QUARTZDENSITY")*GeoModelKernelUnits::gram/Gaudi::Units::cm3;
90  waveLengthStep = (*AccessSvc_iter)->getDouble("WAVELENGTHSTEP");
91  waveLengthMin = (*AccessSvc_iter)->getDouble("WAVELENGTHMIN");
92  waveLengthMax = (*AccessSvc_iter)->getDouble("WAVELENGTHMAX");
93  }
94 }

Member Data Documentation

◆ cylinderLength

double LUCID_RDBAccess::cylinderLength {}

Definition at line 34 of file LUCID_RDBAaccess.h.

◆ cylinderRadius

double LUCID_RDBAccess::cylinderRadius {}

Definition at line 35 of file LUCID_RDBAaccess.h.

◆ cylinderThickness

double LUCID_RDBAccess::cylinderThickness {}

Definition at line 36 of file LUCID_RDBAaccess.h.

◆ distanceToIP

double LUCID_RDBAccess::distanceToIP {}

Definition at line 23 of file LUCID_RDBAaccess.h.

◆ m_lucidParams

IRDBRecordset_ptr LUCID_RDBAccess::m_lucidParams
private

Definition at line 49 of file LUCID_RDBAaccess.h.

◆ m_svcLocator

ISvcLocator* LUCID_RDBAccess::m_svcLocator {}
private

Definition at line 50 of file LUCID_RDBAaccess.h.

◆ pmtPosition

double LUCID_RDBAccess::pmtPosition {}

Definition at line 37 of file LUCID_RDBAaccess.h.

◆ pmtRadius

double LUCID_RDBAccess::pmtRadius {}

Definition at line 38 of file LUCID_RDBAaccess.h.

◆ pmtThickness

double LUCID_RDBAccess::pmtThickness {}

Definition at line 39 of file LUCID_RDBAaccess.h.

◆ quartzDensity

double LUCID_RDBAccess::quartzDensity {}

Definition at line 41 of file LUCID_RDBAaccess.h.

◆ VJconeFrontRingLength

double LUCID_RDBAccess::VJconeFrontRingLength {}

Definition at line 31 of file LUCID_RDBAaccess.h.

◆ VJconeFrontRingOverlap

double LUCID_RDBAccess::VJconeFrontRingOverlap {}

Definition at line 32 of file LUCID_RDBAaccess.h.

◆ VJconeFrontRingThickness

double LUCID_RDBAccess::VJconeFrontRingThickness {}

Definition at line 30 of file LUCID_RDBAaccess.h.

◆ VJconelength

double LUCID_RDBAccess::VJconelength {}

Definition at line 26 of file LUCID_RDBAaccess.h.

◆ VJconeRadiusBack

double LUCID_RDBAccess::VJconeRadiusBack {}

Definition at line 28 of file LUCID_RDBAaccess.h.

◆ VJconeRadiusFront

double LUCID_RDBAccess::VJconeRadiusFront {}

Definition at line 27 of file LUCID_RDBAaccess.h.

◆ VJconeThickness

double LUCID_RDBAccess::VJconeThickness {}

Definition at line 29 of file LUCID_RDBAaccess.h.

◆ VJdistanceToIP

double LUCID_RDBAccess::VJdistanceToIP {}

Definition at line 25 of file LUCID_RDBAaccess.h.

◆ waveLengthMax

double LUCID_RDBAccess::waveLengthMax {}

Definition at line 45 of file LUCID_RDBAaccess.h.

◆ waveLengthMin

double LUCID_RDBAccess::waveLengthMin {}

Definition at line 44 of file LUCID_RDBAaccess.h.

◆ waveLengthStep

double LUCID_RDBAccess::waveLengthStep {}

Definition at line 43 of file LUCID_RDBAaccess.h.


The documentation for this class was generated from the following files:
LUCID_RDBAccess::cylinderRadius
double cylinderRadius
Definition: LUCID_RDBAaccess.h:35
LUCID_RDBAccess::VJconeThickness
double VJconeThickness
Definition: LUCID_RDBAaccess.h:29
LUCID_RDBAccess::distanceToIP
double distanceToIP
Definition: LUCID_RDBAaccess.h:23
get_generator_info.result
result
Definition: get_generator_info.py:21
python.Constants.FATAL
int FATAL
Definition: Control/AthenaCommon/python/Constants.py:19
IRDBAccessSvc::getRecordsetPtr
virtual IRDBRecordset_ptr getRecordsetPtr(const std::string &node, const std::string &tag, const std::string &tag2node="", const std::string &connName="ATLASDD")=0
Provides access to the Recordset object containing HVS-tagged data.
LUCID_RDBAccess::VJdistanceToIP
double VJdistanceToIP
Definition: LUCID_RDBAaccess.h:25
LUCID_RDBAccess::waveLengthMin
double waveLengthMin
Definition: LUCID_RDBAaccess.h:44
LUCID_RDBAccess::cylinderThickness
double cylinderThickness
Definition: LUCID_RDBAaccess.h:36
LUCID_RDBAccess::ReadDB
void ReadDB()
Definition: LUCID_RDBAaccess.cxx:33
cm3
#define cm3
python.SystemOfUnits.gram
int gram
Definition: SystemOfUnits.py:165
LUCID_RDBAccess::VJconeFrontRingOverlap
double VJconeFrontRingOverlap
Definition: LUCID_RDBAaccess.h:32
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
LUCID_RDBAccess::pmtThickness
double pmtThickness
Definition: LUCID_RDBAaccess.h:39
LUCID_RDBAccess::SetParameters
void SetParameters()
Definition: LUCID_RDBAaccess.cxx:62
LUCID_RDBAccess::VJconeFrontRingThickness
double VJconeFrontRingThickness
Definition: LUCID_RDBAaccess.h:30
LUCID_RDBAccess::pmtPosition
double pmtPosition
Definition: LUCID_RDBAaccess.h:37
EventInfoWrite.AtlasVersion
AtlasVersion
Definition: EventInfoWrite.py:17
IRDBAccessSvc
IRDBAccessSvc is an abstract interface to the athena service that provides the following functionalit...
Definition: IRDBAccessSvc.h:45
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LUCID_RDBAccess::m_svcLocator
ISvcLocator * m_svcLocator
Definition: LUCID_RDBAaccess.h:50
LUCID_RDBAccess::VJconeRadiusFront
double VJconeRadiusFront
Definition: LUCID_RDBAaccess.h:27
DecodeVersionKey
This is a helper class to query the version tags from GeoModelSvc and determine the appropriate tag a...
Definition: DecodeVersionKey.h:18
LUCID_RDBAccess::CloseDB
static void CloseDB()
Definition: LUCID_RDBAaccess.cxx:121
LUCID_RDBAccess::VJconeRadiusBack
double VJconeRadiusBack
Definition: LUCID_RDBAaccess.h:28
LUCID_RDBAccess::waveLengthMax
double waveLengthMax
Definition: LUCID_RDBAaccess.h:45
LUCID_RDBAccess::cylinderLength
double cylinderLength
Definition: LUCID_RDBAaccess.h:34
LUCID_RDBAccess::quartzDensity
double quartzDensity
Definition: LUCID_RDBAaccess.h:41
LUCID_RDBAccess::pmtRadius
double pmtRadius
Definition: LUCID_RDBAaccess.h:38
LUCID_RDBAccess::Print
void Print() const
Definition: LUCID_RDBAaccess.cxx:96
LUCID_RDBAccess::VJconelength
double VJconelength
Definition: LUCID_RDBAaccess.h:26
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
LUCID_RDBAccess::waveLengthStep
double waveLengthStep
Definition: LUCID_RDBAaccess.h:43
DEBUG
#define DEBUG
Definition: page_access.h:11
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
LUCID_RDBAccess::VJconeFrontRingLength
double VJconeFrontRingLength
Definition: LUCID_RDBAaccess.h:31
IRDBRecordset::const_iterator
RecordsVector::const_iterator const_iterator
Definition: IRDBRecordset.h:52
LUCID_RDBAccess::m_lucidParams
IRDBRecordset_ptr m_lucidParams
Definition: LUCID_RDBAaccess.h:49