ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | List of all members
LArGeo::LArDetectorConstructionTBEC Class Reference

#include <LArDetectorConstructionTBEC.h>

Collaboration diagram for LArGeo::LArDetectorConstructionTBEC:

Public Member Functions

 LArDetectorConstructionTBEC ()
 
virtual ~LArDetectorConstructionTBEC ()
 
virtual PVLink GetEnvelope ()
 
void setECVisLimit (int)
 

Private Member Functions

void getSimulationParameters ()
 
GeoIntrusivePtr< GeoFullPhysVol > createEnvelope ()
 

Private Attributes

double m_eta_pos
 
double m_eta_cell
 
double m_phi_pos
 
double m_phi_cell
 
bool m_hasLeadCompensator
 
bool m_hasPresampler
 
double m_ModuleRotation
 
double m_YShift
 
GeoPhysVol * m_tbecEnvelopePhysical
 
IRDBAccessSvcm_pAccessSvc
 

Detailed Description

Definition at line 18 of file LArDetectorConstructionTBEC.h.

Constructor & Destructor Documentation

◆ LArDetectorConstructionTBEC()

LArGeo::LArDetectorConstructionTBEC::LArDetectorConstructionTBEC ( )

Definition at line 61 of file LArDetectorConstructionTBEC.cxx.

61  :
62 m_eta_pos(0),
63 m_eta_cell(0),
64 m_phi_pos(0),
65 m_phi_cell(0),
67 m_hasPresampler(false),
69 m_YShift(0),
70 m_tbecEnvelopePhysical(nullptr),
71 m_pAccessSvc(nullptr)
72 {;}

◆ ~LArDetectorConstructionTBEC()

LArGeo::LArDetectorConstructionTBEC::~LArDetectorConstructionTBEC ( )
virtualdefault

Member Function Documentation

◆ createEnvelope()

GeoIntrusivePtr< GeoFullPhysVol > LArGeo::LArDetectorConstructionTBEC::createEnvelope ( )
private

Definition at line 193 of file LArDetectorConstructionTBEC.cxx.

