ATLAS Offline Software
Loading...
Searching...
No Matches
toEMECData.h File Reference
Include dependency graph for toEMECData.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

EMECData toEMECData (IRDBAccessSvc *rdbAccess, const DecodeVersionKey &larVersionKey)

Function Documentation

◆ toEMECData()

EMECData toEMECData ( IRDBAccessSvc * rdbAccess,
const DecodeVersionKey & larVersionKey )
inline

Definition at line 13 of file toEMECData.h.

13 {
14
16
17 // Little lambda function here: retreive recordset and fall back to default version if empty:
18 auto getRecordsetPtr=[rdbAccess] (const std::string& node, const std::string& tag, const std::string& tag2node,const std::string & fallbackTag2Node) {
19
20 // try with specified tag/node
21 IRDBRecordset_ptr ptr=rdbAccess->getRecordsetPtr(node,tag, tag2node);
22 // if failure, try with fallback tag/node
23 if (ptr->size()==0) {
24 ptr=rdbAccess->getRecordsetPtr(node,fallbackTag2Node);
25 }
26 return ptr;
27 };
28
29
30 IRDBRecordset_ptr emecGeometry = getRecordsetPtr("EmecGeometry", larVersionKey.tag(),larVersionKey.node(),"EmecGeometry-00");
31 IRDBRecordset_ptr emecMagicNumbers = getRecordsetPtr("EmecMagicNumbers", larVersionKey.tag(), larVersionKey.node(),"EmecMagicNumbers-00");
32 IRDBRecordset_ptr emecParams = getRecordsetPtr("EmecParams", larVersionKey.tag(), larVersionKey.node(),"EMECParams-00");
33 IRDBRecordset_ptr emecWheelParameters = getRecordsetPtr("EmecWheelParameters", larVersionKey.tag(), larVersionKey.node(),"EmecWheelParameters-00");
34 IRDBRecordset_ptr emecFan = getRecordsetPtr("EmecFan", larVersionKey.tag(), larVersionKey.node(),"EmecFan-00");
35 IRDBRecordset_ptr coldContraction = getRecordsetPtr("ColdContraction", larVersionKey.tag(), larVersionKey.node(),"ColdContraction-00");
36
37
38 for (size_t i=0;i<emecParams->size();i++) {
39 EMECPARAMS emecparams;
40 emecparams.PHIROTATION=(*emecParams)[i]->getString("PHIROTATION");
41 emecparams.SAGGING=(*emecParams)[i]->getString("SAGGING");
42 emecparams.INNERSLANTPARAM=(*emecParams)[i]->getString("INNERSLANTPARAM");
43 emecparams.OUTERSLANTPARAM=(*emecParams)[i]->getString("OUTERSLANTPARAM");
44 data.emecparams.push_back(std::move(emecparams));
45 }
46
47
48 for (size_t i=0;i<emecWheelParameters->size();i++) {
49 EMECWHEELPARAMETERS emecwheelparameters;
50 emecwheelparameters.IWHEEL=(*emecWheelParameters)[i]->getInt("IWHEEL");
51 emecwheelparameters.NABS=(*emecWheelParameters)[i]->getInt("NABS");
52 emecwheelparameters.NACC=(*emecWheelParameters)[i]->getInt("NACC");
53 emecwheelparameters.ETAINT=(*emecWheelParameters)[i]->getDouble("ETAINT");
54 emecwheelparameters.ETAEXT=(*emecWheelParameters)[i]->getDouble("ETAEXT");
55 emecwheelparameters.NWSAMP=(*emecWheelParameters)[i]->getInt("NWSAMP");
56 data.emecwheelparameters.push_back(emecwheelparameters);
57 }
58
59 for (size_t i=0;i<emecMagicNumbers->size();i++) {
60 EMECMAGICNUMBERS emecmagicnumbers;
61 emecmagicnumbers.STRAIGHTSTARTSECTION=(*emecMagicNumbers)[i]->getDouble("STRAIGHTSTARTSECTION");
62 emecmagicnumbers.FOCALTOREF=(*emecMagicNumbers)[i]->getDouble("FOCALTOREF");
63 emecmagicnumbers.REFTOACTIVE=(*emecMagicNumbers)[i]->getDouble("REFTOACTIVE");
64 emecmagicnumbers.ACTIVELENGTH=(*emecMagicNumbers)[i]->getDouble("ACTIVELENGTH");
65 emecmagicnumbers.REFTOPRESAMPLER=(*emecMagicNumbers)[i]->getDouble("REFTOPRESAMPLER");
66 emecmagicnumbers.PRESAMPLERLENGTH=(*emecMagicNumbers)[i]->getDouble("PRESAMPLERLENGTH");
67 data.emecmagicnumbers.push_back(emecmagicnumbers);
68 }
69
70 for (size_t i=0;i<emecFan->size();i++) {
71 EMECFAN emecfan;
72 emecfan.LEADTHICKNESSINNER=(*emecFan)[i]->getDouble("LEADTHICKNESSINNER");
73 emecfan.LEADTHICKNESSOUTER=(*emecFan)[i]->getDouble("LEADTHICKNESSOUTER");
74 emecfan.STEELTHICKNESS=(*emecFan)[i]->getDouble("STEELTHICKNESS");
75 emecfan.GLUETHICKNESS=(*emecFan)[i]->getDouble("GLUETHICKNESS");
76 emecfan.ELECTRODETOTALTHICKNESS=(*emecFan)[i]->getDouble("ELECTRODETOTALTHICKNESS");
77 data.emecfan.push_back(emecfan);
78 }
79
80
81 for (size_t i=0;i<coldContraction->size();i++) {
82 COLDCONTRACTION coldcontraction;
83 coldcontraction.ABSORBERCONTRACTION=(*coldContraction)[i]->getDouble("ABSORBERCONTRACTION");
84 coldcontraction.G10RINGCONTRACTION=(*coldContraction)[i]->getDouble("G10RINGCONTRACTION");
85 coldcontraction.MOTHERBOARDCONTRACTION=(*coldContraction)[i]->getDouble("MOTHERBOARDCONTRACTION");
86 coldcontraction.CABLECONTRACTION=(*coldContraction)[i]->getDouble("CABLECONTRACTION");
87 coldcontraction.COLDWINDOWCONTRACTION=(*coldContraction)[i]->getDouble("COLDWINDOWCONTRACTION");
88 coldcontraction.ELECTRODEINVCONTRACTION=(*coldContraction)[i]->getDouble("ELECTRODEINVCONTRACTION");
89 data.coldcontraction.push_back(coldcontraction);
90 }
91
92
93 for (size_t i=0;i<emecGeometry->size();i++) {
94 EMECGEOMETRY emecgeometry;
95 emecgeometry.EFIELD=(*emecGeometry)[i]->getDouble("EFIELD");
96 emecgeometry.MLGAP=(*emecGeometry)[i]->getDouble("MLGAP");
97 emecgeometry.SABL=(*emecGeometry)[i]->getDouble("SABL");
98 emecgeometry.SBAR=(*emecGeometry)[i]->getDouble("SBAR");
99 emecgeometry.SBRN=(*emecGeometry)[i]->getDouble("SBRN");
100 emecgeometry.SCRB=(*emecGeometry)[i]->getDouble("SCRB");
101 emecgeometry.Z1=(*emecGeometry)[i]->getDouble("Z1");
102 emecgeometry.Z0=(*emecGeometry)[i]->getDouble("Z0");
103 emecgeometry.DCF=(*emecGeometry)[i]->getDouble("DCF");
104 emecgeometry.RLIMIT=(*emecGeometry)[i]->getDouble("RLIMIT");
105 emecgeometry.EPS=(*emecGeometry)[i]->getDouble("EPS");
106 emecgeometry.RHOIN=(*emecGeometry)[i]->getDouble("RHOIN");
107 emecgeometry.RCKP=(*emecGeometry)[i]->getDouble("RCKP");
108 emecgeometry.ETOT=(*emecGeometry)[i]->getDouble("ETOT");
109 emecgeometry.EKAP=(*emecGeometry)[i]->getDouble("EKAP");
110 emecgeometry.ECU=(*emecGeometry)[i]->getDouble("ECU");
111 emecgeometry.EPREP=(*emecGeometry)[i]->getDouble("EPREP");
112 emecgeometry.EINOX=(*emecGeometry)[i]->getDouble("EINOX");
113 emecgeometry.NLAYER=(*emecGeometry)[i]->getInt("NLAYER");
114 emecgeometry.RMIN=(*emecGeometry)[i]->getDouble("RMIN");
115 emecgeometry.RMAX=(*emecGeometry)[i]->getDouble("RMAX");
116 emecgeometry.DZENDE=(*emecGeometry)[i]->getDouble("DZENDE");
117 emecgeometry.ZORIG=(*emecGeometry)[i]->getDouble("ZORIG");
118 emecgeometry.DCRACK=(*emecGeometry)[i]->getDouble("DCRACK");
119 emecgeometry.DZPLA=(*emecGeometry)[i]->getDouble("DZPLA");
120 emecgeometry.DZDSE=(*emecGeometry)[i]->getDouble("DZDSE");
121 emecgeometry.DZDSM=(*emecGeometry)[i]->getDouble("DZDSM");
122 emecgeometry.DZDSI=(*emecGeometry)[i]->getDouble("DZDSI");
123 emecgeometry.NUREG=(*emecGeometry)[i]->getInt("NUREG");
124 emecgeometry.DETA_0=(*emecGeometry)[i]->getDouble("DETA_0");
125 emecgeometry.DETA_1=(*emecGeometry)[i]->getDouble("DETA_1");
126 emecgeometry.DETA_2=(*emecGeometry)[i]->getDouble("DETA_2");
127 emecgeometry.DETA_3=(*emecGeometry)[i]->getDouble("DETA_3");
128 emecgeometry.DETA_4=(*emecGeometry)[i]->getDouble("DETA_4");
129 emecgeometry.DETA_5=(*emecGeometry)[i]->getDouble("DETA_5");
130 emecgeometry.DETA_6=(*emecGeometry)[i]->getDouble("DETA_6");
131 emecgeometry.DETA_7=(*emecGeometry)[i]->getDouble("DETA_7");
132 emecgeometry.DETA_8=(*emecGeometry)[i]->getDouble("DETA_8");
133 emecgeometry.DETA_9=(*emecGeometry)[i]->getDouble("DETA_9");
134 emecgeometry.DETA_10=(*emecGeometry)[i]->getDouble("DETA_10");
135 emecgeometry.DPHI_0=(*emecGeometry)[i]->getDouble("DPHI_0");
136 emecgeometry.DPHI_1=(*emecGeometry)[i]->getDouble("DPHI_1");
137 emecgeometry.DPHI_2=(*emecGeometry)[i]->getDouble("DPHI_2");
138 emecgeometry.DPHI_3=(*emecGeometry)[i]->getDouble("DPHI_3");
139 emecgeometry.DPHI_4=(*emecGeometry)[i]->getDouble("DPHI_4");
140 emecgeometry.DPHI_5=(*emecGeometry)[i]->getDouble("DPHI_5");
141 emecgeometry.DPHI_6=(*emecGeometry)[i]->getDouble("DPHI_6");
142 emecgeometry.DPHI_7=(*emecGeometry)[i]->getDouble("DPHI_7");
143 emecgeometry.DPHI_8=(*emecGeometry)[i]->getDouble("DPHI_8");
144 emecgeometry.DPHI_9=(*emecGeometry)[i]->getDouble("DPHI_9");
145 emecgeometry.DPHI_10=(*emecGeometry)[i]->getDouble("DPHI_10");
146 emecgeometry.ETASTR_0=(*emecGeometry)[i]->getDouble("ETASTR_0");
147 emecgeometry.ETASTR_1=(*emecGeometry)[i]->getDouble("ETASTR_1");
148 emecgeometry.ETASTR_2=(*emecGeometry)[i]->getDouble("ETASTR_2");
149 emecgeometry.ETASTR_3=(*emecGeometry)[i]->getDouble("ETASTR_3");
150 emecgeometry.ETASTR_4=(*emecGeometry)[i]->getDouble("ETASTR_4");
151 emecgeometry.ETASTR_5=(*emecGeometry)[i]->getDouble("ETASTR_5");
152 emecgeometry.ETASTR_6=(*emecGeometry)[i]->getDouble("ETASTR_6");
153 emecgeometry.EMHIT=(*emecGeometry)[i]->getDouble("EMHIT");
154 emecgeometry.EMDIGI=(*emecGeometry)[i]->getDouble("EMDIGI");
155 emecgeometry.GAP0=(*emecGeometry)[i]->getDouble("GAP0");
156 emecgeometry.ZSHIFT=(*emecGeometry)[i]->getDouble("ZSHIFT");
157 data.emecgeometry.push_back(emecgeometry);
158 }
159
160
161 return data;
162}
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
const std::string & tag() const
Return version tag.
const std::string & node() const
Return the version node.
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.
virtual unsigned int size() const =0
Definition node.h:24
void * ptr(T *p)
Definition SGImplSvc.cxx:74
double ELECTRODEINVCONTRACTION
Definition EMECData.h:119
double COLDWINDOWCONTRACTION
Definition EMECData.h:118
double MOTHERBOARDCONTRACTION
Definition EMECData.h:116
double ABSORBERCONTRACTION
Definition EMECData.h:114
double G10RINGCONTRACTION
Definition EMECData.h:115
double CABLECONTRACTION
Definition EMECData.h:117
double GLUETHICKNESS
Definition EMECData.h:126
double LEADTHICKNESSOUTER
Definition EMECData.h:124
double ELECTRODETOTALTHICKNESS
Definition EMECData.h:127
double LEADTHICKNESSINNER
Definition EMECData.h:123
double STEELTHICKNESS
Definition EMECData.h:125
double DETA_2
Definition EMECData.h:51
double DETA_10
Definition EMECData.h:59
double ZORIG
Definition EMECData.h:42
double DCF
Definition EMECData.h:28
double DPHI_5
Definition EMECData.h:65
double EKAP
Definition EMECData.h:34
double SABL
Definition EMECData.h:22
double RCKP
Definition EMECData.h:32
double ETASTR_0
Definition EMECData.h:71
double DETA_5
Definition EMECData.h:54
double DETA_1
Definition EMECData.h:50
double DETA_7
Definition EMECData.h:56
double DPHI_3
Definition EMECData.h:63
double SBRN
Definition EMECData.h:24
double DZENDE
Definition EMECData.h:41
double RMAX
Definition EMECData.h:40
double DETA_4
Definition EMECData.h:53
double DZDSE
Definition EMECData.h:45
double DPHI_8
Definition EMECData.h:68
double DPHI_0
Definition EMECData.h:60
double DETA_6
Definition EMECData.h:55
double EPREP
Definition EMECData.h:36
double ECU
Definition EMECData.h:35
double ETASTR_5
Definition EMECData.h:76
double ETASTR_6
Definition EMECData.h:77
double DPHI_6
Definition EMECData.h:66
double ETASTR_2
Definition EMECData.h:73
double SBAR
Definition EMECData.h:23
double RHOIN
Definition EMECData.h:31
double DETA_9
Definition EMECData.h:58
double ETASTR_3
Definition EMECData.h:74
double DZDSM
Definition EMECData.h:46
double GAP0
Definition EMECData.h:80
double DPHI_10
Definition EMECData.h:70
double Z0
Definition EMECData.h:27
double RLIMIT
Definition EMECData.h:29
double DETA_8
Definition EMECData.h:57
double DPHI_7
Definition EMECData.h:67
double ETASTR_4
Definition EMECData.h:75
double EMDIGI
Definition EMECData.h:79
double DPHI_1
Definition EMECData.h:61
double EFIELD
Definition EMECData.h:20
double Z1
Definition EMECData.h:26
double DPHI_4
Definition EMECData.h:64
double SCRB
Definition EMECData.h:25
double EPS
Definition EMECData.h:30
double RMIN
Definition EMECData.h:39
double DPHI_9
Definition EMECData.h:69
double DZPLA
Definition EMECData.h:44
double DPHI_2
Definition EMECData.h:62
double DCRACK
Definition EMECData.h:43
double MLGAP
Definition EMECData.h:21
double EMHIT
Definition EMECData.h:78
double ETASTR_1
Definition EMECData.h:72
double DETA_0
Definition EMECData.h:49
double DETA_3
Definition EMECData.h:52
double DZDSI
Definition EMECData.h:47
double EINOX
Definition EMECData.h:37
double ETOT
Definition EMECData.h:33
double ZSHIFT
Definition EMECData.h:81
double PRESAMPLERLENGTH
Definition EMECData.h:109
double ACTIVELENGTH
Definition EMECData.h:107
double STRAIGHTSTARTSECTION
Definition EMECData.h:104
double FOCALTOREF
Definition EMECData.h:105
double REFTOACTIVE
Definition EMECData.h:106
double REFTOPRESAMPLER
Definition EMECData.h:108
std::string SAGGING
Definition EMECData.h:87
std::string PHIROTATION
Definition EMECData.h:86
std::string INNERSLANTPARAM
Definition EMECData.h:88
std::string OUTERSLANTPARAM
Definition EMECData.h:89