ATLAS Offline Software
TRT_DetDescrDB_ParameterInterface.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 #include "GeoModelKernel/Units.h"
15 
16 //_________________________________________________________________________________________
18  TRTParameterInterface(), m_athenaComps(athenaComps), m_distortedMatManager(nullptr), m_placements(nullptr)
19 { SetValues(); }
20 
21 //_________________________________________________________________________________________
23 
31 
32  for (unsigned int iRing = 0; iRing < nBarrelRings; iRing++) {
33  delete[] barrelNumberOfStrawsInStrawLayer[iRing];
34  delete[] barrelXOfCoolingTube[iRing];
35  delete[] barrelYOfCoolingTube[iRing];
36  delete[] shellCornerXPosition[iRing];
37  delete[] shellCornerYPosition[iRing];
38 
39  // The values get copied to ArrayFunction objects so there are safe to delete.
40  delete[] strawXPosition[iRing];
41  delete[] strawYPosition[iRing];
42  };
43 
44  delete[] endCapLayerZPositionA;
45  delete[] endCapLayerZPositionB;
46  delete[] endCapLayerZPositionC;
47 
48 
49  delete m_distortedMatManager;
50  delete m_placements;
51 
52 
53 }
54 
55 //_________________________________________________________________________________________
57 
59  // Initialize Services //
61 
62  msg(MSG::DEBUG) << "Starting TRT_DetDescrDB_ParameterInterface" <<endmsg;
63 
64  // RDBAccessSvc (Interface to the DD database).
65  IRDBAccessSvc* iAccessSvc = m_athenaComps->rdbAccessSvc();
66 
67  // Get tag key and corresponding node
68  DecodeVersionKey versionKey(m_athenaComps->geoDbTagSvc(),"TRT");
69  const std::string& detectorKey = versionKey.tag();
70  const std::string& detectorNode = versionKey.node();
71 
72  // Get version tag and node for InnerDetector.
73  DecodeVersionKey indetVersionKey(m_athenaComps->geoDbTagSvc(),"InnerDetector");
74 
75 
77  // Version Information //
79  versionTag = iAccessSvc->getChildTag("TRT", versionKey.tag(), versionKey.node());
80 
82  // Special Flags //
84 
85  IRDBRecordset_ptr switchSet = iAccessSvc->getRecordsetPtr("TRTSwitches", detectorKey, detectorNode);
86  const IRDBRecord *switches = (*switchSet)[0];
87 
88  oldConfiguration = true;
89  if (!switches->isFieldNull("VERSIONNAME")) {
90  oldConfiguration = false;
91  versionName = switches->getString("VERSIONNAME");
92  layout = switches->getString("LAYOUT");
93  versionDescription = switches->getString("DESCRIPTION");
94  }
95 
96  // Flags isCosmicRun and initialLayout don't have any effect if TRTTopLevel table is present.
97  // The latter controls which parts are present.
98  isCosmicRun = false;
99  if (!switches->isFieldNull("COSMICLAYOUT")) {
100  isCosmicRun = switches->getInt("COSMICLAYOUT");
101  }
102  //NB: DONT DO: bool useoldactivegasmixture ( switches->getInt("GASVERSION") == 0 );
103  //Since user might have overriden it from joboptions!!
104 
105  initialLayout = switches->getInt("INITIALLAYOUT");
106 
107  IRDBRecordset_ptr RDB_DigVersion = iAccessSvc->getRecordsetPtr("TRTDigVersion", detectorKey, detectorNode);
108  const IRDBRecord *RDBVars_DigVersion = (*RDB_DigVersion)[0];
109  digversion = RDBVars_DigVersion->getInt("DIGVERSION");
110  digversionname = RDBVars_DigVersion->getString("DIGVERSIONNAME");
111 
113  // Top Level Placements //
115  if (!oldConfiguration) {
116  IRDBRecordset_ptr topLevelTable = iAccessSvc->getRecordsetPtr("TRTTopLevel", detectorKey, detectorNode);
117  m_placements = new TopLevelPlacements(topLevelTable);
118  }
119  else
121 
123  // Extra Scaled Material //
125 
126  // NB. This is at Inner Detector node level
127  m_scalingTable = iAccessSvc->getRecordsetPtr("TrtMatScaling", indetVersionKey.tag(), indetVersionKey.node());
128 
129 
131  // ExtraMaterial //
134 
135 
137  // Variables common between Barrel and End Cap //
139 
140  IRDBRecordset_ptr RDB_CommonPars = iAccessSvc->getRecordsetPtr("TRTCommonPars",detectorKey,detectorNode);
141  const IRDBRecord* RDBVars_CommonPars = (*RDB_CommonPars)[0];
142 
143  lengthOfDeadRegion = RDBVars_CommonPars->getFloat("LENGTHOFDEADREGION")*GeoModelKernelUnits::mm;
144  outerRadiusOfWire = RDBVars_CommonPars->getFloat("OUTERRADIUSOFWIRE")*GeoModelKernelUnits::mm;
145  innerRadiusOfStraw = RDBVars_CommonPars->getFloat("INNERRADIUSOFSTRAW")*GeoModelKernelUnits::mm;
146  outerRadiusOfStraw = RDBVars_CommonPars->getFloat("OUTERRADIUSOFSTRAW")*GeoModelKernelUnits::mm;
147 
149  // Variables related to the Barrel part //
151 
152  IRDBRecordset_ptr RDB_BarrelOverallPars = iAccessSvc->getRecordsetPtr("TRTBarrelOverallPars",detectorKey,detectorNode);
153  const IRDBRecord* RDBVars_BarrelOverallPars = (*RDB_BarrelOverallPars)[0];
154  IRDBRecordset_ptr RDB_BarrelStrawCoord = iAccessSvc->getRecordsetPtr("TRTBarrelStrawCoord",detectorKey,detectorNode);
155  IRDBRecordset_ptr RDB_BarrelRingDepPars = iAccessSvc->getRecordsetPtr("TRTBarrelRingDepPars",detectorKey,detectorNode);
156  IRDBRecordset_ptr RDB_BarrelNStrawInLay = iAccessSvc->getRecordsetPtr("TRTBarrelNStrawInLay",detectorKey,detectorNode);
157  IRDBRecordset_ptr RDB_BarrelServices = iAccessSvc->getRecordsetPtr("TRTBarrelServices",detectorKey,detectorNode);
158 
159  includeBarServiceAndFlange = (RDB_BarrelServices->size()!=0);
160 
162 
163  const IRDBRecord* RDBVars_BarrelServices = (*RDB_BarrelServices)[0];
164  barFlangeZMin = RDBVars_BarrelServices->getDouble("BARFLANGEZMIN")*GeoModelKernelUnits::mm;
165  barFlangeZMax = RDBVars_BarrelServices->getDouble("BARFLANGEZMAX")*GeoModelKernelUnits::mm;
166  barFlangeRMin = RDBVars_BarrelServices->getDouble("BARFLANGERMIN")*GeoModelKernelUnits::mm;
167  barFlangeRMax = RDBVars_BarrelServices->getDouble("BARFLANGERMAX")*GeoModelKernelUnits::mm;
168 
169  barServicesZMin = RDBVars_BarrelServices->getDouble("BARSERVICESZMIN")*GeoModelKernelUnits::mm;
170  barServicesZMax = RDBVars_BarrelServices->getDouble("BARSERVICESZMAX")*GeoModelKernelUnits::mm;
171  barServicesRMin = RDBVars_BarrelServices->getDouble("BARSERVICESRMIN")*GeoModelKernelUnits::mm;
172  barServicesRMax = RDBVars_BarrelServices->getDouble("BARSERVICESRMAX")*GeoModelKernelUnits::mm;
173 
174  } else if (!includeBarServiceAndFlange) {
175 
176  barFlangeZMin = -1.;
177  barFlangeZMax = -1.;
178  barFlangeRMin = -1.;
179  barFlangeRMax = -1.;
180 
181  barServicesZMin = -1.;
182  barServicesZMax = -1.;
183  barServicesRMin = -1.;
184  barServicesRMax = -1.;
185  }
186 
187  if (!RDBVars_BarrelOverallPars->isFieldNull("BRLVIRTVOLZCLEARANCE")) {
188  barrelVirtualVolumeZClearance = RDBVars_BarrelOverallPars->getFloat("BRLVIRTVOLZCLEARANCE")*GeoModelKernelUnits::mm;
189  barrelVirtualVolumeRMinClearance = RDBVars_BarrelOverallPars->getFloat("BRLVIRTVOLRMINCLEAR")*GeoModelKernelUnits::mm;
190  barrelVirtualVolumeRMaxClearance = RDBVars_BarrelOverallPars->getFloat("BRLVIRTVOLRMAXCLEAR")*GeoModelKernelUnits::mm;
191  } else {
192  barrelVirtualVolumeZClearance = 0.001*GeoModelKernelUnits::micrometer;//fixme: use epsilon(?).
195  }
196 
197  innerRadiusOfBarrelVolume = RDBVars_BarrelOverallPars->getFloat("INNRADIUSOFBARRELVOL")*GeoModelKernelUnits::mm;
198  outerRadiusOfBarrelVolume = RDBVars_BarrelOverallPars->getFloat("OUTRADIUSOFBARRELVOL")*GeoModelKernelUnits::mm;
199  lengthOfBarrelVolume = RDBVars_BarrelOverallPars->getFloat("LENGTHOFBARRELVOLUME")*GeoModelKernelUnits::mm;
200  barrelOuterRadiusOfCoolingTube = RDBVars_BarrelOverallPars->getFloat("OUTRADIUSOFCOOLTUBE")*GeoModelKernelUnits::mm;
201  barrelInnerRadiusOfCoolingTube = RDBVars_BarrelOverallPars->getFloat("INNRADIUSOFCOOLTUBE")*GeoModelKernelUnits::mm;
202  barrelThicknessOfModuleWalls = RDBVars_BarrelOverallPars->getFloat("THICKOFMODULEWALLS")*GeoModelKernelUnits::mm;
203  barrelNumberOfLayersWithLargeDeadRegion = RDBVars_BarrelOverallPars->getInt("NLAYWTHLRGDEADREGION");
204  thicknessOfBarrelInnerSupport = RDBVars_BarrelOverallPars->getFloat("THICKOFBRLINNSUPPORT")*GeoModelKernelUnits::mm;
205  thicknessOfBarrelOuterSupport = RDBVars_BarrelOverallPars->getFloat("THICKOFBRLOUTSUPPORT")*GeoModelKernelUnits::mm;
206  barrelOuterRadiusOfStrawHole = RDBVars_BarrelOverallPars->getFloat("OUTRADIUSOFSTRAWHOLE")*GeoModelKernelUnits::mm;
207 
212 
217 
218  nBarrelModules = RDBVars_BarrelOverallPars->getInt("NBARRELMODULES");
219  nBarrelModulesUsed = nBarrelModules; //Hardwired to be all modules. Silly variable anyway.
220  nBarrelPhi = RDBVars_BarrelOverallPars->getInt("NBARRELPHI");
221 
222  barrelLengthOfStraw = RDBVars_BarrelOverallPars->getFloat("LENGTHOFSTRAW")*GeoModelKernelUnits::mm;
223  barrelLengthOfTwister = RDBVars_BarrelOverallPars->getFloat("LENGTHOFTWISTER")*GeoModelKernelUnits::mm;
224  barrelLengthOfLargeDeadRegion = RDBVars_BarrelOverallPars->getFloat("LENLARGEDEADREGION")*GeoModelKernelUnits::mm;
225 
227  for (unsigned int i=0; i<nBarrelRings; i++) {
228  const IRDBRecord* ringVars = (*RDB_BarrelRingDepPars)[i];
229  barrelNumberOfStrawLayersInModule[i] = ringVars->getInt("NSTRAWLAYERSINMODULE");
230  };
231 
232 
233  for (unsigned int i = 0; i < nBarrelRings; i++)
235 
236  unsigned int cumulLayer = 0;
237  for (unsigned int i=0; i<nBarrelRings; i++)
238  for (unsigned int j=0; j<barrelNumberOfStrawLayersInModule[i]; j++) {
239  const IRDBRecord* layerVars = (*RDB_BarrelNStrawInLay)[cumulLayer++];
240  barrelNumberOfStrawsInStrawLayer[i][j] = layerVars->getInt("NSTRAWSINSTRAWLAYER");
241  }
242 
247  barrelNumberOfStrawsInModule = new unsigned int[nBarrelRings];
249 
250  nCoolingTubes = RDBVars_BarrelOverallPars->getInt("NCOOLINGTUBES");
251  if ( nCoolingTubes != 2 ) {
252  msg(MSG::WARNING) << "DD Database indicates nCoolingTubes != 2, but the code" << " can't cope with that. Putting nCoolingTubes=2" << endmsg;
253  nCoolingTubes = 2;
254  };
255 
256  nShellCorners = RDBVars_BarrelOverallPars->getInt("NSHELLCORNERS");
257  if ( nShellCorners != 4 ) {
258  msg(MSG::WARNING) << "DD Database indicates nShellCorners != 4, but the code" << " can't cope with that. Putting nShellCorners=4" << endmsg;
259  nShellCorners = 4;
260  };
261 
262  for (unsigned int iRing = 0; iRing < nBarrelRings; iRing++) {
263  const IRDBRecord* row = (*RDB_BarrelRingDepPars)[iRing];
264  barrelXOfFirstGlobalAlignmentStraw[iRing] = row->getFloat("XOFGLOBALALIGNSTRW1")*GeoModelKernelUnits::mm;
265  barrelYOfFirstGlobalAlignmentStraw[iRing] = row->getFloat("YOFGLOBALALIGNSTRW1")*GeoModelKernelUnits::mm;
266  barrelXOfSecondGlobalAlignmentStraw[iRing] = row->getFloat("XOFGLOBALALIGNSTRW2")*GeoModelKernelUnits::mm;
267  barrelYOfSecondGlobalAlignmentStraw[iRing] = row->getFloat("YOFGLOBALALIGNSTRW2")*GeoModelKernelUnits::mm;
268  barrelIndexOfSecondGlobalAlignmentStraw[iRing] = row->getInt("INDEX2NDGLBALGNSTRW");
269  barrelNumberOfStrawsInModule[iRing] = row->getInt("NSTRAWSINMODULE");
270 
271  barrelXOfCoolingTube[iRing] = new double[nCoolingTubes];
272  barrelXOfCoolingTube[iRing][0] = row->getFloat("XOFCOOLINGTUBE1")*GeoModelKernelUnits::mm;
273  barrelXOfCoolingTube[iRing][1] = row->getFloat("XOFCOOLINGTUBE2")*GeoModelKernelUnits::mm;
274 
275  barrelYOfCoolingTube[iRing] = new double[nCoolingTubes];
276  barrelYOfCoolingTube[iRing][0] = row->getFloat("YOFCOOLINGTUBE1")*GeoModelKernelUnits::mm;
277  barrelYOfCoolingTube[iRing][1] = row->getFloat("YOFCOOLINGTUBE2")*GeoModelKernelUnits::mm;
278 
279  shellCornerXPosition[iRing] = new double[nShellCorners];
280  shellCornerXPosition[iRing][0] = row->getFloat("SHELLCORNERXPOS1")*GeoModelKernelUnits::mm;
281  shellCornerXPosition[iRing][1] = row->getFloat("SHELLCORNERXPOS2")*GeoModelKernelUnits::mm;
282  shellCornerXPosition[iRing][2] = row->getFloat("SHELLCORNERXPOS3")*GeoModelKernelUnits::mm;
283  shellCornerXPosition[iRing][3] = row->getFloat("SHELLCORNERXPOS4")*GeoModelKernelUnits::mm;
284 
285  shellCornerYPosition[iRing] = new double[nShellCorners];
286  shellCornerYPosition[iRing][0] = row->getFloat("SHELLCORNERYPOS1")*GeoModelKernelUnits::mm;
287  shellCornerYPosition[iRing][1] = row->getFloat("SHELLCORNERYPOS2")*GeoModelKernelUnits::mm;
288  shellCornerYPosition[iRing][2] = row->getFloat("SHELLCORNERYPOS3")*GeoModelKernelUnits::mm;
289  shellCornerYPosition[iRing][3] = row->getFloat("SHELLCORNERYPOS4")*GeoModelKernelUnits::mm;
290 
291  };
292 
293  unsigned int cumulativeStrawNumber = 0;
294  for (unsigned int i = 0; i < nBarrelRings; i++) {
297  for (unsigned int j = 0; j < barrelNumberOfStrawsInModule[i]; j++) {
298  const IRDBRecord* row = (*RDB_BarrelStrawCoord)[cumulativeStrawNumber++];
299  strawXPosition[i][j]=row->getFloat("STRAWXPOSITION")*GeoModelKernelUnits::mm;
300  strawYPosition[i][j]=row->getFloat("STRAWYPOSITION")*GeoModelKernelUnits::mm;
301  };
302  };
303 
304 
306  // Variables related to the End Cap part //
308 
309  IRDBRecordset_ptr RDB_EndCapOverallPars = iAccessSvc->getRecordsetPtr("TRTEndCapOverallPars",detectorKey,detectorNode);
310  const IRDBRecord* RDBVars_EndCapOverallPars = (*RDB_EndCapOverallPars)[0];
311  IRDBRecordset_ptr RDB_ECWheelTypDepPars = iAccessSvc->getRecordsetPtr("TRTECWheelTypDepPars",detectorKey,detectorNode);
312  const IRDBRecord* RDBVars_A_Wheel = (*RDB_ECWheelTypDepPars)[0];
313  const IRDBRecord* RDBVars_B_Wheel = (*RDB_ECWheelTypDepPars)[1];
314  const IRDBRecord* RDBVars_C_Wheel = (*RDB_ECWheelTypDepPars)[2];
315  IRDBRecordset_ptr RDB_EndCapStrwLayZPos = iAccessSvc->getRecordsetPtr("TRTEndCapStrwLayZPos",detectorKey,detectorNode);
316  IRDBRecordset_ptr RDB_ECMembranePars = iAccessSvc->getRecordsetPtr("TRTECMembranePars",detectorKey,detectorNode);
317  IRDBRecordset_ptr RDB_ECHeatExchAndFoil = iAccessSvc->getRecordsetPtr("TRTECHeatExchAndFoil",detectorKey,detectorNode);
318  IRDBRecordset_ptr RDB_ECWheelDepPars = iAccessSvc->getRecordsetPtr("TRTECWheelDepPars",detectorKey,detectorNode);
319  IRDBRecordset_ptr RDB_ECEndCapDepPars = iAccessSvc->getRecordsetPtr("TRTECEndCapDepPars",detectorKey,detectorNode);
320 
321  innerRadiusOfEndCapVolumeAB = RDBVars_EndCapOverallPars->getFloat("INNERRADIUSOFECVOLAB")*GeoModelKernelUnits::mm;
322  outerRadiusOfEndCapVolumeAB = RDBVars_EndCapOverallPars->getFloat("OUTERRADIUSOFECVOLAB")*GeoModelKernelUnits::mm;
323  innerRadiusOfEndCapVolumeC = RDBVars_EndCapOverallPars->getFloat("INNERRADIUSOFECVOLC")*GeoModelKernelUnits::mm;
324  outerRadiusOfEndCapVolumeC = RDBVars_EndCapOverallPars->getFloat("OUTERRADIUSOFECVOLC")*GeoModelKernelUnits::mm;
325  lengthOfEndCapVolumeAB = RDBVars_EndCapOverallPars->getFloat("LENGTHOFENDCAPVOLAB")*GeoModelKernelUnits::mm;
326  positionOfEndCapVolumeAB = RDBVars_EndCapOverallPars->getFloat("POSFORENDCAPVOLAB")*GeoModelKernelUnits::mm;
327  lengthOfEndCapVolumeC = RDBVars_EndCapOverallPars->getFloat("LENGTHOFENDCAPVOLC")*GeoModelKernelUnits::mm;
328  positionOfEndCapVolumeC = RDBVars_EndCapOverallPars->getFloat("POSITIONOFENDCAPVOLC")*GeoModelKernelUnits::mm;//rename!!!
329 
330  if ( RDBVars_A_Wheel->getFloat("OUTERRADIUSOFINNERSUP") != RDBVars_B_Wheel->getFloat("OUTERRADIUSOFINNERSUP") )
331  msg(MSG::WARNING) << "DD Database indicates different outer radii of inner support for A and B wheels." << " The code assumes otherwise. Using value of A wheel for both!" << endmsg;
332  if ( RDBVars_A_Wheel->getFloat("INNERRADIUSOFOUTERSUP") != RDBVars_B_Wheel->getFloat("INNERRADIUSOFOUTERSUP") )
333  msg(MSG::WARNING) << "DD Database indicates different inner radii of outer support for A and B wheels." << " The code assumes otherwise. Using value of A wheel for both!" << endmsg;
334  endcapOuterRadiusOfInnerSupport_wheelAB = RDBVars_A_Wheel->getFloat("OUTERRADIUSOFINNERSUP")*GeoModelKernelUnits::mm;
335  endcapInnerRadiusOfOuterSupport_wheelAB = RDBVars_A_Wheel->getFloat("INNERRADIUSOFOUTERSUP")*GeoModelKernelUnits::mm;
336  endcapOuterRadiusOfInnerSupport_wheelC = RDBVars_C_Wheel->getFloat("OUTERRADIUSOFINNERSUP")*GeoModelKernelUnits::mm;
337  endcapInnerRadiusOfOuterSupport_wheelC = RDBVars_C_Wheel->getFloat("INNERRADIUSOFOUTERSUP")*GeoModelKernelUnits::mm;
338 
339  endCapShiftForEachRotation = RDBVars_EndCapOverallPars->getFloat("SHIFTFOREACHROTATION")*GeoModelKernelUnits::radian;
340 
341  endCapPhiOfFirstStraw = 0; // Temporary
342 
343 
344  endCapInnerRadiusOfSupportA = RDBVars_A_Wheel->getFloat("INNERRADIUSOFSUPPORT")*GeoModelKernelUnits::mm;
345  endCapInnerRadiusOfSupportB = RDBVars_B_Wheel->getFloat("INNERRADIUSOFSUPPORT")*GeoModelKernelUnits::mm;
346  endCapInnerRadiusOfSupportC = RDBVars_C_Wheel->getFloat("INNERRADIUSOFSUPPORT")*GeoModelKernelUnits::mm;
347 
348  endCapOuterRadiusOfSupportA = RDBVars_A_Wheel->getFloat("OUTERRADIUSOFSUPPORT")*GeoModelKernelUnits::mm;
349  endCapOuterRadiusOfSupportB = RDBVars_B_Wheel->getFloat("OUTERRADIUSOFSUPPORT")*GeoModelKernelUnits::mm;
350  endCapOuterRadiusOfSupportC = RDBVars_C_Wheel->getFloat("OUTERRADIUSOFSUPPORT")*GeoModelKernelUnits::mm;
351 
352  endCapRadialThicknessOfInnerSupportA = RDBVars_A_Wheel->getFloat("RADIALTHICKOFINNERSUP")*GeoModelKernelUnits::mm;
353  endCapRadialThicknessOfInnerSupportB = RDBVars_B_Wheel->getFloat("RADIALTHICKOFINNERSUP")*GeoModelKernelUnits::mm;
354  endCapRadialThicknessOfInnerSupportC = RDBVars_C_Wheel->getFloat("RADIALTHICKOFINNERSUP")*GeoModelKernelUnits::mm;
355 
356  endCapRadialThicknessOfOuterSupportA = RDBVars_A_Wheel->getFloat("RADIALTHICKOFOUTERSUP")*GeoModelKernelUnits::mm;
357  endCapRadialThicknessOfOuterSupportB = RDBVars_B_Wheel->getFloat("RADIALTHICKOFOUTERSUP")*GeoModelKernelUnits::mm;
358  endCapRadialThicknessOfOuterSupportC = RDBVars_C_Wheel->getFloat("RADIALTHICKOFOUTERSUP")*GeoModelKernelUnits::mm;
359 
360  endCapRadialDistFromRadToOuterSupportA = RDBVars_A_Wheel->getFloat("RADIALDISTRADTOOUTERSUP")*GeoModelKernelUnits::mm;
361  endCapRadialDistFromRadToOuterSupportB = RDBVars_B_Wheel->getFloat("RADIALDISTRADTOOUTERSUP")*GeoModelKernelUnits::mm;
362  endCapRadialDistFromRadToOuterSupportC = RDBVars_C_Wheel->getFloat("RADIALDISTRADTOOUTERSUP")*GeoModelKernelUnits::mm;
363 
364  endCapMainRadiatorThicknessA = RDBVars_A_Wheel->getFloat("MAINRADIATORTHICK")*GeoModelKernelUnits::mm;
365  endCapMainRadiatorThicknessB = RDBVars_B_Wheel->getFloat("MAINRADIATORTHICK")*GeoModelKernelUnits::mm;
366  endCapMainRadiatorThicknessC = RDBVars_C_Wheel->getFloat("MAINRADIATORTHICK")*GeoModelKernelUnits::mm;
367 
368  endCapThinRadiatorThicknessA = RDBVars_A_Wheel->getFloat("THINRADIATORTHICK")*GeoModelKernelUnits::mm;
369  endCapThinRadiatorThicknessB = RDBVars_B_Wheel->getFloat("THINRADIATORTHICK")*GeoModelKernelUnits::mm;
370  endCapThinRadiatorThicknessC = RDBVars_C_Wheel->getFloat("THINRADIATORTHICK")*GeoModelKernelUnits::mm;
371 
372  endCapMiddleRadiatorThicknessB = RDBVars_B_Wheel->getFloat("MIDDLERADIATORTHICK")*GeoModelKernelUnits::mm;
373  if ( RDBVars_A_Wheel->getFloat("MIDDLERADIATORTHICK")*GeoModelKernelUnits::mm != 0 )
374  msg(MSG::WARNING) << "DD Database indicates a nonzero middle radiator thickness in the A wheel" << " where middle radiators doesn't exist. Ignoring parameter." << endmsg;
375  if ( RDBVars_C_Wheel->getFloat("MIDDLERADIATORTHICK")*GeoModelKernelUnits::mm != 0 )
376  msg(MSG::WARNING) << "DD Database indicates a nonzero middle radiator thickness in the C wheel" << " where middle radiators doesn't exist. Ignoring parameter." << endmsg;
377 
378  endCapLengthOfWheelsA = RDBVars_A_Wheel->getFloat("LENGTHOFWHEELS")*GeoModelKernelUnits::mm;
379  endCapLengthOfWheelsB = RDBVars_B_Wheel->getFloat("LENGTHOFWHEELS")*GeoModelKernelUnits::mm;
380 
381  endCapLengthOfWheelsC = RDBVars_C_Wheel->getFloat("LENGTHOFWHEELS")*GeoModelKernelUnits::mm;
382 
383  endCapNumberOfStrawLayersPerWheelA = RDBVars_A_Wheel->getInt("NSTRAWLAYERSPERWHEEL");
384  endCapNumberOfStrawLayersPerWheelB = RDBVars_B_Wheel->getInt("NSTRAWLAYERSPERWHEEL");
385  endCapNumberOfStrawLayersPerWheelC = RDBVars_C_Wheel->getInt("NSTRAWLAYERSPERWHEEL");
386 
387 
388  endcapNumberOfAWheels = RDBVars_A_Wheel->getInt("NWHEELSOFTYPE");
389  endcapNumberOfBWheels = RDBVars_B_Wheel->getInt("NWHEELSOFTYPE");
390  endcapNumberOfCWheels = RDBVars_C_Wheel->getInt("NWHEELSOFTYPE");
391 
392 
393 
394  endcapNumberOfStrawsInStrawLayer_AWheels = RDBVars_A_Wheel->getInt("NSTRAWSINSTRAWLAYER");
395  endcapNumberOfStrawsInStrawLayer_BWheels = RDBVars_B_Wheel->getInt("NSTRAWSINSTRAWLAYER");
396  endcapNumberOfStrawsInStrawLayer_CWheels = RDBVars_C_Wheel->getInt("NSTRAWSINSTRAWLAYER");
397 
398  includeECFoilHeatExchangerAndMembranes = (RDB_ECHeatExchAndFoil->size()!=0);
399 
401 
402  const IRDBRecord* RDBECEndCapDepPars_EndCap_C = (*RDB_ECEndCapDepPars)[0];
403  const IRDBRecord* RDBECEndCapDepPars_EndCap_A = (*RDB_ECEndCapDepPars)[1];
404 
405 
406 
407  endCapPositionOfFirstWheelA[0] = RDBECEndCapDepPars_EndCap_A->getDouble("ZPOSOFFIRSTAWHEEL")*GeoModelKernelUnits::mm;
408  endCapPositionOfFirstWheelA[1] = RDBECEndCapDepPars_EndCap_C->getDouble("ZPOSOFFIRSTAWHEEL")*GeoModelKernelUnits::mm;
409  endCapPositionOfFirstWheelB[0] = RDBECEndCapDepPars_EndCap_A->getDouble("ZPOSOFFIRSTBWHEEL")*GeoModelKernelUnits::mm;
410  endCapPositionOfFirstWheelB[1] = RDBECEndCapDepPars_EndCap_C->getDouble("ZPOSOFFIRSTBWHEEL")*GeoModelKernelUnits::mm;
411 
412  for (unsigned int iiWheel = 0; iiWheel < endcapNumberOfAWheels; iiWheel++) {
413  const IRDBRecord* row = (*RDB_ECWheelDepPars)[iiWheel];
414  endCapDistanceBetweenWheelCentersA[0][iiWheel]=row->getDouble("DISTBETWWHEELCENTECC")*GeoModelKernelUnits::mm;
415  endCapDistanceBetweenWheelCentersA[1][iiWheel]=row->getDouble("DISTBETWWHEELCENTECA")*GeoModelKernelUnits::mm;
416  };
417  for (unsigned int iiWheel = endcapNumberOfAWheels; iiWheel < (endcapNumberOfAWheels+endcapNumberOfBWheels); iiWheel++) {
418  const IRDBRecord* row = (*RDB_ECWheelDepPars)[iiWheel];
419  endCapDistanceBetweenWheelCentersB[0][iiWheel]=row->getDouble("DISTBETWWHEELCENTECC")*GeoModelKernelUnits::mm;
420  endCapDistanceBetweenWheelCentersB[1][iiWheel]=row->getDouble("DISTBETWWHEELCENTECA")*GeoModelKernelUnits::mm;
421  };
422  } else {
423 
424  endCapPositionOfFirstWheelA[0] = RDBVars_A_Wheel->getFloat("POSITIONOFFIRSTWHEEL")*GeoModelKernelUnits::mm;
425  endCapPositionOfFirstWheelA[1] = RDBVars_A_Wheel->getFloat("POSITIONOFFIRSTWHEEL")*GeoModelKernelUnits::mm;
426  endCapPositionOfFirstWheelB[0] = RDBVars_B_Wheel->getFloat("POSITIONOFFIRSTWHEEL")*GeoModelKernelUnits::mm;
427  endCapPositionOfFirstWheelB[1] = RDBVars_B_Wheel->getFloat("POSITIONOFFIRSTWHEEL")*GeoModelKernelUnits::mm;
432  for (unsigned int iiWheel = 1; iiWheel < endcapNumberOfAWheels; iiWheel++) {
433  endCapDistanceBetweenWheelCentersA[0][iiWheel]=RDBVars_A_Wheel->getFloat("DISTBETWWHEELCENTERS")*GeoModelKernelUnits::mm;
434  endCapDistanceBetweenWheelCentersA[1][iiWheel]=RDBVars_A_Wheel->getFloat("DISTBETWWHEELCENTERS")*GeoModelKernelUnits::mm;
435  };
436  for (unsigned int iiWheel = (endcapNumberOfAWheels+1); iiWheel < (endcapNumberOfAWheels+endcapNumberOfBWheels); iiWheel++) {
437  endCapDistanceBetweenWheelCentersB[0][iiWheel]=RDBVars_B_Wheel->getFloat("DISTBETWWHEELCENTERS")*GeoModelKernelUnits::mm;
438  endCapDistanceBetweenWheelCentersB[1][iiWheel]=RDBVars_B_Wheel->getFloat("DISTBETWWHEELCENTERS")*GeoModelKernelUnits::mm;
439  };
440  };
441 
442  endCapDistanceBetweenWheelCentersC = RDBVars_C_Wheel->getFloat("DISTBETWWHEELCENTERS")*GeoModelKernelUnits::mm;
443  endCapPositionOfFirstWheelC = RDBVars_C_Wheel->getFloat("POSITIONOFFIRSTWHEEL")*GeoModelKernelUnits::mm;
444 
445 
449 
450  for (unsigned int iiPlane = 0; iiPlane < endCapNumberOfStrawLayersPerWheelA; iiPlane++) {
451  const IRDBRecord* row = (*RDB_EndCapStrwLayZPos)[iiPlane];
452  endCapLayerZPositionA[iiPlane] = row->getFloat("LAYERZPOSAWHEELS")*GeoModelKernelUnits::mm;
453  };
454  for (unsigned int iiPlane = 0; iiPlane < endCapNumberOfStrawLayersPerWheelB; iiPlane++) {
455  const IRDBRecord* row = (*RDB_EndCapStrwLayZPos)[iiPlane];
456  endCapLayerZPositionB[iiPlane] = row->getFloat("LAYERZPOSBWHEELS")*GeoModelKernelUnits::mm;
457  };
458  for (unsigned int iiPlane = 0; iiPlane < endCapNumberOfStrawLayersPerWheelC; iiPlane++) {
459  const IRDBRecord* row = (*RDB_EndCapStrwLayZPos)[iiPlane];
460  endCapLayerZPositionC[iiPlane] = row->getFloat("LAYERZPOSCWHEELS")*GeoModelKernelUnits::mm;
461  };
462 
463 
464 
466 
467  const IRDBRecord* RDBVars_ECHeatExchAndFoil = (*RDB_ECHeatExchAndFoil)[0];
468 
469  // Faraday foils kapton
470  endCapFaradayFoilThickness = RDBVars_ECHeatExchAndFoil->getDouble("ECFARADAYFOILTHICK")*GeoModelKernelUnits::mm;
471 
472  // Heat Exchanger
473  endCapRMinOfHeatExchanger = RDBVars_ECHeatExchAndFoil->getDouble("ECHEATEXCHANGERRMIN")*GeoModelKernelUnits::mm;
474  endCapRMaxOfHeatExchanger = RDBVars_ECHeatExchAndFoil->getDouble("ECHEATEXCHANGERRMAX")*GeoModelKernelUnits::mm;
475  endCapHeatExchangerThicknessA = RDBVars_ECHeatExchAndFoil->getDouble("ECHEATEXCHTHICKNESSA")*GeoModelKernelUnits::mm;
476  endCapHeatExchangerThicknessB = RDBVars_ECHeatExchAndFoil->getDouble("ECHEATEXCHTHICKNESSB")*GeoModelKernelUnits::mm;
477 
478  // Membranes
479  const IRDBRecord* RDBVars_ECMembranePars = (*RDB_ECMembranePars)[0];
480 
481  endCapRMinOfMbrane = RDBVars_ECMembranePars->getDouble("RMINOFENDCAPMBRANE")*GeoModelKernelUnits::mm;
482  endCapRMaxOfMbrane = RDBVars_ECMembranePars->getDouble("RMAXOFENDCAPMBRANE")*GeoModelKernelUnits::mm;
483  endCapZMinOfMbraneWheelA1 = RDBVars_ECMembranePars->getDouble("ZMINPOSMBRANEWHEELA1")*GeoModelKernelUnits::mm;
484  endCapZMaxOfMbraneWheelA1 = RDBVars_ECMembranePars->getDouble("ZMAXPOSMBRANEWHEELA1")*GeoModelKernelUnits::mm;
485  endCapZMinOfMbraneWheelA2 = RDBVars_ECMembranePars->getDouble("ZMINPOSMBRANEWHEELA2")*GeoModelKernelUnits::mm;
486  endCapZMaxOfMbraneWheelA2 = RDBVars_ECMembranePars->getDouble("ZMAXPOSMBRANEWHEELA2")*GeoModelKernelUnits::mm;
487  endCapZMinOfMbraneWheelB1 = RDBVars_ECMembranePars->getDouble("ZMINPOSMBRANEWHEELB1")*GeoModelKernelUnits::mm;
488  endCapZMaxOfMbraneWheelB1 = RDBVars_ECMembranePars->getDouble("ZMAXPOSMBRANEWHEELB1")*GeoModelKernelUnits::mm;
489  endCapZMinOfMbraneWheelB2 = RDBVars_ECMembranePars->getDouble("ZMINPOSMBRANEWHEELB2")*GeoModelKernelUnits::mm;
490  endCapZMaxOfMbraneWheelB2 = RDBVars_ECMembranePars->getDouble("ZMAXPOSMBRANEWHEELB2")*GeoModelKernelUnits::mm;
491 
493 
494  }
495 }
498 {
499  return m_distortedMatManager;
500 }
501 
502 const GeoTrf::Transform3D &
503 TRT_DetDescrDB_ParameterInterface::partTransform(const std::string & partName) const
504 {
505  if (m_placements) return m_placements->transform(partName);
506  static const GeoTrf::Transform3D unitTransform = GeoTrf::Transform3D::Identity();
507  return unitTransform;
508 }
509 
510 
511 bool
512 TRT_DetDescrDB_ParameterInterface::partPresent(const std::string & partName) const
513 {
514  if (!m_placements) return true;
515  return m_placements->present(partName);
516 }
517 
IRDBRecord::getInt
virtual int getInt(const std::string &fieldName) const =0
Get int field value.
TRTParameterInterface::oldConfiguration
bool oldConfiguration
Definition: TRTParameterInterface.h:55
TRTParameterInterface::barrelYOfSecondGlobalAlignmentStraw
double * barrelYOfSecondGlobalAlignmentStraw
Definition: TRTParameterInterface.h:132
query_example.row
row
Definition: query_example.py:24
TRTParameterInterface::barServicesRMax
double barServicesRMax
Definition: TRTParameterInterface.h:144
TRTParameterInterface::endCapDistanceBetweenWheelCentersA
double endCapDistanceBetweenWheelCentersA[2][6]
Definition: TRTParameterInterface.h:222
TRTParameterInterface::versionName
std::string versionName
Definition: TRTParameterInterface.h:50
TRTParameterInterface::endCapMiddleRadiatorThicknessB
double endCapMiddleRadiatorThicknessB
Definition: TRTParameterInterface.h:206
TRT_DetDescrDB_ParameterInterface.h
TRTParameterInterface::endCapHeatExchangerThicknessA
double endCapHeatExchangerThicknessA
Definition: TRTParameterInterface.h:229
TRTParameterInterface::lengthOfEndCapVolumeC
double lengthOfEndCapVolumeC
Definition: TRTParameterInterface.h:179
TRTParameterInterface::layout
std::string layout
Definition: TRTParameterInterface.h:51
TRTParameterInterface::endCapRMaxOfHeatExchanger
double endCapRMaxOfHeatExchanger
Definition: TRTParameterInterface.h:228
TRTParameterInterface::barServicesZMax
double barServicesZMax
Definition: TRTParameterInterface.h:142
TRTParameterInterface::positionOfEndCapVolumeC
double positionOfEndCapVolumeC
Definition: TRTParameterInterface.h:180
TRTParameterInterface::barrelVirtualVolumeZClearance
double barrelVirtualVolumeZClearance
Definition: TRTParameterInterface.h:151
TRTParameterInterface::endCapRMinOfMbrane
double endCapRMinOfMbrane
Definition: TRTParameterInterface.h:233
TRTParameterInterface::endcapOuterRadiusOfInnerSupport_wheelAB
double endcapOuterRadiusOfInnerSupport_wheelAB
Definition: TRTParameterInterface.h:167
TRTParameterInterface::endCapZMaxOfMbraneWheelB2
double endCapZMaxOfMbraneWheelB2
Definition: TRTParameterInterface.h:242
TRTParameterInterface::endCapRMaxOfMbrane
double endCapRMaxOfMbrane
Definition: TRTParameterInterface.h:234
TRTParameterInterface::barrelThicknessOfModuleWalls
double barrelThicknessOfModuleWalls
Definition: TRTParameterInterface.h:106
max
#define max(a, b)
Definition: cfImp.cxx:41
TRTParameterInterface::outerRadiusOfBarrelVolume
double outerRadiusOfBarrelVolume
Definition: TRTParameterInterface.h:98
TRTParameterInterface::endCapRadialThicknessOfInnerSupportC
double endCapRadialThicknessOfInnerSupportC
Definition: TRTParameterInterface.h:193
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.
TRTParameterInterface::endcapNumberOfCWheels
unsigned int endcapNumberOfCWheels
Definition: TRTParameterInterface.h:161
TRTParameterInterface::endCapOuterRadiusOfSupportC
double endCapOuterRadiusOfSupportC
Definition: TRTParameterInterface.h:190
TopLevelPlacements
Definition: TopLevelPlacements.h:18
TopLevelPlacements::transform
const GeoTrf::Transform3D & transform(const std::string &partName) const
Definition: TopLevelPlacements.cxx:26
TRTParameterInterface::barrelOuterRadiusOfCoolingTube
double barrelOuterRadiusOfCoolingTube
Definition: TRTParameterInterface.h:103
TRTParameterInterface::outerRadiusOfEndCapVolumeC
double outerRadiusOfEndCapVolumeC
Definition: TRTParameterInterface.h:176
TRT_DetDescrDB_ParameterInterface::SetValues
void SetValues()
Definition: TRT_DetDescrDB_ParameterInterface.cxx:56
TRTParameterInterface::endCapThinRadiatorThicknessA
double endCapThinRadiatorThicknessA
Definition: TRTParameterInterface.h:203
TRTParameterInterface::barrelLengthOfLargeDeadRegion
double barrelLengthOfLargeDeadRegion
Definition: TRTParameterInterface.h:95
IRDBRecord::getString
virtual const std::string & getString(const std::string &fieldName) const =0
Get string field value.
TRTParameterInterface::endCapLayerZPositionC
double * endCapLayerZPositionC
Definition: TRTParameterInterface.h:221
InDetDD::AthenaComps
Class to hold various Athena components.
Definition: InDetDDAthenaComps.h:21
InDetDD::DistortedMaterialManager
Definition: DistortedMaterialManager.h:14
TRTParameterInterface::endCapDistanceBetweenWheelCentersB
double endCapDistanceBetweenWheelCentersB[2][14]
Definition: TRTParameterInterface.h:223
TRTParameterInterface::endCapRadialDistFromRadToOuterSupportA
double endCapRadialDistFromRadToOuterSupportA
Definition: TRTParameterInterface.h:197
TRTParameterInterface::barFlangeZMax
double barFlangeZMax
Definition: TRTParameterInterface.h:138
TRTParameterInterface::endcapInnerRadiusOfOuterSupport_wheelAB
double endcapInnerRadiusOfOuterSupport_wheelAB
Definition: TRTParameterInterface.h:168
TRTParameterInterface::includeECFoilHeatExchangerAndMembranes
bool includeECFoilHeatExchangerAndMembranes
Definition: TRTParameterInterface.h:147
TRTParameterInterface::nBarrelRings
static const unsigned int nBarrelRings
Definition: TRTParameterInterface.h:78
TRTParameterInterface::barFlangeRMax
double barFlangeRMax
Definition: TRTParameterInterface.h:140
TRTParameterInterface::endCapLayerZPositionB
double * endCapLayerZPositionB
Definition: TRTParameterInterface.h:220
TRTParameterInterface::endCapLengthOfWheelsA
double endCapLengthOfWheelsA
Definition: TRTParameterInterface.h:207
DecodeVersionKey::node
const std::string & node() const
Return the version node.
Definition: DecodeVersionKey.cxx:99
TRTParameterInterface::endCapRadialThicknessOfInnerSupportB
double endCapRadialThicknessOfInnerSupportB
Definition: TRTParameterInterface.h:192
TRT_DetDescrDB_ParameterInterface::partPresent
virtual bool partPresent(const std::string &partName) const
Definition: TRT_DetDescrDB_ParameterInterface.cxx:512
TRT_DetDescrDB_ParameterInterface::m_athenaComps
InDetDD::AthenaComps * m_athenaComps
Definition: TRT_DetDescrDB_ParameterInterface.h:50
TRTParameterInterface::endCapPhiOfFirstStraw
double endCapPhiOfFirstStraw
Definition: TRTParameterInterface.h:183
TRTParameterInterface::innerRadiusOfBarrelVolume
double innerRadiusOfBarrelVolume
Definition: TRTParameterInterface.h:97
TRTParameterInterface::barrelInnerRadiusOfCoolingTube
double barrelInnerRadiusOfCoolingTube
Definition: TRTParameterInterface.h:104
TRTParameterInterface::endCapZMinOfMbraneWheelA2
double endCapZMinOfMbraneWheelA2
Definition: TRTParameterInterface.h:236
TopLevelPlacements::present
bool present(const std::string &partName) const
Definition: TopLevelPlacements.cxx:35
TRTParameterInterface::outerRadiusOfWire
double outerRadiusOfWire
Definition: TRTParameterInterface.h:91
TRTParameterInterface::nCoolingTubes
unsigned int nCoolingTubes
Definition: TRTParameterInterface.h:71
TRTParameterInterface::endcapOuterRadiusOfInnerSupport_wheelC
double endcapOuterRadiusOfInnerSupport_wheelC
Definition: TRTParameterInterface.h:169
TRTParameterInterface::endCapRadialThicknessOfOuterSupportC
double endCapRadialThicknessOfOuterSupportC
Definition: TRTParameterInterface.h:196
TRTParameterInterface::lengthOfDeadRegion
double lengthOfDeadRegion
Definition: TRTParameterInterface.h:90
TRTParameterInterface::outerRadiusOfEndCapVolumeAB
double outerRadiusOfEndCapVolumeAB
Definition: TRTParameterInterface.h:173
TRTParameterInterface
Definition: TRTParameterInterface.h:16
TRTParameterInterface::endCapDistanceBetweenWheelCentersC
double endCapDistanceBetweenWheelCentersC
Definition: TRTParameterInterface.h:217
python.SystemOfUnits.radian
int radian
Definition: SystemOfUnits.py:104
TRTParameterInterface::endCapLayerZPositionA
double * endCapLayerZPositionA
Definition: TRTParameterInterface.h:219
TRTParameterInterface::endcapNumberOfAWheels
unsigned int endcapNumberOfAWheels
Definition: TRTParameterInterface.h:159
TRTParameterInterface::endCapThicknessOfMbrane
double endCapThicknessOfMbrane
Definition: TRTParameterInterface.h:232
TRTParameterInterface::shellCornerXPosition
double * shellCornerXPosition[nBarrelRings]
Definition: TRTParameterInterface.h:120
TRTParameterInterface::endCapRadialThicknessOfOuterSupportB
double endCapRadialThicknessOfOuterSupportB
Definition: TRTParameterInterface.h:195
IRDBAccessSvc.h
Definition of the abstract IRDBAccessSvc interface.
TRTParameterInterface::barrelNumberOfLayersWithLargeDeadRegion
unsigned int barrelNumberOfLayersWithLargeDeadRegion
Definition: TRTParameterInterface.h:107
IRDBAccessSvc::getChildTag
virtual std::string getChildTag(const std::string &childNode, const std::string &parentTag, const std::string &parentNode, const std::string &connName="ATLASDD")=0
Gets the tag name for the node by giving its parent node tag.
TRTParameterInterface::endCapZMinOfMbraneWheelB2
double endCapZMinOfMbraneWheelB2
Definition: TRTParameterInterface.h:238
TRTParameterInterface::nBarrelPhi
unsigned int nBarrelPhi
Definition: TRTParameterInterface.h:66
TRTParameterInterface::virtualBarrelVolumeLength
double virtualBarrelVolumeLength
Definition: TRTParameterInterface.h:145
TRTParameterInterface::endCapOuterRadiusOfSupportB
double endCapOuterRadiusOfSupportB
Definition: TRTParameterInterface.h:189
lumiFormat.i
int i
Definition: lumiFormat.py:92
TRTParameterInterface::endCapNumberOfStrawLayersPerWheelC
unsigned int endCapNumberOfStrawLayersPerWheelC
Definition: TRTParameterInterface.h:213
TRTParameterInterface::endCapNumberOfStrawLayersPerWheelB
unsigned int endCapNumberOfStrawLayersPerWheelB
Definition: TRTParameterInterface.h:212
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
DecodeVersionKey
This is a helper class to query the version tags from GeoModelSvc and determine the appropriate tag a...
Definition: DecodeVersionKey.h:18
TRTParameterInterface::nBarrelModules
unsigned int nBarrelModules
Definition: TRTParameterInterface.h:64
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
TRTParameterInterface::endCapZMaxOfMbraneWheelA1
double endCapZMaxOfMbraneWheelA1
Definition: TRTParameterInterface.h:239
TRTParameterInterface::versionDescription
std::string versionDescription
Definition: TRTParameterInterface.h:52
TRTParameterInterface::innerRadiusOfStraw
double innerRadiusOfStraw
Definition: TRTParameterInterface.h:92
DecodeVersionKey::tag
const std::string & tag() const
Return version tag.
Definition: DecodeVersionKey.cxx:93
TRTParameterInterface::barrelIndexOfSecondGlobalAlignmentStraw
unsigned int * barrelIndexOfSecondGlobalAlignmentStraw
Definition: TRTParameterInterface.h:128
TRTParameterInterface::endCapInnerRadiusOfSupportB
double endCapInnerRadiusOfSupportB
Definition: TRTParameterInterface.h:186
TRTParameterInterface::barrelNumberOfStrawLayersInModule
unsigned int * barrelNumberOfStrawLayersInModule
Definition: TRTParameterInterface.h:114
TRTParameterInterface::innerRadiusOfEndCapVolumeC
double innerRadiusOfEndCapVolumeC
Definition: TRTParameterInterface.h:175
TRTParameterInterface::endCapNumberOfStrawLayersPerWheelA
unsigned int endCapNumberOfStrawLayersPerWheelA
Definition: TRTParameterInterface.h:211
TRTParameterInterface::lengthOfBarrelVolume
double lengthOfBarrelVolume
Definition: TRTParameterInterface.h:88
TRTParameterInterface::endCapRMinOfHeatExchanger
double endCapRMinOfHeatExchanger
Definition: TRTParameterInterface.h:227
InDetDDAthenaComps.h
TRTParameterInterface::shellCornerYPosition
double * shellCornerYPosition[nBarrelRings]
Definition: TRTParameterInterface.h:121
python.SystemOfUnits.micrometer
int micrometer
Definition: SystemOfUnits.py:71
TRTParameterInterface::endcapNumberOfStrawsInStrawLayer_BWheels
unsigned int endcapNumberOfStrawsInStrawLayer_BWheels
Definition: TRTParameterInterface.h:164
InDetDD::AthenaComps::geoDbTagSvc
const IGeoDbTagSvc * geoDbTagSvc() const
Definition: InDetDDAthenaComps.h:58
IRDBRecordset_ptr
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
Definition: IRDBAccessSvc.h:25
TRTParameterInterface::barrelYOfCoolingTube
double * barrelYOfCoolingTube[nBarrelRings]
Definition: TRTParameterInterface.h:118
TRTParameterInterface::barServicesRMin
double barServicesRMin
Definition: TRTParameterInterface.h:143
TRTParameterInterface::barrelVirtualVolumeRMinClearance
double barrelVirtualVolumeRMinClearance
Definition: TRTParameterInterface.h:152
TRTParameterInterface::endCapThinRadiatorThicknessB
double endCapThinRadiatorThicknessB
Definition: TRTParameterInterface.h:204
TRTParameterInterface::endcapNumberOfStrawsInStrawLayer_CWheels
unsigned int endcapNumberOfStrawsInStrawLayer_CWheels
Definition: TRTParameterInterface.h:165
TRTParameterInterface::endCapMainRadiatorThicknessB
double endCapMainRadiatorThicknessB
Definition: TRTParameterInterface.h:201
TRTParameterInterface::thicknessOfBarrelOuterSupport
double thicknessOfBarrelOuterSupport
Definition: TRTParameterInterface.h:101
TRTParameterInterface::endcapInnerRadiusOfOuterSupport_wheelC
double endcapInnerRadiusOfOuterSupport_wheelC
Definition: TRTParameterInterface.h:170
TRT_DetDescrDB_ParameterInterface::msg
MsgStream & msg(MSG::Level lvl)
Definition: TRT_DetDescrDB_ParameterInterface.h:45
TRTParameterInterface::digversionname
std::string digversionname
Definition: TRTParameterInterface.h:58
TRTParameterInterface::endCapZMaxOfMbraneWheelB1
double endCapZMaxOfMbraneWheelB1
Definition: TRTParameterInterface.h:241
TRTParameterInterface::endCapRadialDistFromRadToOuterSupportC
double endCapRadialDistFromRadToOuterSupportC
Definition: TRTParameterInterface.h:199
TRTParameterInterface::barrelXOfSecondGlobalAlignmentStraw
double * barrelXOfSecondGlobalAlignmentStraw
Definition: TRTParameterInterface.h:130
TRTParameterInterface::endCapHeatExchangerThicknessB
double endCapHeatExchangerThicknessB
Definition: TRTParameterInterface.h:230
TRTParameterInterface::nShellCorners
unsigned int nShellCorners
Definition: TRTParameterInterface.h:70
TRTParameterInterface::endcapNumberOfBWheels
unsigned int endcapNumberOfBWheels
Definition: TRTParameterInterface.h:160
TRTParameterInterface::barrelLengthOfTwister
double barrelLengthOfTwister
Definition: TRTParameterInterface.h:94
TRTParameterInterface::barrelXOfCoolingTube
double * barrelXOfCoolingTube[nBarrelRings]
Definition: TRTParameterInterface.h:117
TRTParameterInterface::nBarrelModulesUsed
unsigned int nBarrelModulesUsed
Definition: TRTParameterInterface.h:65
TRTParameterInterface::includeBarServiceAndFlange
bool includeBarServiceAndFlange
Definition: TRTParameterInterface.h:146
TRTParameterInterface::endCapInnerRadiusOfSupportC
double endCapInnerRadiusOfSupportC
Definition: TRTParameterInterface.h:187
DecodeVersionKey.h
TRTParameterInterface::endCapMainRadiatorThicknessC
double endCapMainRadiatorThicknessC
Definition: TRTParameterInterface.h:202
TRTParameterInterface::strawYPosition
double * strawYPosition[nBarrelRings]
Definition: TRTParameterInterface.h:134
TRTParameterInterface::barrelXOfFirstGlobalAlignmentStraw
double * barrelXOfFirstGlobalAlignmentStraw
Definition: TRTParameterInterface.h:129
TRT_DetDescrDB_ParameterInterface::m_distortedMatManager
InDetDD::DistortedMaterialManager * m_distortedMatManager
Definition: TRT_DetDescrDB_ParameterInterface.h:52
TRTParameterInterface::endCapOuterRadiusOfSupportA
double endCapOuterRadiusOfSupportA
Definition: TRTParameterInterface.h:188
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
TRTParameterInterface::endCapShiftForEachRotation
double endCapShiftForEachRotation
Definition: TRTParameterInterface.h:182
TRT_DetDescrDB_ParameterInterface::m_placements
TopLevelPlacements * m_placements
Definition: TRT_DetDescrDB_ParameterInterface.h:53
TRTParameterInterface::endCapInnerRadiusOfSupportA
double endCapInnerRadiusOfSupportA
Definition: TRTParameterInterface.h:185
TRTParameterInterface::endCapZMaxOfMbraneWheelA2
double endCapZMaxOfMbraneWheelA2
Definition: TRTParameterInterface.h:240
TRTParameterInterface::barFlangeZMin
double barFlangeZMin
Definition: TRTParameterInterface.h:137
TRTParameterInterface::barrelNumberOfStrawsInStrawLayer
unsigned int * barrelNumberOfStrawsInStrawLayer[nBarrelRings]
Definition: TRTParameterInterface.h:115
IRDBRecord.h
Definition of the abstract IRDBRecord interface.
IRDBRecord::isFieldNull
virtual bool isFieldNull(const std::string &fieldName) const =0
Check if the field value is NULL.
IRDBRecord
IRDBRecord is one record in the IRDBRecordset object.
Definition: IRDBRecord.h:27
TRTParameterInterface::initialLayout
bool initialLayout
Definition: TRTParameterInterface.h:54
TRTParameterInterface::barrelOuterRadiusOfStrawHole
double barrelOuterRadiusOfStrawHole
Definition: TRTParameterInterface.h:85
TRTParameterInterface::endCapMainRadiatorThicknessA
double endCapMainRadiatorThicknessA
Definition: TRTParameterInterface.h:200
DEBUG
#define DEBUG
Definition: page_access.h:11
TRTParameterInterface::endCapLengthOfWheelsC
double endCapLengthOfWheelsC
Definition: TRTParameterInterface.h:209
TRTParameterInterface::endCapRadialThicknessOfInnerSupportA
double endCapRadialThicknessOfInnerSupportA
Definition: TRTParameterInterface.h:191
TRTParameterInterface::versionTag
std::string versionTag
Definition: TRTParameterInterface.h:40
TRTParameterInterface::endCapThinRadiatorThicknessC
double endCapThinRadiatorThicknessC
Definition: TRTParameterInterface.h:205
TRTParameterInterface::endCapPositionOfFirstWheelC
double endCapPositionOfFirstWheelC
Definition: TRTParameterInterface.h:214
TRTParameterInterface::endCapZMinOfMbraneWheelA1
double endCapZMinOfMbraneWheelA1
Definition: TRTParameterInterface.h:235
TRTParameterInterface::isCosmicRun
bool isCosmicRun
Definition: TRTParameterInterface.h:53
TRTParameterInterface::innerRadiusOfEndCapVolumeAB
double innerRadiusOfEndCapVolumeAB
Definition: TRTParameterInterface.h:172
TRTParameterInterface::barrelVirtualVolumeRMaxClearance
double barrelVirtualVolumeRMaxClearance
Definition: TRTParameterInterface.h:153
TRTParameterInterface::thicknessOfBarrelInnerSupport
double thicknessOfBarrelInnerSupport
Definition: TRTParameterInterface.h:100
TRTParameterInterface::barrelNumberOfStrawsInModule
unsigned int * barrelNumberOfStrawsInModule
Definition: TRTParameterInterface.h:109
TRTParameterInterface::barServicesZMin
double barServicesZMin
Definition: TRTParameterInterface.h:141
TRTParameterInterface::digversion
unsigned int digversion
Definition: TRTParameterInterface.h:57
TRTParameterInterface::endCapLengthOfWheelsB
double endCapLengthOfWheelsB
Definition: TRTParameterInterface.h:208
IRDBRecord::getDouble
virtual double getDouble(const std::string &fieldName) const =0
Get double field value.
TRTParameterInterface::endCapFaradayFoilThickness
double endCapFaradayFoilThickness
Definition: TRTParameterInterface.h:225
TRTParameterInterface::endCapPositionOfFirstWheelB
double endCapPositionOfFirstWheelB[2]
Definition: TRTParameterInterface.h:216
TopLevelPlacements.h
TRT_DetDescrDB_ParameterInterface::TRT_DetDescrDB_ParameterInterface
TRT_DetDescrDB_ParameterInterface(InDetDD::AthenaComps *athenaComps)
Definition: TRT_DetDescrDB_ParameterInterface.cxx:17
IRDBRecordset.h
Definition of the abstract IRDBRecordset interface.
TRTParameterInterface::endCapZMinOfMbraneWheelB1
double endCapZMinOfMbraneWheelB1
Definition: TRTParameterInterface.h:237
TRT_DetDescrDB_ParameterInterface::distortedMatManager
virtual InDetDD::DistortedMaterialManager * distortedMatManager()
Definition: TRT_DetDescrDB_ParameterInterface.cxx:497
InDetDD::AthenaComps::rdbAccessSvc
IRDBAccessSvc * rdbAccessSvc()
Definition: InDetDDAthenaComps.h:74
TRTParameterInterface::lengthOfEndCapVolumeAB
double lengthOfEndCapVolumeAB
Definition: TRTParameterInterface.h:177
TRTParameterInterface::outerRadiusOfStraw
double outerRadiusOfStraw
Definition: TRTParameterInterface.h:93
IRDBRecord::getFloat
virtual float getFloat(const std::string &fieldName) const =0
Get float field value.
TRT_DetDescrDB_ParameterInterface::~TRT_DetDescrDB_ParameterInterface
~TRT_DetDescrDB_ParameterInterface()
Definition: TRT_DetDescrDB_ParameterInterface.cxx:22
TRTParameterInterface::positionOfEndCapVolumeAB
double positionOfEndCapVolumeAB
Definition: TRTParameterInterface.h:178
TRTParameterInterface::endCapPositionOfFirstWheelA
double endCapPositionOfFirstWheelA[2]
Definition: TRTParameterInterface.h:215
TRTParameterInterface::strawXPosition
double * strawXPosition[nBarrelRings]
Definition: TRTParameterInterface.h:133
TRTParameterInterface::virtualBarrelOuterRadius
double virtualBarrelOuterRadius
Definition: TRTParameterInterface.h:149
IGeoDbTagSvc.h
DistortedMaterialManager.h
TRTParameterInterface::barrelLengthOfStraw
double barrelLengthOfStraw
Definition: TRTParameterInterface.h:87
TRTParameterInterface::endCapRadialDistFromRadToOuterSupportB
double endCapRadialDistFromRadToOuterSupportB
Definition: TRTParameterInterface.h:198
TRT_DetDescrDB_ParameterInterface::partTransform
virtual const GeoTrf::Transform3D & partTransform(const std::string &partName) const
Definition: TRT_DetDescrDB_ParameterInterface.cxx:503
TRTParameterInterface::barFlangeRMin
double barFlangeRMin
Definition: TRTParameterInterface.h:139
TRTParameterInterface::barrelYOfFirstGlobalAlignmentStraw
double * barrelYOfFirstGlobalAlignmentStraw
Definition: TRTParameterInterface.h:131
TRTParameterInterface::endCapRadialThicknessOfOuterSupportA
double endCapRadialThicknessOfOuterSupportA
Definition: TRTParameterInterface.h:194
TRT_DetDescrDB_ParameterInterface::m_scalingTable
IRDBRecordset_ptr m_scalingTable
Definition: TRT_DetDescrDB_ParameterInterface.h:54
TRTParameterInterface::endcapNumberOfStrawsInStrawLayer_AWheels
unsigned int endcapNumberOfStrawsInStrawLayer_AWheels
Definition: TRTParameterInterface.h:163
TRTParameterInterface::virtualBarrelInnerRadius
double virtualBarrelInnerRadius
Definition: TRTParameterInterface.h:148