194 {
195  // Get access to the material manager:
196 
197  ISvcLocator *svcLocator = Gaudi::svcLocator();
198  IMessageSvc * msgSvc;
199  if (svcLocator->service("MessageSvc", msgSvc, true )==StatusCode::FAILURE) {
200  throw std::runtime_error("Error in LArDetectorConstructionTBEC, cannot access MessageSvc");
201  }
202 
203  MsgStream log(msgSvc, "LArGeo::LArDetectorConstructionTBEC");
204  log << MSG::DEBUG << "createEnvelope() started" << endmsg;
205 
206 
208  if (svcLocator->service("DetectorStore", detStore, false )==StatusCode::FAILURE) {
209  throw std::runtime_error("Error in LArDetectorConstructionTBEC, cannot access DetectorStore");
210  }
211 
212  // Get the materials from the material manager:-----------------------------------------------------//
213  // //
214  StoredMaterialManager* materialManager = nullptr;
215  if (StatusCode::SUCCESS != detStore->retrieve(materialManager, std::string("MATERIALS"))) return nullptr;
216 
217  const GeoMaterial *Air = materialManager->getMaterial("std::Air");
218  if (!Air) throw std::runtime_error("Error in LArDetectorConstructionTBEC, std::Air is not found.");
219 
220  const GeoMaterial *Lead = materialManager->getMaterial("std::Lead");
221  if (!Lead) throw std::runtime_error("Error in LArDetectorConstructionTBEC, std::Lead is not found.");
222 
223 
224  // //
225  //-------------------------------------------------------------------------------------------------//
226  DecodeVersionKey larVersion("LAr");
227 
228 
230  // Define geometry
232 
233  // Set up strings for volume names.
234  std::string baseName = "LAr::TBEC";
235 
236  // Define the mother volume for the endcap cryostat. Everything
237  // else in the endcap (cryostat walls, detectors, etc.) should be
238  // placed inside here.
239 
240  // The position of this volume may change if the thickness of the
241  // cabling in front of the endcaps changes. Therefore, we must get
242  // the z-shift from the database and adjust the volume geometry
243  // accordingly.
244 
245  std::string tbecMotherName = baseName + "::MotherVolume";
246  GeoBox* tbecMotherShape = new GeoBox( 5.*Gaudi::Units::m, 5.*Gaudi::Units::m, 15.*Gaudi::Units::m );
247  const GeoLogVol* tbecMotherLogical = new GeoLogVol( tbecMotherName, tbecMotherShape, Air );
248  GeoIntrusivePtr<GeoFullPhysVol> tbecMotherPhysical = new GeoFullPhysVol( tbecMotherLogical );
249 
250  double xcent = -120.*Gaudi::Units::cm, zcent = 395.7*Gaudi::Units::cm;
251  double zfface = zcent - 60.09*Gaudi::Units::cm;
252  log << MSG::DEBUG << "eta = " << m_eta_pos;
253  if ( m_eta_pos > 5. ) m_eta_pos = 0.;
254  else m_eta_pos = 2*atan( exp( -m_eta_pos ) );
255  log << ", positioning cryostat with angle " << m_eta_pos*(1./Gaudi::Units::deg) << " Gaudi::Units::deg";
256  log << endmsg;
257 
258  // Tubular axis, dummy
259 
260  if ( AXIS_ON ) {
261 
262  double axisZHalfLength = 5*Gaudi::Units::m;
263 
264  GeoTube* axisShape = new GeoTube( 0.*Gaudi::Units::cm, 1.*Gaudi::Units::cm, axisZHalfLength );
265 
266  // x-axis
267  std::string XAxisName = baseName + "::XAxis";
268  const GeoLogVol* XAxisLogical = new GeoLogVol( XAxisName, axisShape, Air );
269  GeoIntrusivePtr<GeoPhysVol> XAxisPhysVol = new GeoPhysVol( XAxisLogical );
270 
271  tbecMotherPhysical->add( new GeoIdentifierTag( 1 ) );
272  tbecMotherPhysical->add( new GeoTransform( GeoTrf::Transform3D( GeoTrf::Translation3D( axisZHalfLength, 0.*Gaudi::Units::m, 0.*Gaudi::Units::m ) *GeoTrf::RotateY3D( 90.*Gaudi::Units::deg )) ) );
273  tbecMotherPhysical->add( XAxisPhysVol );
274 
275  // y-axis
276  std::string YAxisName = baseName + "::YAxis";
277  const GeoLogVol* YAxisLogical = new GeoLogVol( YAxisName, axisShape, Air );
278  GeoIntrusivePtr<GeoPhysVol> YAxisPhysVol = new GeoPhysVol( YAxisLogical );
279 
280  tbecMotherPhysical->add( new GeoIdentifierTag( 1 ) );
281  tbecMotherPhysical->add( new GeoTransform( GeoTrf::Transform3D( GeoTrf::Translation3D( 0.*Gaudi::Units::m, axisZHalfLength, 0.*Gaudi::Units::m )*GeoTrf::RotateX3D( -90.*Gaudi::Units::deg ) ) ) );
282  tbecMotherPhysical->add( YAxisPhysVol );
283 
284  //z-axis
285  std::string ZAxisName = baseName + "::ZAxis";
286  const GeoLogVol* ZAxisLogical = new GeoLogVol( ZAxisName, axisShape, Air );
287  GeoIntrusivePtr<GeoPhysVol> ZAxisPhysVol = new GeoPhysVol( ZAxisLogical );
288 
289  tbecMotherPhysical->add( new GeoIdentifierTag( 1 ) );
290  tbecMotherPhysical->add( new GeoTransform( GeoTrf::TranslateZ3D( axisZHalfLength ) ) );
291  tbecMotherPhysical->add( ZAxisPhysVol );
292  }
293 
294  // Lead compensator, Optionnal
295 
296  if ( m_hasLeadCompensator ) {
297  std::string CompensatorName = baseName + "::LeadCompensator";
298  GeoBox* CompensatorShape = new GeoBox( 152.*Gaudi::Units::cm, 195.*Gaudi::Units::cm, 0.56*Gaudi::Units::cm );
299  const GeoLogVol* CompensatorLogical = new GeoLogVol( CompensatorName, CompensatorShape, Lead );
300  GeoIntrusivePtr<GeoPhysVol> CompensatorPhysical = new GeoPhysVol( CompensatorLogical );
301 
302  tbecMotherPhysical->add( new GeoIdentifierTag( 1 ) );
303 
304  GeoTrf::Vector3D tmpvec1(xcent, 0., 300.*Gaudi::Units::cm);
305  GeoTrf::Vector3D tmpvec1Rotated = GeoTrf::RotateY3D(m_eta_pos)*tmpvec1;
306  GeoTrf::Translate3D tmpxf1(tmpvec1Rotated.x(),tmpvec1Rotated.y(),tmpvec1Rotated.z());
307  tbecMotherPhysical->add(new GeoTransform( tmpxf1 * GeoTrf::RotateY3D(m_eta_pos)));
308  tbecMotherPhysical->add( CompensatorPhysical );
309  }
310 
311  // Cryostat
312 
313  CryostatConstructionTBEC cryoConstruction;
314  GeoIntrusivePtr<GeoVFullPhysVol> cryoPhys = cryoConstruction.GetEnvelope();
315  GeoIntrusivePtr<GeoPhysVol> LArPhysical = cryoConstruction.GetLArPhysical();
316 
317  tbecMotherPhysical->add( new GeoIdentifierTag( 1 ) );
318  GeoTrf::Vector3D tmpvec2(xcent, 0., zcent);
319  GeoTrf::Vector3D tmpvec2Rotated = GeoTrf::RotateY3D(m_eta_pos)*tmpvec2;
320  GeoTrf::Translate3D tmpxf2(tmpvec2Rotated.x(),tmpvec2Rotated.y(),tmpvec2Rotated.z());
321  tbecMotherPhysical->add(new GeoTransform( tmpxf2 * GeoTrf::RotateY3D(m_eta_pos)));
322  tbecMotherPhysical->add( cryoPhys );
323 
324  // Beam chambers
325 
326  log << MSG::VERBOSE << "Creating beam chambers ..." << std::endl;
327 
328  const double beamCZ[ 4 ] = { 17.9*Gaudi::Units::m, 7.673*Gaudi::Units::m, 1.352*Gaudi::Units::m, .256*Gaudi::Units::m };
329  const double beamCSize = 11.*Gaudi::Units::cm, beamCTh = 28*Gaudi::Units::mm; // divided by 2, for half-length
330 
331  GeoBox* BeamCShape = new GeoBox( beamCSize, beamCSize, beamCTh );
332  for ( int i = 0; i < 4; i++ ) {
333  std::string BeamCName = baseName + "::BeamChamber";
334  BeamCName+= char( i ) + '0';
335  GeoLogVol* BeamCLogical = new GeoLogVol( BeamCName, BeamCShape, Air );
336  GeoIntrusivePtr<GeoPhysVol> BeamCPhysical = new GeoPhysVol( BeamCLogical );
337 
338  tbecMotherPhysical->add( new GeoIdentifierTag( 1 ) );
339  tbecMotherPhysical->add( new GeoTransform( GeoTrf::Translate3D( 0.*Gaudi::Units::cm, 0.*Gaudi::Units::cm, zfface - beamCZ[ i ] ) ) );
340  tbecMotherPhysical->add( BeamCPhysical );
341  }
342 
343  // End cap module
344  log << MSG::DEBUG << std::endl
345  << "Module deviation: " << m_ModuleRotation * (1./Gaudi::Units::deg) << " Gaudi::Units::deg" << std::endl
346  << "Phi position: " << m_phi_pos * (1./Gaudi::Units::deg) << " Gaudi::Units::deg" << std::endl
347  << "Y shift: " << m_YShift * (1./Gaudi::Units::mm) << " Gaudi::Units::mm"
348  << endmsg;
349 
350  // z = 0 in emecMother is at active region's front face
351 
352  EMECConstruction emecModuleConstruction( true, true, true );
353  GeoIntrusivePtr<GeoFullPhysVol>emecEnvelope= (GeoIntrusivePtr<GeoFullPhysVol>) emecModuleConstruction.GetEnvelope();
354  StoredPhysVol *sPhysVol = new StoredPhysVol(emecEnvelope);
355  StatusCode status=detStore->record(sPhysVol,"EMEC_POS");
356  if(!status.isSuccess()) throw std::runtime_error ("Cannot store EMEC_POS");
357 
358  GeoTrf::Transform3D Mrot(GeoTrf::RotateZ3D( m_phi_pos + 90*Gaudi::Units::deg)*GeoTrf::RotateY3D(m_ModuleRotation));
359  GeoTrf::Vector3D pos( -xcent, m_YShift, -51.4/2*Gaudi::Units::cm );
360 
361  if ( LArPhysical ) {
362 
363  LArPhysical->add( new GeoIdentifierTag( 1 ) );
364  LArPhysical->add( new GeoTransform( GeoTrf::Transform3D( GeoTrf::Translation3D(pos(0),pos(1),pos(2)))*Mrot ) );
365  LArPhysical->add( emecEnvelope );
366  }
367 
369 
370  if ( m_hasPresampler ) {
371 
372  EndcapPresamplerConstruction PresamplerConstruction( true );
373  GeoIntrusivePtr<GeoFullPhysVol> PresamplerEnvelope = PresamplerConstruction.Envelope();
374 
375  StoredPhysVol *sPhysVol = new StoredPhysVol(PresamplerEnvelope);
376  StatusCode status=detStore->record(sPhysVol,"PRESAMPLER_EC_POS");
377  if(!status.isSuccess()) throw std::runtime_error ("Cannot store PRESAMPLER_EC_POS");
378 
379  if ( LArPhysical ) {
380 
381  LArPhysical->add( new GeoIdentifierTag( 1 ) );
382  LArPhysical->add( new GeoTransform( GeoTrf::Transform3D( GeoTrf::Translation3D(pos(0),pos(1),pos(2)))*Mrot ) );
383  LArPhysical->add( PresamplerEnvelope );
384  }
385  }
386 
387 return tbecMotherPhysical;
388 }

◆ GetEnvelope()

PVLink LArGeo::LArDetectorConstructionTBEC::GetEnvelope ( )
virtual

Definition at line 118 of file LArDetectorConstructionTBEC.cxx.

119 {
120 
122 
123  ISvcLocator *svcLocator = Gaudi::svcLocator();
124  IMessageSvc * msgSvc;
125  if(svcLocator->service("MessageSvc", msgSvc, true) == StatusCode::FAILURE){
126  throw std::runtime_error("Error in LArDetectorConstructionTBEC, cannot access MessageSvc");
127  }
128 
129  MsgStream log(msgSvc, "LArGeo::LArDetectorConstructionTBEC");
131  if (svcLocator->service("DetectorStore", detStore, false )==StatusCode::FAILURE) {
132  throw std::runtime_error("Error in LArDetectorConstructionTBEC, cannot access DetectorStore");
133  }
134  StoredMaterialManager* materialManager = nullptr;
135  if (StatusCode::SUCCESS != detStore->retrieve(materialManager, std::string("MATERIALS"))) return nullptr;
136 
137  const GeoMaterial *Air = materialManager->getMaterial("std::Air");
138  if (!Air) {
139  throw std::runtime_error("Error in LArDetectorConstructionTBEC, std::Air is not found.");
140  }
141 
142  StatusCode sc;
143  sc=svcLocator->service("RDBAccessSvc",m_pAccessSvc);
144  if (sc != StatusCode::SUCCESS) {
145  throw std::runtime_error ("Cannot locate RDBAccessSvc!!");
146  }
147 
148  DecodeVersionKey larVersion("LAr");
149  const std::string& detectorKey = larVersion.tag();
150  const std::string& detectorNode = larVersion.node();
151 
152  // Default values....
153  m_hasLeadCompensator = false;
154  m_hasPresampler = false;
157 
158  IRDBRecordset_ptr tbecGeometry = m_pAccessSvc->getRecordsetPtr("TBECGeometry",detectorKey, detectorNode);
159  if ((*tbecGeometry).size()!=0) {
160  m_hasLeadCompensator = (*tbecGeometry)[0]->getInt("LEADCOMPENSATOR");
161  m_hasPresampler = (*tbecGeometry)[0]->getInt("PRESAMPLER");
162  m_ModuleRotation = (*tbecGeometry)[0]->getDouble("MODULEROTATION");
163  m_YShift = (*tbecGeometry)[0]->getDouble("YSHIFT");
164  }
165 
166  log << MSG::INFO << "LeadCompensator = ";
167  if(m_hasLeadCompensator) log << "true";
168  else log << "false";
169  log << endmsg;
170 
171  log << MSG::INFO << "Presampler = ";
172  if(m_hasPresampler) log << "true";
173  else log << "false";
174  log << endmsg;
175 
176  // Retrieve simulation parameters from Storegate
178 
179  std::string baseName = "LAr::TBEC::MotherVolume";
180 
181  GeoBox* tbecMotherShape = new GeoBox( 5.*Gaudi::Units::m, 5.*Gaudi::Units::m, 15.*Gaudi::Units::m );
182 
183  const GeoLogVol* tbecMotherLogical =
184  new GeoLogVol(baseName, tbecMotherShape, Air);
185 
186  m_tbecEnvelopePhysical = new GeoPhysVol(tbecMotherLogical);
187 
188  m_tbecEnvelopePhysical->add( new GeoNameTag("LArEndcapPos") );
190  return m_tbecEnvelopePhysical;
191 }

◆ getSimulationParameters()

void LArGeo::LArDetectorConstructionTBEC::getSimulationParameters ( )
private

Definition at line 74 of file LArDetectorConstructionTBEC.cxx.

75 {
76  m_eta_cell = 12;
77  m_phi_cell = 16;
78 
79  StoreGateSvc* detStore = nullptr;
80  const LArGeoTBGeometricOptions *largeotbgeometricoptions = nullptr;
81 
83  ISvcLocator* svcLocator = Gaudi::svcLocator();
84  IMessageSvc * msgSvc;
85  if(svcLocator->service("MessageSvc", msgSvc, true) == StatusCode::FAILURE){
86  throw std::runtime_error("Error in LArDetectorConstructionTBEC, cannot access MessageSvc");
87  }
88  MsgStream log(msgSvc, "LArGeo::LArDetectorConstructionTBEC");
89 
90  status = svcLocator->service("DetectorStore", detStore);
91 
92  if(status.isSuccess()){
93  status = detStore->retrieve(largeotbgeometricoptions, "LArGeoTBGeometricOptions");
94  if(!status.isFailure()){
95  m_eta_cell = largeotbgeometricoptions->CryoEtaPosition();
96  m_phi_cell = largeotbgeometricoptions->CryoPhiPosition();
97  } else {
98  log << MSG::WARNING
99  << "Can't access LArGeoTBGeometricOptions, using default values"
100  << endmsg;
101  }
102  } else {
103  throw std::runtime_error("LArDetectorConstructionTBEC: cannot initialize \
104 StoreGate interface");
105  }
106 
107  if ( m_eta_cell < 0.5 ) m_eta_pos = 0.05*( m_eta_cell + 0.5 ) + 1.375; // Cell 0 has double eta width
108  else if ( m_eta_cell > 43.5 ) m_eta_pos = 0.1*( m_eta_cell - 43.5 ) + 2.5; // Inner Wheel
109  else m_eta_pos = 0.025*( m_eta_cell - 0.5 ) + 1.425; // Outer Wheel
110 
111  if ( m_eta_cell <= 43.5 ) m_phi_pos = -( ( m_phi_cell - 16. )*1.40625 + 0.46875 )*Gaudi::Units::deg; // Outer Wheel
112  else m_phi_pos = -( 4*( m_phi_cell - 4. )*1.40625 + 0.46875 )*Gaudi::Units::deg; // Inner Wheel
113 
114 }

◆ setECVisLimit()

void LArGeo::LArDetectorConstructionTBEC::setECVisLimit ( int  )
inline

Definition at line 30 of file LArDetectorConstructionTBEC.h.

30 {/*_ecVisLimit=limit;*/}

Member Data Documentation

◆ m_eta_cell

double LArGeo::LArDetectorConstructionTBEC::m_eta_cell
private

Definition at line 35 of file LArDetectorConstructionTBEC.h.

◆ m_eta_pos

double LArGeo::LArDetectorConstructionTBEC::m_eta_pos
private

Definition at line 34 of file LArDetectorConstructionTBEC.h.

◆ m_hasLeadCompensator

bool LArGeo::LArDetectorConstructionTBEC::m_hasLeadCompensator
private

Definition at line 39 of file LArDetectorConstructionTBEC.h.

◆ m_hasPresampler

bool LArGeo::LArDetectorConstructionTBEC::m_hasPresampler
private

Definition at line 40 of file LArDetectorConstructionTBEC.h.

◆ m_ModuleRotation

double LArGeo::LArDetectorConstructionTBEC::m_ModuleRotation
private

Definition at line 41 of file LArDetectorConstructionTBEC.h.

◆ m_pAccessSvc

IRDBAccessSvc* LArGeo::LArDetectorConstructionTBEC::m_pAccessSvc
private

Definition at line 50 of file LArDetectorConstructionTBEC.h.

◆ m_phi_cell

double LArGeo::LArDetectorConstructionTBEC::m_phi_cell
private

Definition at line 37 of file LArDetectorConstructionTBEC.h.

◆ m_phi_pos

double LArGeo::LArDetectorConstructionTBEC::m_phi_pos
private

Definition at line 36 of file LArDetectorConstructionTBEC.h.

◆ m_tbecEnvelopePhysical

GeoPhysVol* LArGeo::LArDetectorConstructionTBEC::m_tbecEnvelopePhysical
private

