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

LArDetectorFactory builds GeoModel description of LAr calorimeter by calling relevant 'Construction' classes (Barrel, Endcap). It also builds readout geometry description using LArReadoutGeometry objects. More...

#include <LArDetectorFactory.h>

Inheritance diagram for LArGeo::LArDetectorFactory:
Collaboration diagram for LArGeo::LArDetectorFactory:

Public Member Functions

 LArDetectorFactory (StoreGateSvc *detStore, const LArHVManager *hvManager, int testbeam, bool fullGeo)
 
virtual ~LArDetectorFactory ()
 
virtual void create (GeoPhysVol *world)
 
virtual const LArDetectorManagergetDetectorManager () const
 
std::unique_ptr< LArGeo::VDetectorParametersmoveParameters ()
 
void setBarrelSagging (bool flag)
 
void setBarrelCellVisLimit (int maxCell)
 
void setFCALVisLimit (int maxCell)
 
void setBuildBarrel (bool flag)
 
void setBuildEndcap (bool flag)
 
void setEMECVariant (const std::string &inner, const std::string &outer)
 
void setActivateFT (bool flag)
 
void setEnableMBTS (bool flag)
 

Private Member Functions

const LArDetectorFactoryoperator= (const LArDetectorFactory &right)
 
 LArDetectorFactory (const LArDetectorFactory &right)
 

Private Attributes

LArDetectorManagerm_detectorManager
 
StoreGateSvcm_detStore
 
const LArHVManagerm_hvManager
 
bool m_barrelSagging
 
int m_barrelVisLimit
 
int m_fcalVisLimit
 
bool m_buildBarrel
 
bool m_buildEndcap
 
int m_testbeam
 
bool m_fullGeo
 
std::string m_EMECVariantInner
 
std::string m_EMECVariantOuter
 
bool m_activateFT
 
bool m_enableMBTS
 
std::unique_ptr< VDetectorParametersm_parameters
 

Detailed Description

LArDetectorFactory builds GeoModel description of LAr calorimeter by calling relevant 'Construction' classes (Barrel, Endcap). It also builds readout geometry description using LArReadoutGeometry objects.

Id
LArDetectorFactory.h,v 1.4 2009-02-10 16:43:17 tsulaia Exp

Definition at line 28 of file LArDetectorFactory.h.

Constructor & Destructor Documentation

◆ LArDetectorFactory() [1/2]

LArGeo::LArDetectorFactory::LArDetectorFactory ( StoreGateSvc detStore,
const LArHVManager hvManager,
int  testbeam,
bool  fullGeo 
)

Definition at line 43 of file LArDetectorFactory.cxx.

47  : m_detectorManager(nullptr)
49  , m_hvManager(hvManager)
50  , m_barrelSagging(false)
51  , m_barrelVisLimit(-1)
52  , m_fcalVisLimit(-1)
53  , m_buildBarrel(true)
54  , m_buildEndcap(true)
55  , m_testbeam(testbeam)
56  , m_fullGeo(fullGeo)
57  , m_activateFT(false)
58  , m_enableMBTS(true)
59 {}

◆ ~LArDetectorFactory()

LArGeo::LArDetectorFactory::~LArDetectorFactory ( )
virtualdefault

◆ LArDetectorFactory() [2/2]

LArGeo::LArDetectorFactory::LArDetectorFactory ( const LArDetectorFactory right)
private

Member Function Documentation

◆ create()

void LArGeo::LArDetectorFactory::create ( GeoPhysVol *  world)
virtual

Definition at line 67 of file LArDetectorFactory.cxx.

