ATLAS Offline Software
Loading...
Searching...
No Matches
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

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();
27 Print();
28 CloseDB();
29}
static void CloseDB()

◆ ~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 117 of file LUCID_RDBAaccess.cxx.

117 {
118
119 MsgStream log(Athena::getMessageSvc(), "LUCID_GeoModel::LUCID_RDBAaccess");
120
121 log << MSG::DEBUG << " LUCID_RDBAaccess::CloseDB "<< endmsg;
122
123 log << MSG::DEBUG << " ending LUCID_GeoModel::LUCID_RDBAaccess " << endmsg;
124}
#define endmsg
IMessageSvc * getMessageSvc(bool quiet=false)

◆ Print()

void LUCID_RDBAccess::Print ( ) const

Definition at line 92 of file LUCID_RDBAaccess.cxx.

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

◆ 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 SmartIF<IRDBAccessSvc> iAccessSvc(Gaudi::svcLocator()->service("RDBAccessSvc"));
41 if (!iAccessSvc) {
42
43 log << MSG::FATAL << " Could not initialize RDBAccessSvc! " << endmsg;
44
45 throw GaudiException(" Could not initalize RDBAccessSvc ", "LUCID_GeoModel", StatusCode::FAILURE);
46 }
47
48 DecodeVersionKey atlasVersion("ATLAS");
49 const std::string& AtlasVersion = atlasVersion.tag();
50
51 m_lucidParams = iAccessSvc->getRecordsetPtr("LucidParams", AtlasVersion, "ATLAS");
52
53 if (!m_lucidParams->size()) std::cerr << " ERROR: Unable to retrieve LucidParams data "<< std::endl;
54
55 log << MSG::INFO << " LUCID data corresponding to " << AtlasVersion << " fetched " << endmsg;
56}
IRDBRecordset_ptr m_lucidParams

◆ SetParameters()

void LUCID_RDBAccess::SetParameters ( )

Definition at line 58 of file LUCID_RDBAaccess.cxx.

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

Member Data Documentation

◆ cylinderLength

double LUCID_RDBAccess::cylinderLength {}

Definition at line 34 of file LUCID_RDBAaccess.h.

34{};

◆ cylinderRadius

double LUCID_RDBAccess::cylinderRadius {}

Definition at line 35 of file LUCID_RDBAaccess.h.

35{};

◆ cylinderThickness

double LUCID_RDBAccess::cylinderThickness {}

Definition at line 36 of file LUCID_RDBAaccess.h.

36{};

◆ distanceToIP

double LUCID_RDBAccess::distanceToIP {}

Definition at line 23 of file LUCID_RDBAaccess.h.

23{};

◆ m_lucidParams

IRDBRecordset_ptr LUCID_RDBAccess::m_lucidParams
private

Definition at line 49 of file LUCID_RDBAaccess.h.

◆ pmtPosition

double LUCID_RDBAccess::pmtPosition {}

Definition at line 37 of file LUCID_RDBAaccess.h.

37{};

◆ pmtRadius

double LUCID_RDBAccess::pmtRadius {}

Definition at line 38 of file LUCID_RDBAaccess.h.

38{};

◆ pmtThickness

double LUCID_RDBAccess::pmtThickness {}

Definition at line 39 of file LUCID_RDBAaccess.h.

39{};

◆ quartzDensity

double LUCID_RDBAccess::quartzDensity {}

Definition at line 41 of file LUCID_RDBAaccess.h.

41{};

◆ VJconeFrontRingLength

double LUCID_RDBAccess::VJconeFrontRingLength {}

Definition at line 31 of file LUCID_RDBAaccess.h.

31{};

◆ VJconeFrontRingOverlap

double LUCID_RDBAccess::VJconeFrontRingOverlap {}

Definition at line 32 of file LUCID_RDBAaccess.h.

32{};

◆ VJconeFrontRingThickness

double LUCID_RDBAccess::VJconeFrontRingThickness {}

Definition at line 30 of file LUCID_RDBAaccess.h.

30{};

◆ VJconelength

double LUCID_RDBAccess::VJconelength {}

Definition at line 26 of file LUCID_RDBAaccess.h.

26{};

◆ VJconeRadiusBack

double LUCID_RDBAccess::VJconeRadiusBack {}

Definition at line 28 of file LUCID_RDBAaccess.h.

28{};

◆ VJconeRadiusFront

double LUCID_RDBAccess::VJconeRadiusFront {}

Definition at line 27 of file LUCID_RDBAaccess.h.

27{};

◆ VJconeThickness

double LUCID_RDBAccess::VJconeThickness {}

Definition at line 29 of file LUCID_RDBAaccess.h.

29{};

◆ VJdistanceToIP

double LUCID_RDBAccess::VJdistanceToIP {}

Definition at line 25 of file LUCID_RDBAaccess.h.

25{};

◆ waveLengthMax

double LUCID_RDBAccess::waveLengthMax {}

Definition at line 45 of file LUCID_RDBAaccess.h.

45{};

◆ waveLengthMin

double LUCID_RDBAccess::waveLengthMin {}

Definition at line 44 of file LUCID_RDBAaccess.h.

44{};

◆ waveLengthStep

double LUCID_RDBAccess::waveLengthStep {}

Definition at line 43 of file LUCID_RDBAaccess.h.

43{};

The documentation for this class was generated from the following files: