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

#include <LArDetectorFactoryH62002.h>

Inheritance diagram for LArGeo::LArDetectorFactoryH62002:
Collaboration diagram for LArGeo::LArDetectorFactoryH62002:

Public Member Functions

 LArDetectorFactoryH62002 (StoreGateSvc *pDetStore)
 
 ~LArDetectorFactoryH62002 ()
 
virtual void create (GeoPhysVol *world)
 
virtual const LArDetectorManagergetDetectorManager () const
 

Public Attributes

MsgStream * log
 

Private Member Functions

void getSimulationParameters ()
 
const LArDetectorFactoryH62002operator= (const LArDetectorFactoryH62002 &right)
 
 LArDetectorFactoryH62002 (const LArDetectorFactoryH62002 &right)
 

Private Attributes

double m_cryoXpos
 
double m_tableYpos
 
StoreGateSvcm_detectorStore
 
LArDetectorManagerm_detectorManager
 

Detailed Description

Definition at line 17 of file LArDetectorFactoryH62002.h.

Constructor & Destructor Documentation

◆ LArDetectorFactoryH62002() [1/2]

LArGeo::LArDetectorFactoryH62002::LArDetectorFactoryH62002 ( StoreGateSvc pDetStore)

Definition at line 72 of file LArDetectorFactoryH62002.cxx.

73  : log(nullptr),
74  m_cryoXpos(0),
75  m_tableYpos(0),
77  m_detectorManager(nullptr)
78 {
79 }

◆ ~LArDetectorFactoryH62002()

LArGeo::LArDetectorFactoryH62002::~LArDetectorFactoryH62002 ( )
default

◆ LArDetectorFactoryH62002() [2/2]

LArGeo::LArDetectorFactoryH62002::LArDetectorFactoryH62002 ( const LArDetectorFactoryH62002 right)
private

Member Function Documentation

◆ create()

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

Definition at line 140 of file LArDetectorFactoryH62002.cxx.