68 {
69  // Tree Tops:
70  GeoIntrusivePtr<GeoFullPhysVol> barrelEnvelope{nullptr}, endcapEnvelopePos{nullptr}, endcapEnvelopeNeg{nullptr};
71 
72  double projectivityDisplacement(0.);
73 
74  if(m_testbeam==0 || m_testbeam==1) {
75  m_parameters = std::make_unique<LArGeo::RAL>();
76 
77  // Get access to the material manager:
78 
79  ISvcLocator *svcLocator = Gaudi::svcLocator();
80  IMessageSvc * msgSvc;
81  if (svcLocator->service("MessageSvc", msgSvc, true )==StatusCode::FAILURE) {
82  throw std::runtime_error("Error in LAr::DetectorFactor, cannot access MessageSvc");
83  }
84 
85  MsgStream log(msgSvc, "LAr::DetectorFactory");
86 
87  StoredMaterialManager* materialManager = nullptr;
88  if (StatusCode::SUCCESS != m_detStore->retrieve(materialManager, std::string("MATERIALS"))) {
89  throw std::runtime_error("Error in LArDetectorFactory, cannot access Material Manager");
90  }
91 
92  IRDBAccessSvc* rdbAccess = nullptr;
93 
94  if(svcLocator->service ("RDBAccessSvc",rdbAccess) == StatusCode::FAILURE)
95  throw std::runtime_error("Error in BarrelCryostatConstruction, cannot access RDBAccessSvc");
96 
97  DecodeVersionKey larVersionKey("LAr");
98  log << MSG::DEBUG << "Getting primary numbers for " << larVersionKey.node() << ", " << larVersionKey.tag() << endmsg;
99 
100  IRDBRecordset_ptr larPosition = rdbAccess->getRecordsetPtr("LArPosition",larVersionKey.tag(),larVersionKey.node());
101 
102  if(larPosition->size()==0) {
103  larPosition = rdbAccess->getRecordsetPtr("LArPosition", "LArPosition-00");
104  if (larPosition->size()==0)
105  throw std::runtime_error("Error, no lar position table in database!");
106  }
107 
108  IRDBRecordset_ptr emecGeometry = rdbAccess->getRecordsetPtr("EmecGeometry",larVersionKey.tag(),larVersionKey.node());
109  projectivityDisplacement = (*emecGeometry)[0]->getDouble("ZSHIFT");
110 
111  //
112  // Patch the materials list by adding special materials. These
113  // cannot be added for the moment to the standard list because they
114  // are blended materials and to do the blending requires access to
115  // LAr Geometry.
116  //
117 
118  LArMaterialManager lArMaterialManager(m_detStore);
119  lArMaterialManager.buildMaterials();
120 
121  if (m_testbeam==0) {
122 
123  BarrelCryostatConstruction barrelCryostatConstruction(m_fullGeo, m_activateFT);
124  barrelCryostatConstruction.setBarrelSagging(m_barrelSagging);
125  barrelCryostatConstruction.setBarrelCellVisLimit(m_barrelVisLimit);
126 
127  EndcapCryostatConstruction endcapCryostatConstruction(m_fullGeo, m_EMECVariantInner, m_EMECVariantOuter, m_activateFT, m_enableMBTS);
128  endcapCryostatConstruction.setFCALVisLimit(m_fcalVisLimit);
129 
130  if(m_buildBarrel) {
131  barrelEnvelope = barrelCryostatConstruction.GetEnvelope(m_parameters.get());
132  }
133 
134  if(m_buildEndcap) {
135  endcapEnvelopePos = endcapCryostatConstruction.createEnvelope(true);
136  endcapEnvelopeNeg = endcapCryostatConstruction.createEnvelope(false);
137  }
138 
139  // Offset of endcaps from nominal position.
140  a_container->add(new GeoNameTag("LAr"));
141 
143 
144  // Typical scenario for each of the Tree Tops:
145  // 1. Construct Alignable Transform from LArPositions
146  // 2. Store FullPV in SG
147  // 3. Store Alignable XF in SG
148 
149  // --- Barrel
150  const IRDBRecord *barrelRec = GeoDBUtils::getTransformRecord(larPosition,"LARCRYO_B");
151  if(!barrelRec) throw std::runtime_error("Error, no lar position record in the database");
152  GeoTrf::Transform3D xfBarrel = GeoDBUtils::getTransform(barrelRec);
153  GeoAlignableTransform* barrelAlXf = new GeoAlignableTransform(xfBarrel);
154 
155  {
156  StoredPhysVol *sPhysVol = new StoredPhysVol(barrelEnvelope);
157  StatusCode status=m_detStore->record(sPhysVol,"LARCRYO_B");
158  if(!status.isSuccess()) throw std::runtime_error("Cannot store LARCRYO_B PhysVol");
159 
160  StoredAlignX *sAlignX = new StoredAlignX(barrelAlXf);
161  status=m_detStore->record(sAlignX,"LARCRYO_B");
162  if(!status.isSuccess()) throw std::runtime_error("Cannot store LARCRYO_B Alignable XF");
163  }
164 
165  a_container->add(new GeoNameTag("LArBarrel"));
166  a_container->add(barrelAlXf);
167  a_container->add(barrelEnvelope);
168 
169  // --- Endcap Pos
170  const IRDBRecord *posRec = GeoDBUtils::getTransformRecord(larPosition, "LARCRYO_EC_POS");
171  if (!posRec) throw std::runtime_error("Error, no lar position record in the database") ;
173  GeoAlignableTransform *xfEndcapPos = new GeoAlignableTransform(xfPos);
174 
175  {
176  StoredPhysVol *sPhysVol = new StoredPhysVol(endcapEnvelopePos);
177  StatusCode status=m_detStore->record(sPhysVol,"LARCRYO_EC_POS");
178  if(!status.isSuccess()) throw std::runtime_error("Cannot store LARCRYO_EC_POS PhysVol");
179 
180  StoredAlignX *sAlignX = new StoredAlignX(xfEndcapPos);
181  status=m_detStore->record(sAlignX,"LARCRYO_EC_POS");
182  if(!status.isSuccess()) throw std::runtime_error ("Cannot store LARCRYO_EC_POS");
183  }
184 
185  // --- Endcap Neg
186  const IRDBRecord *negRec = GeoDBUtils::getTransformRecord(larPosition, "LARCRYO_EC_NEG");
187  if (!negRec) throw std::runtime_error("Error, no lar position record in the database") ;
189  GeoAlignableTransform *xfEndcapNeg = new GeoAlignableTransform(xfNeg);
190 
191  {
192  StoredPhysVol *sPhysVol = new StoredPhysVol(endcapEnvelopeNeg);
193  StatusCode status=m_detStore->record(sPhysVol,"LARCRYO_EC_NEG");
194  if(!status.isSuccess()) throw std::runtime_error("Cannot store LARCRYO_EC_NEG PhysVol");
195 
196  StoredAlignX *sAlignX = new StoredAlignX(xfEndcapNeg);
197  status=m_detStore->record(sAlignX,"LARCRYO_EC_NEG");
198  if(!status.isSuccess()) throw std::runtime_error ("Cannot store LARCRYO_EC_NEG");
199  }
200 
201  a_container->add( new GeoNameTag("LArEndcapPos"));
202  a_container->add(xfEndcapPos);
203  a_container->add(endcapEnvelopePos);
204  a_container->add( new GeoNameTag("LArEndcapNeg"));
205  a_container->add(xfEndcapNeg);
206  a_container->add( new GeoTransform(GeoTrf::RotateY3D(180.0*Gaudi::Units::deg)));
207  a_container->add(endcapEnvelopeNeg);
208  }
209  else if(!m_buildEndcap) {
210  // -- Build the Barrel only
211  const IRDBRecord *barrelRec = GeoDBUtils::getTransformRecord(larPosition,"LARCRYO_B");
212  if(!barrelRec) throw std::runtime_error("Error, no lar position record in the database");
213  GeoTrf::Transform3D xfBarrel = GeoDBUtils::getTransform(barrelRec);
214  GeoAlignableTransform* barrelAlXf = new GeoAlignableTransform(xfBarrel);
215 
216  {
217  StoredPhysVol *sPhysVol = new StoredPhysVol(barrelEnvelope);
218  StatusCode status=m_detStore->record(sPhysVol,"LARCRYO_B");
219  if(!status.isSuccess()) throw std::runtime_error("Cannot store LARCRYO_B PhysVol");
220 
221  StoredAlignX *sAlignX = new StoredAlignX(barrelAlXf);
222  status=m_detStore->record(sAlignX,"LARCRYO_B");
223  if(!status.isSuccess()) throw std::runtime_error("Cannot store LARCRYO_B Alignable XF");
224  }
225 
226  a_container->add(new GeoNameTag("LArBarrel"));
227  a_container->add(barrelAlXf);
228  a_container->add(barrelEnvelope);
229 
230  }
231  else if(!m_buildBarrel) {
232  // --- Endcap Pos
233  const IRDBRecord *posRec = GeoDBUtils::getTransformRecord(larPosition, "LARCRYO_EC_POS");
234  if (!posRec) throw std::runtime_error("Error, no lar position record in the database") ;
236  GeoAlignableTransform *xfEndcapPos = new GeoAlignableTransform(xfPos);
237 
238  {
239  StoredPhysVol *sPhysVol = new StoredPhysVol(endcapEnvelopePos);
240  StatusCode status=m_detStore->record(sPhysVol,"LARCRYO_EC_POS");
241  if(!status.isSuccess()) throw std::runtime_error("Cannot store LARCRYO_EC_POS PhysVol");
242 
243  StoredAlignX *sAlignX = new StoredAlignX(xfEndcapPos);
244  status=m_detStore->record(sAlignX,"LARCRYO_EC_POS");
245  if(!status.isSuccess()) throw std::runtime_error ("Cannot store LARCRYO_EC_POS");
246  }
247 
248  // --- Endcap Neg
249  const IRDBRecord *negRec = GeoDBUtils::getTransformRecord(larPosition, "LARCRYO_EC_NEG");
250  if (!negRec) throw std::runtime_error("Error, no lar position record in the database") ;
252  GeoAlignableTransform *xfEndcapNeg = new GeoAlignableTransform(xfNeg);
253 
254  {
255  StoredPhysVol *sPhysVol = new StoredPhysVol(endcapEnvelopeNeg);
256  StatusCode status=m_detStore->record(sPhysVol,"LARCRYO_EC_NEG");
257  if(!status.isSuccess()) throw std::runtime_error("Cannot store LARCRYO_EC_NEG PhysVol");
258 
259  StoredAlignX *sAlignX = new StoredAlignX(xfEndcapNeg);
260  status=m_detStore->record(sAlignX,"LARCRYO_EC_NEG");
261  if(!status.isSuccess()) throw std::runtime_error ("Cannot store LARCRYO_EC_NEG");
262  }
263 
264  a_container->add( new GeoNameTag("LArEndcapPos"));
265  a_container->add(xfEndcapPos);
266  a_container->add(endcapEnvelopePos);
267  a_container->add( new GeoNameTag("LArEndcapNeg"));
268  a_container->add(xfEndcapNeg);
269  a_container->add( new GeoTransform(GeoTrf::RotateY3D(180.0*Gaudi::Units::deg)));
270  a_container->add(endcapEnvelopeNeg);
271 
272  }
273  }
274  else {
275  TBBarrelCryostatConstruction tbbarrelCryostatConstruction;
276  tbbarrelCryostatConstruction.setBarrelSagging(m_barrelSagging);
277  tbbarrelCryostatConstruction.setBarrelCellVisLimit(m_barrelVisLimit);
278 
279  barrelEnvelope = tbbarrelCryostatConstruction.GetEnvelope(m_parameters.get());
280 
281  a_container->add(new GeoNameTag("LAr"));
282  a_container->add(barrelEnvelope);
283 
284  }
285  }
286 
287  auto subDetManagers = buildLArReadoutGeometry(m_detStore
288  , m_hvManager
290  , m_testbeam
291  , projectivityDisplacement);
292 
293  EMBDetectorManager* embDetectorManager{std::get<0>(subDetManagers)};
294  EMECDetectorManager* emecDetectorManager{std::get<1>(subDetManagers)};
295  HECDetectorManager* hecDetectorManager{std::get<2>(subDetManagers)};
296  FCALDetectorManager* fcalDetectorManager{std::get<3>(subDetManagers)};
297 
298  if(!embDetectorManager
299  || !emecDetectorManager
300  || !hecDetectorManager
301  || !fcalDetectorManager) {
302  std::string errorMessage="Failed to build LAr Readout Geometry description";
303  throw std::runtime_error(errorMessage);
304  }
305 
306  m_detectorManager = new LArDetectorManager(embDetectorManager,emecDetectorManager,hecDetectorManager,fcalDetectorManager);
308  if (barrelEnvelope) m_detectorManager->addTreeTop(barrelEnvelope);
309  if (endcapEnvelopePos) m_detectorManager->addTreeTop(endcapEnvelopePos);
310  if (endcapEnvelopeNeg) m_detectorManager->addTreeTop(endcapEnvelopeNeg);
311 }