Definition at line 48 of file LArDetectorConstructionTBEC.h.

◆ m_YShift

double LArGeo::LArDetectorConstructionTBEC::m_YShift
private

Definition at line 42 of file LArDetectorConstructionTBEC.h.


The documentation for this class was generated from the following files:
LArGeo::LArDetectorConstructionTBEC::m_eta_pos
double m_eta_pos
Definition: LArDetectorConstructionTBEC.h:34
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
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.
LArGeoTBGeometricOptions::CryoEtaPosition
void CryoEtaPosition(double value)
Definition: LArGeoTBGeometricOptions.h:34
LArGeo::LArDetectorConstructionTBEC::createEnvelope
GeoIntrusivePtr< GeoFullPhysVol > createEnvelope()
Definition: LArDetectorConstructionTBEC.cxx:193
xAOD::char
char
Definition: TrigDecision_v1.cxx:38
LArGeo::LArDetectorConstructionTBEC::m_eta_cell
double m_eta_cell
Definition: LArDetectorConstructionTBEC.h:35
AXIS_ON
#define AXIS_ON
Definition: LArDetectorConstructionTBEC.cxx:48
deg
#define deg
Definition: SbPolyhedron.cxx:17
LArGeo::LArDetectorConstructionTBEC::m_hasPresampler
bool m_hasPresampler
Definition: LArDetectorConstructionTBEC.h:40
drawFromPickle.exp
exp
Definition: drawFromPickle.py:36
drawFromPickle.atan
atan
Definition: drawFromPickle.py:36
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
StoredPhysVol
Definition: StoredPhysVol.h:27
LArGeoTBGeometricOptions::CryoPhiPosition
void CryoPhiPosition(double value)
Definition: LArGeoTBGeometricOptions.h:35
LArGeo::LArDetectorConstructionTBEC::getSimulationParameters
void getSimulationParameters()
Definition: LArDetectorConstructionTBEC.cxx:74
cm
const double cm
Definition: Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/FCAL_ChannelMap.cxx:25
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
StdJOSetup.msgSvc
msgSvc
Provide convenience handles for various services.
Definition: StdJOSetup.py:36
lumiFormat.i
int i
Definition: lumiFormat.py:92
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
LArGeo::LArDetectorConstructionTBEC::m_hasLeadCompensator
bool m_hasLeadCompensator
Definition: LArDetectorConstructionTBEC.h:39
DecodeVersionKey
This is a helper class to query the version tags from GeoModelSvc and determine the appropriate tag a...
Definition: DecodeVersionKey.h:18
LArGeo::LArDetectorConstructionTBEC::m_pAccessSvc
IRDBAccessSvc * m_pAccessSvc
Definition: LArDetectorConstructionTBEC.h:50
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
IRDBRecordset_ptr
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
Definition: IRDBAccessSvc.h:25
LArGeo::LArDetectorConstructionTBEC::m_ModuleRotation
double m_ModuleRotation
Definition: LArDetectorConstructionTBEC.h:41
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
EndcapPresamplerConstruction
GeoModel description of the LAr Endcap Presampler geometry.
Definition: EndcapPresamplerConstruction.h:25
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
LArGeo::LArDetectorConstructionTBEC::m_tbecEnvelopePhysical
GeoPhysVol * m_tbecEnvelopePhysical
Definition: LArDetectorConstructionTBEC.h:48
LArGeo::LArDetectorConstructionTBEC::m_phi_cell
double m_phi_cell
Definition: LArDetectorConstructionTBEC.h:37
LArGeo::LArDetectorConstructionTBEC::m_phi_pos
double m_phi_pos
Definition: LArDetectorConstructionTBEC.h:36
DEBUG
#define DEBUG
Definition: page_access.h:11
Amg::Translation3D
Eigen::Translation< double, 3 > Translation3D
Definition: GeoPrimitives.h:44
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
StoredMaterialManager::getMaterial
virtual const GeoMaterial * getMaterial(const std::string &name)=0
StoredMaterialManager
This class holds one or more material managers and makes them storeable, under StoreGate.
Definition: StoredMaterialManager.h:28
merge.status
status
Definition: merge.py:17
python.Constants.VERBOSE
int VERBOSE
Definition: Control/AthenaCommon/python/Constants.py:14
LArGeo::LArDetectorConstructionTBEC::m_YShift
double m_YShift
Definition: LArDetectorConstructionTBEC.h:42
LArGeoTBGeometricOptions
Definition: LArGeoTBGeometricOptions.h:19