141 {
142 
143  StoredMaterialManager* materialManager = nullptr;
144  if (StatusCode::SUCCESS != m_detectorStore->retrieve(materialManager, std::string("MATERIALS"))) {
145  return;
146  }
147 
148  // V.N : Patch LAr materials
149  LArMaterialManager lArMaterialManager(m_detectorStore);
150  lArMaterialManager.buildMaterials();
151  //
152 
154 
155  //-----------------------------------------------------------------------------------//
156  // Get the materials that we shall use. //
157  // ----------------------------------------------------------------------------------//
158 
159  const GeoMaterial *air = materialManager->getMaterial("std::Air");
160 
161  // 4databa : // numbers taken from LArCalorimeter/LArG4TB/LArG4TBExpHall/src/LArG4TBEmecHecDetectorConstruction.cc
162  // (That's a mighty big hall.....)
163  double expHallX = 14000.*Gaudi::Units::mm;
164  double expHallY = 14000.*Gaudi::Units::mm;
165  double expHallZ = 50000.*Gaudi::Units::mm;
166  //double cryoZpos = 12250.*Gaudi::Units::mm;
167  //double cryoXrot = -90.*Gaudi::Units::deg;
168  //double cryoXpos = m_cryoXpos * Gaudi::Units::mm ;
169  //double cryoXpos = 0.*Gaudi::Units::mm; // <-- Should be made available in RunOptions! (Perhaps default in DB...)
170 
171  //-----------------------------------------------------------------------------------//
172  // Next make the box that describes the shape of the expHall volume: //
173  // //
174  const GeoBox *expHallShape = new GeoBox(expHallX, expHallY, expHallZ); //
175  // //
176  // Bundle this with a material into a logical volume: //
177  // //
178  const GeoLogVol *expHallLog = new GeoLogVol("ExpHallLog", expHallShape, air); //
179  // //
180  // ..And create a physical volume: //
181  // //
182  GeoPhysVol *expHallPhys = new GeoPhysVol(expHallLog); //
183  // //
184  // Add this to the list of top level physical volumes: //
185  // //
186  //-----------------------------------------------------------------------------------//
187 
188 
189  // For the moment it's still hard-coded, but eventually we'll
190  // read a vector for translation and rotation from the database and apply it to the
191  // the element we want to position in the following order:
192 
193 
194  double Theta = -90. * Gaudi::Units::deg;
195  double Phi = 0. * Gaudi::Units::deg;
196 
197  GeoTrf::Transform3D Mrot(GeoTrf::RotateZ3D(Phi)*GeoTrf::RotateX3D(Theta));
198  GeoTrf::Translate3D pos3Vector( m_cryoXpos*Gaudi::Units::mm, 0.*Gaudi::Units::mm, 12250.*Gaudi::Units::mm );
199 
200  H6CryostatConstruction H6CryoCons;
201  PVLink Envelope = nullptr;
202  Envelope = H6CryoCons.GetEnvelope();
203  expHallPhys->add(new GeoNameTag("LAr"));
204  //expHallPhys->add( new GeoTransform( GeoTrf::Translate3D(pos3Vector)*GeoTrf::RotateX3D(Theta)*GeoTrf::RotateZ3D(Phi) ));
205  expHallPhys->add( new GeoTransform( GeoTrf::Transform3D(pos3Vector*Mrot) ) );
206  expHallPhys->add(Envelope);
207 
208 
209 
210  //Add the walls in front of the cryostat:
211  {
212  const double H62002WallsPos = 10182.*Gaudi::Units::mm; // A wild guess at the moment.....
213  WallsConstruction WallsConstruction2002;
214  PVLink frontwalls = WallsConstruction2002.GetEnvelope();
215  if(frontwalls ){
216  expHallPhys->add( new GeoNameTag("LAr"));
217  expHallPhys->add( new GeoTransform( GeoTrf::TranslateZ3D(H62002WallsPos) ) );
218  expHallPhys->add(frontwalls);
219  }
220  }
221 
222 
223  //Add the table instrumentation:
224  {
225  const double H62002TablePos = 8320.*Gaudi::Units::mm;
226  TableConstructionH62002 TableConstruction;
227  PVLink table = TableConstruction.GetEnvelope();
228  if(table && expHallPhys ){
229  expHallPhys->add( new GeoNameTag("LAr"));
230  expHallPhys->add( new GeoTransform( GeoTrf::TranslateZ3D(H62002TablePos) ) );
231  expHallPhys->add(table);
232  }
233  }
234  (*log) << MSG::DEBUG << "Built Table Instrumentation " << endmsg;
235 
236  //Add the front beam instrumentation:
237  {
238  const double H62002FrontBeamPos = -20215.5*Gaudi::Units::mm; // (Use this to get the Front dets. in Peter Schacht's position)
239  //const double H62002FrontBeamPos = -20439.*Gaudi::Units::mm; // (according to old code: [-21600+801+350]*Gaudi::Units::mm)
240  // (with 350=1/2 length of FrontBeam volume)
241  FrontBeamConstructionH62002 FrontBeamConstruction;
242  PVLink front = FrontBeamConstruction.GetEnvelope();
243  if(front && expHallPhys ){
244  expHallPhys->add( new GeoNameTag("LAr"));
245  expHallPhys->add( new GeoTransform( GeoTrf::TranslateZ3D(H62002FrontBeamPos) ) );
246  expHallPhys->add(front);
247  }
248  }
249  (*log) << MSG::DEBUG << "Built Frontbeam Instrumentation " << endmsg;
250 
251 
252 
253 
254  // Get LArPhysical, which is the actual cryostat
255 
256  GeoIntrusivePtr<GeoPhysVol> LArPhysical = H6CryoCons.GetLArPhysical();
257 
258  (*log) << MSG::DEBUG << "Got the Cryostat ready" << endmsg;
259 
260 
261  // For the moment it is still commented out until I have
262  // its true geometry confirmed; But really it is ready to go:
263  // Add Rohacell Excluder
264  // double ThetaRoha = 0. * Gaudi::Units::deg;
265  // double PhiRoha = 0. * Gaudi::Units::deg;
266  // GeoTrf::Transform3D MrotRoha(GeoTrf::RotateZ3D(PhiRoha)*GeoTrf::RotateX3D(ThetaRoha));
267  // GeoTrf::Translate3D pos3Roha( 0*Gaudi::Units::mm, 0.0*Gaudi::Units::mm , 0.*Gaudi::Units::mm);
268 
269  {
270  ExcluderConstruction excluderConstruction;
271  GeoIntrusivePtr<GeoPhysVol> excluder = excluderConstruction.GetEnvelope();
272  if(excluder && LArPhysical ){
273  LArPhysical->add( new GeoNameTag("LAr::H6::Cryostat::Excluder"));
274  LArPhysical->add(excluder);
275  }
276  }
277 
278  (*log) << MSG::DEBUG << "Built Rohacell Excluder " << endmsg;
279 
280 
281 
282  // Here include EMEC (from LArGeoTBEndcap):
283 
284  EMECDetectorManager *emecDetectorManager = new EMECDetectorManager();
285 
286 
287  double ThetaEmec = -90. * Gaudi::Units::deg;
288  double PhiEmec = 180. * Gaudi::Units::deg;
289 
290  GeoTrf::Transform3D MrotEmec(GeoTrf::RotateZ3D(PhiEmec)*GeoTrf::RotateX3D(ThetaEmec));
291  // GeoTrf::Vector3D pos3Emec( 0*Gaudi::Units::mm, 869.0*Gaudi::Units::mm , 1720.*Gaudi::Units::mm);
292  GeoTrf::Translate3D pos3Emec( 0*Gaudi::Units::mm, 808.0*Gaudi::Units::mm , 1720.*Gaudi::Units::mm);
293 
294  //use this line for physical construction of the EMEC outer wheel only:
295  EMECConstruction emecConstruction(true, true, true);
296 
297  GeoIntrusivePtr<GeoVFullPhysVol> emecEnvelope = emecConstruction.GetEnvelope();
298  LArPhysical->add(new GeoNameTag("LAr"));
299  LArPhysical->add( new GeoTransform( GeoTrf::Transform3D(pos3Emec*MrotEmec) ) );
300  LArPhysical->add(emecEnvelope);
301  {
302  StoredPhysVol *sEmecOuterWheel;
303  if (StatusCode::SUCCESS==m_detectorStore->retrieve(sEmecOuterWheel, "EMEC_OUTER_WHEEL_POS" )) {
304  GeoIntrusivePtr<GeoFullPhysVol>emecEnvelope= sEmecOuterWheel->getPhysVol();
305  // Outer Wheel Sampling 1 Region 0:
306  {
307  CellBinning phiBinning(M_PI/2-M_PI/8,M_PI/2+M_PI/8,8,12);
308  EMECDetDescr *detDescr = new EMECDetDescr(emecDetectorManager,1,0,0,phiBinning);
309  EMECDetectorRegion *region = new EMECDetectorRegion(emecEnvelope,detDescr,EMECDetectorRegion::POS);
310  emecDetectorManager->addDetectorRegion(region);
311  }
312 
313  // Outer Wheel Sampling 1 Region 1:
314  {
315  CellBinning phiBinning(M_PI/2-M_PI/8,M_PI/2+M_PI/8,8,12);
316  EMECDetDescr *detDescr = new EMECDetDescr(emecDetectorManager,1,1,0,phiBinning);
317  EMECDetectorRegion *region = new EMECDetectorRegion(emecEnvelope,detDescr,EMECDetectorRegion::POS);
318  emecDetectorManager->addDetectorRegion(region);
319  }
320  // Outer Wheel Sampling 1 Region 2:
321  {
322  CellBinning phiBinning(M_PI/2-M_PI/8,M_PI/2+M_PI/8,8,12);
323  EMECDetDescr *detDescr = new EMECDetDescr(emecDetectorManager,1,2,0,phiBinning);
324  EMECDetectorRegion *region = new EMECDetectorRegion(emecEnvelope,detDescr,EMECDetectorRegion::POS);
325  emecDetectorManager->addDetectorRegion(region);
326  }
327  // Outer Wheel Sampling 1 Region 3:
328  {
329  CellBinning phiBinning(M_PI/2-M_PI/8,M_PI/2+M_PI/8,8,12);
330  EMECDetDescr *detDescr = new EMECDetDescr(emecDetectorManager,1,3,0,phiBinning);
331  EMECDetectorRegion *region = new EMECDetectorRegion(emecEnvelope,detDescr,EMECDetectorRegion::POS);
332  emecDetectorManager->addDetectorRegion(region);
333  }
334  // Outer Wheel Sampling 1 Region 4:
335  {
336  CellBinning phiBinning(M_PI/2-M_PI/8,M_PI/2+M_PI/8,8,12);
337  EMECDetDescr *detDescr = new EMECDetDescr(emecDetectorManager,1,4,0,phiBinning);
338  EMECDetectorRegion *region = new EMECDetectorRegion(emecEnvelope,detDescr,EMECDetectorRegion::POS);
339  emecDetectorManager->addDetectorRegion(region);
340  }
341  // Outer Wheel Sampling 1 Region 5:
342  {
343  CellBinning phiBinning(M_PI/2-M_PI/8,M_PI/2+M_PI/8,8,12);
344  EMECDetDescr *detDescr = new EMECDetDescr(emecDetectorManager,1,5,0,phiBinning);
345  EMECDetectorRegion *region = new EMECDetectorRegion(emecEnvelope,detDescr,EMECDetectorRegion::POS);
346  emecDetectorManager->addDetectorRegion(region);
347  }
348  // Outer Wheel Sampling 2 Region 0:
349  {
350  CellBinning phiBinning(M_PI/2-M_PI/8,M_PI/2+M_PI/8,32,48);
351  EMECDetDescr *detDescr = new EMECDetDescr(emecDetectorManager,2,0,0,phiBinning);
352  EMECDetectorRegion *region = new EMECDetectorRegion(emecEnvelope,detDescr,EMECDetectorRegion::POS);
353  emecDetectorManager->addDetectorRegion(region);
354  }
355  // Outer Wheel Sampling 2 Region 1:
356  {
357  CellBinning phiBinning(M_PI/2-M_PI/8,M_PI/2+M_PI/8,32,48);
358  EMECDetDescr *detDescr = new EMECDetDescr(emecDetectorManager,2,1,0,phiBinning);
359  EMECDetectorRegion *region = new EMECDetectorRegion(emecEnvelope,detDescr,EMECDetectorRegion::POS);
360  emecDetectorManager->addDetectorRegion(region);
361  }
362  // Outer Wheel Sampling 3 Region 0:
363  {
364  CellBinning phiBinning(M_PI/2-M_PI/8,M_PI/2+M_PI/8,32,48);
365  EMECDetDescr *detDescr = new EMECDetDescr(emecDetectorManager,3,0,0,phiBinning);
366  EMECDetectorRegion *region = new EMECDetectorRegion(emecEnvelope,detDescr,EMECDetectorRegion::POS);
367  emecDetectorManager->addDetectorRegion(region);
368  }
369  }
370 
371  StoredPhysVol *sEmecInnerWheel;
372  if (StatusCode::SUCCESS==m_detectorStore->retrieve(sEmecInnerWheel, "EMEC_INNER_WHEEL_POS" )) {
373  GeoIntrusivePtr<GeoFullPhysVol>emecEnvelope= sEmecInnerWheel->getPhysVol();
374  // Inner Wheel Sampling 1 Region 0:
375  {
376  CellBinning phiBinning(M_PI/2-M_PI/8,M_PI/2+M_PI/8,8,12);
377  EMECDetDescr *detDescr = new EMECDetDescr(emecDetectorManager,1,0,1,phiBinning);
378  EMECDetectorRegion *region = new EMECDetectorRegion(emecEnvelope,detDescr,EMECDetectorRegion::POS);
379  emecDetectorManager->addDetectorRegion(region);
380  }
381  // Inner Wheel Sampling 2 Region 0:
382 
383  {
384  CellBinning phiBinning(M_PI/2-M_PI/8,M_PI/2+M_PI/8,8,12);
385  EMECDetDescr *detDescr = new EMECDetDescr(emecDetectorManager,2,0,1,phiBinning);
386  EMECDetectorRegion *region = new EMECDetectorRegion(emecEnvelope,detDescr,EMECDetectorRegion::POS);
387  emecDetectorManager->addDetectorRegion(region);
388  }
389  }
390  }
391 
392 
393  double ThetaPS = -90. * Gaudi::Units::deg;
394  double PhiPS = 180. * Gaudi::Units::deg;
395  GeoTrf::Transform3D MrotPS(GeoTrf::RotateZ3D(PhiPS)*GeoTrf::RotateX3D(ThetaPS));
396  //GeoTrf::Vector3D pos3PS( 0*Gaudi::Units::mm, 945.5*Gaudi::Units::mm , 1720.*Gaudi::Units::mm);
397  GeoTrf::Translate3D pos3PS( 0*Gaudi::Units::mm, 888.5*Gaudi::Units::mm , 1720.*Gaudi::Units::mm);
398 
399  //double zPSpos = -869. -(61. +2. +13.5);
400  //std::string PresamplerName = baseName + "::Presampler::";
401  EndcapPresamplerConstruction PresamplerConstruction(true);
402  GeoIntrusivePtr<GeoFullPhysVol> PresamplerEnvelope = PresamplerConstruction.Envelope();
403  if ( PresamplerEnvelope && LArPhysical ) {
404  //LArPhysical->add( new GeoTransform( GeoTrf::Translate3D(pos3PS)*GeoTrf::RotateX3D(ThetaPS)*GeoTrf::RotateZ3D(PhiPS) ));
405  LArPhysical->add( new GeoTransform( GeoTrf::Transform3D(pos3PS*MrotPS) ) );
406  LArPhysical->add( PresamplerEnvelope );
407  }
408  {
409  //
410  CellBinning presamplerPhiBinning(M_PI/2-M_PI/8,M_PI/2+M_PI/8,8,12);
411  EMECDetDescr *presamplerDetDescr = new EMECDetDescr(emecDetectorManager,0,0,0,presamplerPhiBinning);
412  EMECDetectorRegion *presamplerRegion = new EMECDetectorRegion(PresamplerEnvelope,presamplerDetDescr,EMECDetectorRegion::POS);
413  emecDetectorManager->addDetectorRegion(presamplerRegion);
414  }
415 
416  (*log) << MSG::DEBUG << "Built EMEC and Presampler " << endmsg;
417 
418 
419 
420  // Add HEC
421  double ThetaHec = 90. * Gaudi::Units::deg;
422  double PhiHec = 0. * Gaudi::Units::deg;
423  GeoTrf::Transform3D MrotHec(GeoTrf::RotateZ3D(PhiHec)*GeoTrf::RotateX3D(ThetaHec));
424  GeoTrf::Translate3D pos3Hec( 0*Gaudi::Units::mm, 233.0*Gaudi::Units::mm , 1720.*Gaudi::Units::mm);
425 
426  {
427  HECConstructionH62002 hecConstruction;
428  GeoIntrusivePtr<GeoVFullPhysVol> hecEnvelope = hecConstruction.GetEnvelope();
429  if(hecEnvelope && LArPhysical ){
430  LArPhysical->add( new GeoNameTag("LAr"));
431  //LArPhysical->add( new GeoTransform( GeoTrf::Translate3D(pos3Hec)*GeoTrf::RotateX3D(ThetaHec)*GeoTrf::RotateZ3D(PhiHec) ));
432  LArPhysical->add( new GeoTransform( GeoTrf::Transform3D(pos3Hec*MrotHec) ) );
433  LArPhysical->add(hecEnvelope);
434  }
435  }
436 
437  HECDetectorManager *hecDetManager = new HECDetectorManager();
438 
439  //
440  // Add descriptors to the HEC detector manager:
441  //
442 
443  for (unsigned int s=0;s<3;s++) {
444  unsigned int width = s==2 ? 2: 3;
445  for (unsigned int r=0;r<2;r++) {
446  unsigned int nPhi = r==0? 2:1;
447  double startPhi = s==2 ? -36*M_PI/64 : -38*M_PI/64;
448  CellBinning phiBinning(startPhi, startPhi+width*2*2*M_PI/64, width*nPhi);
449  HECDetDescr *d = new HECDetDescr(hecDetManager,s,r,phiBinning);
450  // Only POS endcap (1)
451  //for (unsigned int endcap=1;endcap<2;endcap++)
452  {
453  StoredPhysVol *vol;
454  if (StatusCode::SUCCESS==m_detectorStore->retrieve(vol, "HEC1_POS")) {
456  HECDetectorRegion *region = new HECDetectorRegion(vol->getPhysVol(),d,side);
457  hecDetManager->addDetectorRegion(region);
458  }
459  }
460  }
461  }
462 
463 
464  (*log) << MSG::DEBUG << "Built HEC " << endmsg;
465 
466 
467 
468 
469 
470 
471  m_detectorStore->record(hecDetManager,hecDetManager->getName()).ignore();
472  m_detectorStore->record(emecDetectorManager,emecDetectorManager->getName()).ignore();
473  m_detectorManager = new LArDetectorManager(nullptr,emecDetectorManager,hecDetManager,nullptr);
474 
475  m_detectorManager->addTreeTop(expHallPhys);
476 
477 
478 
479 
480 
481 
482  //------------------------------------------------------------------------------------//
483  // Now insert all of this into the world... //
484  GeoNameTag *tag = new GeoNameTag("LAr"); //
485  world->add(tag); //
486  world->add(expHallPhys); //
487  //------------------------------------------------------------------------------------//
488 
489 
490 }