◆ getDetectorManager()

const LArDetectorManager * LArGeo::LArDetectorFactory::getDetectorManager ( ) const
virtual

Definition at line 315 of file LArDetectorFactory.cxx.

316 {
317  return m_detectorManager;
318 }

◆ moveParameters()

std::unique_ptr< LArGeo::VDetectorParameters > LArGeo::LArDetectorFactory::moveParameters ( )

Definition at line 320 of file LArDetectorFactory.cxx.

321 {
322  return std::move (m_parameters);
323 }

◆ operator=()

const LArDetectorFactory& LArGeo::LArDetectorFactory::operator= ( const LArDetectorFactory right)
private

◆ setActivateFT()

void LArGeo::LArDetectorFactory::setActivateFT ( bool  flag)
inline

Definition at line 62 of file LArDetectorFactory.h.

62 { m_activateFT = flag; }

◆ setBarrelCellVisLimit()

void LArGeo::LArDetectorFactory::setBarrelCellVisLimit ( int  maxCell)
inline

Definition at line 53 of file LArDetectorFactory.h.

◆ setBarrelSagging()

void LArGeo::LArDetectorFactory::setBarrelSagging ( bool  flag)
inline

Definition at line 52 of file LArDetectorFactory.h.

◆ setBuildBarrel()

void LArGeo::LArDetectorFactory::setBuildBarrel ( bool  flag)
inline

Definition at line 55 of file LArDetectorFactory.h.

◆ setBuildEndcap()

void LArGeo::LArDetectorFactory::setBuildEndcap ( bool  flag)
inline

Definition at line 56 of file LArDetectorFactory.h.

◆ setEMECVariant()

void LArGeo::LArDetectorFactory::setEMECVariant ( const std::string &  inner,
const std::string &  outer 
)
inline

Definition at line 57 of file LArDetectorFactory.h.

58  {
59  m_EMECVariantInner = inner;
60  m_EMECVariantOuter = outer;
61  }

◆ setEnableMBTS()

void LArGeo::LArDetectorFactory::setEnableMBTS ( bool  flag)
inline

Definition at line 63 of file LArDetectorFactory.h.

63 { m_enableMBTS = flag; }

◆ setFCALVisLimit()

void LArGeo::LArDetectorFactory::setFCALVisLimit ( int  maxCell)
inline

Definition at line 54 of file LArDetectorFactory.h.

Member Data Documentation

◆ m_activateFT

bool LArGeo::LArDetectorFactory::m_activateFT
private

Definition at line 88 of file LArDetectorFactory.h.

◆ m_barrelSagging

bool LArGeo::LArDetectorFactory::m_barrelSagging
private

Definition at line 75 of file LArDetectorFactory.h.

◆ m_barrelVisLimit

int LArGeo::LArDetectorFactory::m_barrelVisLimit
private

Definition at line 76 of file LArDetectorFactory.h.

◆ m_buildBarrel

bool LArGeo::LArDetectorFactory::m_buildBarrel
private

Definition at line 79 of file LArDetectorFactory.h.

◆ m_buildEndcap

bool LArGeo::LArDetectorFactory::m_buildEndcap
private

Definition at line 80 of file LArDetectorFactory.h.

◆ m_detectorManager

LArDetectorManager* LArGeo::LArDetectorFactory::m_detectorManager
private

Definition at line 72 of file LArDetectorFactory.h.

◆ m_detStore

StoreGateSvc* LArGeo::LArDetectorFactory::m_detStore
private

Definition at line 73 of file LArDetectorFactory.h.

◆ m_EMECVariantInner

std::string LArGeo::LArDetectorFactory::m_EMECVariantInner
private

Definition at line 85 of file LArDetectorFactory.h.

◆ m_EMECVariantOuter

std::string LArGeo::LArDetectorFactory::m_EMECVariantOuter
private

Definition at line 86 of file LArDetectorFactory.h.

◆ m_enableMBTS

bool LArGeo::LArDetectorFactory::m_enableMBTS
private

Definition at line 89 of file LArDetectorFactory.h.

◆ m_fcalVisLimit

int LArGeo::LArDetectorFactory::m_fcalVisLimit
private

Definition at line 77 of file LArDetectorFactory.h.

◆ m_fullGeo

bool LArGeo::LArDetectorFactory::m_fullGeo
private

Definition at line 84 of file LArDetectorFactory.h.

◆ m_hvManager

const LArHVManager* LArGeo::LArDetectorFactory::m_hvManager
private

Definition at line 74 of file LArDetectorFactory.h.

◆ m_parameters

std::unique_ptr<VDetectorParameters> LArGeo::LArDetectorFactory::m_parameters
private

Definition at line 91 of file LArDetectorFactory.h.

◆ m_testbeam

int LArGeo::LArDetectorFactory::m_testbeam
private

Definition at line 82 of file LArDetectorFactory.h.


The documentation for this class was generated from the following files:
StoreGateSvc::record
StatusCode record(T *p2BRegistered, const TKEY &key)
Record an object with a key.
FCALDetectorManager
A manager class providing access to readout geometry information for the forward calorimeter.
Definition: FCALDetectorManager.h:29
LArDetectorManager::isTestBeam
void isTestBeam(bool flag)
Set Test Beam flag.
Definition: LArDetectorManager.h:116
LArGeo::LArDetectorFactory::m_hvManager
const LArHVManager * m_hvManager
Definition: LArDetectorFactory.h:74
GeoDBUtils::getTransformRecord
static const IRDBRecord * getTransformRecord(IRDBRecordset_ptr positionRecSet, const std::string &key)
Definition: GeoDBUtils.h:23
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.
EMECDetectorManager
A manager class providing access to readout geometry information for the electromagnetic endcap calor...
Definition: EMECDetectorManager.h:31
LArGeo::LArDetectorFactory::m_EMECVariantOuter
std::string m_EMECVariantOuter
Definition: LArDetectorFactory.h:86
StoredAlignX
Definition: StoredAlignX.h:23
LArGeo::LArDetectorFactory::m_buildBarrel
bool m_buildBarrel
Definition: LArDetectorFactory.h:79
LArGeo::LArDetectorFactory::m_barrelSagging
bool m_barrelSagging
Definition: LArDetectorFactory.h:75
deg
#define deg
Definition: SbPolyhedron.cxx:17
LArGeo::LArDetectorFactory::m_detectorManager
LArDetectorManager * m_detectorManager
Definition: LArDetectorFactory.h:72
LArGeo::LArDetectorFactory::m_testbeam
int m_testbeam
Definition: LArDetectorFactory.h:82
LArGeo::LArDetectorFactory::m_EMECVariantInner
std::string m_EMECVariantInner
Definition: LArDetectorFactory.h:85
GeoDBUtils::getTransform
static GeoTrf::Transform3D getTransform(const IRDBRecord *currentRec)
Definition: GeoDBUtils.h:33
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
StoreGateSvc::retrieve
StatusCode retrieve(const T *&ptr) const
Retrieve the default object into a const T*.
StoredPhysVol
Definition: StoredPhysVol.h:27
LArGeo::LArDetectorFactory::m_parameters
std::unique_ptr< VDetectorParameters > m_parameters
Definition: LArDetectorFactory.h:91
EMBDetectorManager
A manager class providing access to readout geometry information for the electromagnetic barrel calor...
Definition: EMBDetectorManager.h:32
LArMaterialManager
Definition: LArMaterialManager.h:36
LArGeo::LArDetectorFactory::m_fcalVisLimit
int m_fcalVisLimit
Definition: LArDetectorFactory.h:77
StdJOSetup.msgSvc
msgSvc
Provide convenience handles for various services.
Definition: StdJOSetup.py:36
IRDBAccessSvc
IRDBAccessSvc is an abstract interface to the athena service that provides the following functionalit...
Definition: IRDBAccessSvc.h:45
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
DecodeVersionKey
This is a helper class to query the version tags from GeoModelSvc and determine the appropriate tag a...
Definition: DecodeVersionKey.h:18
master.flag
bool flag
Definition: master.py:29
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
LArGeo::LArDetectorFactory::m_buildEndcap
bool m_buildEndcap
Definition: LArDetectorFactory.h:80
LArDetectorManager
Stored in storegate. Provides access to EMB, EMEC, HEC and FCAL Detector Managers....
Definition: LArDetectorManager.h:26
IRDBRecordset_ptr
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
Definition: IRDBAccessSvc.h:25
HECDetectorManager
A manager class providing access to readout geometry information for the hadronic endcap calorimeter.
Definition: HECDetectorManager.h:28
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
LArGeo::LArDetectorFactory::m_barrelVisLimit
int m_barrelVisLimit
Definition: LArDetectorFactory.h:76
LArGeo::LArDetectorFactory::m_detStore
StoreGateSvc * m_detStore
Definition: LArDetectorFactory.h:73
LArGeo::LArDetectorFactory::m_enableMBTS
bool m_enableMBTS
Definition: LArDetectorFactory.h:89
LArGeo::LArDetectorFactory::m_fullGeo
bool m_fullGeo
Definition: LArDetectorFactory.h:84
IRDBRecord
IRDBRecord is one record in the IRDBRecordset object.
Definition: IRDBRecord.h:27
buildLArReadoutGeometry
std::tuple< EMBDetectorManager *,EMECDetectorManager *,HECDetectorManager *,FCALDetectorManager * > buildLArReadoutGeometry(StoreGateSvc *detStore, const LArHVManager *hvManager, IMessageSvc *msgSvc, int testbeam, double projectivityDisplacement)
Definition: LArReadoutGeometryBuilder.cxx:37
DEBUG
#define DEBUG
Definition: page_access.h:11
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
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
LArGeo::LArDetectorFactory::m_activateFT
bool m_activateFT
Definition: LArDetectorFactory.h:88
maxCell
#define maxCell
LArDetectorManager::addTreeTop
void addTreeTop(PVConstLink treeTop)
Add a Tree Top.
Definition: LArDetectorManager.cxx:31