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) override
 
virtual const LArDetectorManagergetDetectorManager () const override
 
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)
 
bool msgLvl (const MSG::Level lvl) const
 Test the output level. More...
 
MsgStream & msg () const
 The standard message stream. More...
 
MsgStream & msg (const MSG::Level lvl) const
 The standard message stream. More...
 
void setLevel (MSG::Level lvl)
 Change the current logging level. More...
 

Private Member Functions

const LArDetectorFactoryoperator= (const LArDetectorFactory &right)
 
 LArDetectorFactory (const LArDetectorFactory &right)
 
void initMessaging () const
 Initialize our message level and MessageSvc. More...
 

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
 
std::string m_nm
 Message source name. More...
 
boost::thread_specific_ptr< MsgStream > m_msg_tls
 MsgStream instance (a std::cout like with print-out levels) More...
 
std::atomic< IMessageSvc * > m_imsg { nullptr }
 MessageSvc pointer. More...
 
std::atomic< MSG::Level > m_lvl { MSG::NIL }
 Current logging level. More...
 
std::atomic_flag m_initialized ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
 Messaging initialized (initMessaging) More...
 

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 29 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 42 of file LArDetectorFactory.cxx.

46  : AthMessaging("LArDetectorFactory")
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)
overridevirtual

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

◆ getDetectorManager()

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

Definition at line 306 of file LArDetectorFactory.cxx.

307 {
308  return m_detectorManager;
309 }

◆ initMessaging()

void AthMessaging::initMessaging ( ) const
privateinherited

Initialize our message level and MessageSvc.

This method should only be called once.

Definition at line 39 of file AthMessaging.cxx.

40 {
42  m_lvl = m_imsg ?
43  static_cast<MSG::Level>( m_imsg.load()->outputLevel(m_nm) ) :
44  MSG::INFO;
45 }

◆ moveParameters()

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

Definition at line 311 of file LArDetectorFactory.cxx.

312 {
313  return std::move (m_parameters);
314 }

◆ msg() [1/2]

MsgStream & AthMessaging::msg ( ) const
inlineinherited

The standard message stream.

Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.

Definition at line 164 of file AthMessaging.h.

165 {
166  MsgStream* ms = m_msg_tls.get();
167  if (!ms) {
168  if (!m_initialized.test_and_set()) initMessaging();
169  ms = new MsgStream(m_imsg,m_nm);
170  m_msg_tls.reset( ms );
171  }
172 
173  ms->setLevel (m_lvl);
174  return *ms;
175 }

◆ msg() [2/2]

MsgStream & AthMessaging::msg ( const MSG::Level  lvl) const
inlineinherited

The standard message stream.

Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.

Definition at line 179 of file AthMessaging.h.

180 { return msg() << lvl; }

◆ msgLvl()

bool AthMessaging::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Test the output level.

Parameters
lvlThe message level to test against
Returns
boolean Indicating if messages at given level will be printed
Return values
trueMessages at level "lvl" will be printed

Definition at line 151 of file AthMessaging.h.

152 {
153  if (!m_initialized.test_and_set()) initMessaging();
154  if (m_lvl <= lvl) {
155  msg() << lvl;
156  return true;
157  } else {
158  return false;
159  }
160 }

◆ operator=()

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

◆ setActivateFT()

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

Definition at line 63 of file LArDetectorFactory.h.

63 { m_activateFT = flag; }

◆ setBarrelCellVisLimit()

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

Definition at line 54 of file LArDetectorFactory.h.

◆ setBarrelSagging()

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

Definition at line 53 of file LArDetectorFactory.h.

◆ setBuildBarrel()

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

Definition at line 56 of file LArDetectorFactory.h.

◆ setBuildEndcap()

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

Definition at line 57 of file LArDetectorFactory.h.

◆ setEMECVariant()

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

Definition at line 58 of file LArDetectorFactory.h.

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

◆ setEnableMBTS()

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

Definition at line 64 of file LArDetectorFactory.h.

64 { m_enableMBTS = flag; }

◆ setFCALVisLimit()

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

Definition at line 55 of file LArDetectorFactory.h.

◆ setLevel()

void AthMessaging::setLevel ( MSG::Level  lvl)
inherited

Change the current logging level.

Use this rather than msg().setLevel() for proper operation with MT.

Definition at line 28 of file AthMessaging.cxx.

29 {
30  m_lvl = lvl;
31 }

Member Data Documentation

◆ ATLAS_THREAD_SAFE

std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
mutableprivateinherited

Messaging initialized (initMessaging)

Definition at line 141 of file AthMessaging.h.

◆ m_activateFT

bool LArGeo::LArDetectorFactory::m_activateFT
private

Definition at line 89 of file LArDetectorFactory.h.

◆ m_barrelSagging

bool LArGeo::LArDetectorFactory::m_barrelSagging
private

Definition at line 76 of file LArDetectorFactory.h.

◆ m_barrelVisLimit

int LArGeo::LArDetectorFactory::m_barrelVisLimit
private

Definition at line 77 of file LArDetectorFactory.h.

◆ m_buildBarrel

bool LArGeo::LArDetectorFactory::m_buildBarrel
private

Definition at line 80 of file LArDetectorFactory.h.

◆ m_buildEndcap