◆ getDetectorManager()

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

Definition at line 492 of file LArDetectorFactoryH62002.cxx.

493 {
494  return m_detectorManager;
495 }

◆ getSimulationParameters()

void LArGeo::LArDetectorFactoryH62002::getSimulationParameters ( )
private

Definition at line 86 of file LArDetectorFactoryH62002.cxx.

87 {
88 
90  const LArGeoTBH1GeoOptions *largeoTBH1geoOptions ;
92 
93  ISvcLocator* svcLocator = Gaudi::svcLocator();
94  IMessageSvc * msgSvc;
95 
96 
97  status = svcLocator->service("MessageSvc", msgSvc);
98 
99  if(!status.isFailure()){
100  log = new MsgStream(msgSvc, "LArDetectorFactory");
101  } else {
102  throw std::runtime_error("LArDetectorFactory: cannot initialze message service");
103  }
104 
105 
106 
107 
108 
109 
110  status = svcLocator->service("DetectorStore", detStore);
111 
112 
113  if( status.isSuccess() ) {
114 
115 
116  m_cryoXpos = 0.;
117  m_tableYpos = 0.;
118 
119  status = detStore->retrieve(largeoTBH1geoOptions, "LArGeoTBH1GeoOptions");
120  if ( !status.isFailure() ) {
121  m_cryoXpos = largeoTBH1geoOptions->CryoXPosition();
122  m_tableYpos = largeoTBH1geoOptions->TableYPosition();
123  }
124  else
125  (*log)<< MSG::WARNING << "LArDectorFactoryH62002:\tCan't access LArGeoTBH1GeoOptions, using default values\n";
126  }
127 
128  (*log)<< MSG::INFO<< endmsg;
129  (*log)<< MSG::INFO << " Use cryo X : " << m_cryoXpos << " Gaudi::Units::mm" << endmsg;
130  (*log)<< MSG::INFO << " Use table Y : " << m_tableYpos << " Gaudi::Units::mm" << endmsg;
131 
132 
133 }

◆ operator=()

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

Member Data Documentation

◆ log

MsgStream* LArGeo::LArDetectorFactoryH62002::log

Definition at line 33 of file LArDetectorFactoryH62002.h.

◆ m_cryoXpos

double LArGeo::LArDetectorFactoryH62002::m_cryoXpos
private

Definition at line 37 of file LArDetectorFactoryH62002.h.

◆ m_detectorManager

LArDetectorManager* LArGeo::LArDetectorFactoryH62002::m_detectorManager
private

Definition at line 51 of file LArDetectorFactoryH62002.h.

◆ m_detectorStore

StoreGateSvc* LArGeo::LArDetectorFactoryH62002::m_detectorStore
private

Definition at line 48 of file LArDetectorFactoryH62002.h.

◆ m_tableYpos

double LArGeo::LArDetectorFactoryH62002::m_tableYpos
private

Definition at line 38 of file LArDetectorFactoryH62002.h.


The documentation for this class was generated from the following files:
Envelope
Definition: IDetectorGeometryTool.h:17
beamspotman.r
def r
Definition: beamspotman.py:676
Trk::VKContraintType::Theta
@ Theta
EMECDetectorManager::addDetectorRegion
void addDetectorRegion(const EMECDetectorRegion *region)
Add a new HEC Detector Region.
Definition: EMECDetectorManager.cxx:128
LArGeoTBH1GeoOptions::TableYPosition
void TableYPosition(double value)
Definition: LArGeoTBH1GeoOptions.h:35
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
EMECDetectorManager
A manager class providing access to readout geometry information for the electromagnetic endcap calor...
Definition: EMECDetectorManager.h:31
HECDetectorRegion::POS
@ POS
Definition: HECDetectorRegion.h:34
hist_file_dump.d
d
Definition: hist_file_dump.py:137
LArGeoTBH1GeoOptions::CryoXPosition
void CryoXPosition(double value)
Definition: LArGeoTBH1GeoOptions.h:34
LArGeo::LArDetectorFactoryH62002::m_detectorStore
StoreGateSvc * m_detectorStore
Definition: LArDetectorFactoryH62002.h:48
EMECDetectorRegion::POS
@ POS
Definition: EMECDetectorRegion.h:33
M_PI
#define M_PI
Definition: ActiveFraction.h:11
deg
#define deg
Definition: SbPolyhedron.cxx:17
Phi
@ Phi
Definition: RPCdef.h:8
EMECDetectorRegion
Definition: EMECDetectorRegion.h:30
EMECDetDescr
Descriptor for regions of the electromagnetic endcap calorimeter.
Definition: EMECDetDescr.h:27
TrigVSI::AlgConsts::nPhi
constexpr int nPhi
Default bin number of phi for vertex map.
Definition: Trigger/TrigTools/TrigVrtSecInclusive/TrigVrtSecInclusive/Constants.h:27
LArGeo::LArDetectorFactoryH62002::m_detectorManager
LArDetectorManager * m_detectorManager
Definition: LArDetectorFactoryH62002.h:51
LArGeo::LArDetectorFactoryH62002::m_tableYpos
double m_tableYpos
Definition: LArDetectorFactoryH62002.h:38
LArGeo::LArDetectorFactoryH62002::m_cryoXpos
double m_cryoXpos
Definition: LArDetectorFactoryH62002.h:37
StoredPhysVol
Definition: StoredPhysVol.h:27
TRT::Hit::side
@ side
Definition: HitInfo.h:83
StoredPhysVol::getPhysVol
GeoFullPhysVol * getPhysVol()
Destructor.
Definition: StoredPhysVol.cxx:20
HECDetectorRegion::DetectorSide
DetectorSide
Definition: HECDetectorRegion.h:34
LArMaterialManager
Definition: LArMaterialManager.h:36
HECDetDescr
Descriptor for regions of the hadronic endcap calorimeter.
Definition: HECDetDescr.h:30
StdJOSetup.msgSvc
msgSvc
Provide convenience handles for various services.
Definition: StdJOSetup.py:36
HECDetectorRegion
Description of a region of homogenous granularity in the hadronic endcap calorimeter.
Definition: HECDetectorRegion.h:31
Atlas.StoreGateSvc
StoreGateSvc
Definition: Atlas.UnixStandardJob.py:25
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
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
LArGeoTBH1GeoOptions
Definition: LArGeoTBH1GeoOptions.h:19
LArDetectorManager
Stored in storegate. Provides access to EMB, EMEC, HEC and FCAL Detector Managers....
Definition: LArDetectorManager.h:26
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
python.ext.table_printer.table
list table
Definition: table_printer.py:81
EndcapPresamplerConstruction
GeoModel description of the LAr Endcap Presampler geometry.
Definition: EndcapPresamplerConstruction.h:25
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
Base_Fragment.width
width
Definition: Sherpa_i/share/common/Base_Fragment.py:59
DEBUG
#define DEBUG
Definition: page_access.h:11
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
HECDetectorManager::addDetectorRegion
void addDetectorRegion(const HECDetectorRegion *region)
Add a new HEC Detector Region.
Definition: HECDetectorManager.cxx:170
merge.status
status
Definition: merge.py:17
CaloCondBlobAlgs_fillNoiseFromASCII.tag
string tag
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:24
LArGeo::LArDetectorFactoryH62002::log
MsgStream * log
Definition: LArDetectorFactoryH62002.h:33
LArDetectorManager::addTreeTop
void addTreeTop(PVConstLink treeTop)
Add a Tree Top.
Definition: LArDetectorManager.cxx:31
LArGeo::LArDetectorFactoryH62002::getSimulationParameters
void getSimulationParameters()
Definition: LArDetectorFactoryH62002.cxx:86