bool LArGeo::LArDetectorFactory::m_buildEndcap
private

Definition at line 81 of file LArDetectorFactory.h.

◆ m_detectorManager

LArDetectorManager* LArGeo::LArDetectorFactory::m_detectorManager
private

Definition at line 73 of file LArDetectorFactory.h.

◆ m_detStore

StoreGateSvc* LArGeo::LArDetectorFactory::m_detStore
private

Definition at line 74 of file LArDetectorFactory.h.

◆ m_EMECVariantInner

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

Definition at line 86 of file LArDetectorFactory.h.

◆ m_EMECVariantOuter

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

Definition at line 87 of file LArDetectorFactory.h.

◆ m_enableMBTS

bool LArGeo::LArDetectorFactory::m_enableMBTS
private

Definition at line 90 of file LArDetectorFactory.h.

◆ m_fcalVisLimit

int LArGeo::LArDetectorFactory::m_fcalVisLimit
private

Definition at line 78 of file LArDetectorFactory.h.

◆ m_fullGeo

bool LArGeo::LArDetectorFactory::m_fullGeo
private

Definition at line 85 of file LArDetectorFactory.h.

◆ m_hvManager

const LArHVManager* LArGeo::LArDetectorFactory::m_hvManager
private

Definition at line 75 of file LArDetectorFactory.h.

◆ m_imsg

std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr }
mutableprivateinherited

MessageSvc pointer.

Definition at line 135 of file AthMessaging.h.

◆ m_lvl

std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL }
mutableprivateinherited

Current logging level.

Definition at line 138 of file AthMessaging.h.

◆ m_msg_tls

boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls
mutableprivateinherited

MsgStream instance (a std::cout like with print-out levels)

Definition at line 132 of file AthMessaging.h.

◆ m_nm

std::string AthMessaging::m_nm
privateinherited

Message source name.

Definition at line 129 of file AthMessaging.h.

◆ m_parameters

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

Definition at line 92 of file LArDetectorFactory.h.

◆ m_testbeam

int LArGeo::LArDetectorFactory::m_testbeam
private

Definition at line 83 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.
AthMessaging::m_lvl
std::atomic< MSG::Level > m_lvl
Current logging level.
Definition: AthMessaging.h:138
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:75
GeoDBUtils::getTransformRecord
static const IRDBRecord * getTransformRecord(IRDBRecordset_ptr positionRecSet, const std::string &key)
Definition: GeoDBUtils.h:23
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:87
StoredAlignX
Definition: StoredAlignX.h:23
LArGeo::LArDetectorFactory::m_buildBarrel
bool m_buildBarrel
Definition: LArDetectorFactory.h:80
LArGeo::LArDetectorFactory::m_barrelSagging
bool m_barrelSagging
Definition: LArDetectorFactory.h:76
deg
#define deg
Definition: SbPolyhedron.cxx:17
LArGeo::LArDetectorFactory::m_detectorManager
LArDetectorManager * m_detectorManager
Definition: LArDetectorFactory.h:73
LArGeo::LArDetectorFactory::m_testbeam
int m_testbeam
Definition: LArDetectorFactory.h:83
LArGeo::LArDetectorFactory::m_EMECVariantInner
std::string m_EMECVariantInner
Definition: LArDetectorFactory.h:86
AthMessaging::m_imsg
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
Definition: AthMessaging.h:135
python.SystemOfUnits.ms
int ms
Definition: SystemOfUnits.py:132
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
AthMessaging::AthMessaging
AthMessaging()
Default constructor:
LArGeo::LArDetectorFactory::m_parameters
std::unique_ptr< VDetectorParameters > m_parameters
Definition: LArDetectorFactory.h:92
EMBDetectorManager
A manager class providing access to readout geometry information for the electromagnetic barrel calor...
Definition: EMBDetectorManager.h:32
LArMaterialManager
Definition: LArMaterialManager.h:38
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
LArGeo::LArDetectorFactory::m_fcalVisLimit
int m_fcalVisLimit
Definition: LArDetectorFactory.h:78
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
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:81
LArDetectorManager::addTreeTop
void addTreeTop(const PVConstLink &treeTop)
Add a Tree Top.
Definition: LArDetectorManager.cxx:31
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
AthMessaging::msg
MsgStream & msg() const
The standard message stream.
Definition: AthMessaging.h:164
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:77
LArGeo::LArDetectorFactory::m_detStore
StoreGateSvc * m_detStore
Definition: LArDetectorFactory.h:74
LArGeo::LArDetectorFactory::m_enableMBTS
bool m_enableMBTS
Definition: LArDetectorFactory.h:90
LArGeo::LArDetectorFactory::m_fullGeo
bool m_fullGeo
Definition: LArDetectorFactory.h:85
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
AthMessaging::m_nm
std::string m_nm
Message source name.
Definition: AthMessaging.h:129
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
AthMessaging::initMessaging
void initMessaging() const
Initialize our message level and MessageSvc.
Definition: AthMessaging.cxx:39
LArGeo::LArDetectorFactory::m_activateFT
bool m_activateFT
Definition: LArDetectorFactory.h:89
AthMessaging::m_msg_tls
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
Definition: AthMessaging.h:132
maxCell
#define maxCell