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

#include <LArDetectorFactoryH62004.h>

Inheritance diagram for LArGeo::LArDetectorFactoryH62004:
Collaboration diagram for LArGeo::LArDetectorFactoryH62004:

Public Member Functions

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

Private Member Functions

void getSimulationParameters ()
 
const LArDetectorFactoryH62004operator= (const LArDetectorFactoryH62004 &right)
 
 LArDetectorFactoryH62004 (const LArDetectorFactoryH62004 &right)
 

Private Attributes

double m_cryoXpos
 
double m_tableYpos
 
StoreGateSvcm_detectorStore
 
LArDetectorManagerm_detectorManager
 
const CaloCell_IDm_cell_id
 

Detailed Description

Definition at line 17 of file LArDetectorFactoryH62004.h.

Constructor & Destructor Documentation

◆ LArDetectorFactoryH62004() [1/2]

LArGeo::LArDetectorFactoryH62004::LArDetectorFactoryH62004 ( StoreGateSvc pDetStore)

Definition at line 76 of file LArDetectorFactoryH62004.cxx.

77  : m_cryoXpos(0),
78  m_tableYpos(0),
80  m_detectorManager(nullptr),
81  m_cell_id(nullptr)
82 {
83 }

◆ ~LArDetectorFactoryH62004()

LArGeo::LArDetectorFactoryH62004::~LArDetectorFactoryH62004 ( )
default

◆ LArDetectorFactoryH62004() [2/2]

LArGeo::LArDetectorFactoryH62004::LArDetectorFactoryH62004 ( const LArDetectorFactoryH62004 right)
private

Member Function Documentation

◆ create()

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

Definition at line 125 of file LArDetectorFactoryH62004.cxx.

126 {
127 
128 // VDetectorParameters* parameters = (VDetectorParameters *) new LArGeo::RAL();
129 // VDetectorParameters::SetInstance(parameters);
130 
131  StoredMaterialManager* materialManager = nullptr;
132  if (StatusCode::SUCCESS != m_detectorStore->retrieve(materialManager, std::string("MATERIALS"))) {
133  return;
134  }
135  // V.N : Patch LAr materials
136  LArMaterialManager lArMaterialManager (m_detectorStore);
137  lArMaterialManager.buildMaterials();
138 
139 
140  StatusCode status = m_detectorStore->retrieve(m_cell_id, "CaloCell_ID");
141  if (status.isFailure()) {
142  std::cout << MSG::FATAL << "Could not get CaloCell_ID helper !" << std::endl;
143  return;
144  } else {
145  std::cout << MSG::DEBUG << " Found the CaloCell_ID helper. " << std::endl;
146  }
147 
149 
150  //-----------------------------------------------------------------------------------//
151  // Get the materials that we shall use. //
152  // ----------------------------------------------------------------------------------//
153 
154  const GeoMaterial *air = materialManager->getMaterial("std::Air");
155 
156  double expHallX = 14000.*Gaudi::Units::mm;
157  double expHallY = 14000.*Gaudi::Units::mm;
158  double expHallZ = 50000.*Gaudi::Units::mm;
159 
160  //-----------------------------------------------------------------------------------//
161  // Next make the box that describes the shape of the expHall volume: //
162  // //
163  const GeoBox *expHallShape = new GeoBox(expHallX, expHallY, expHallZ); //
164  // //
165  // Bundle this with a material into a logical volume: //
166  // //
167  const GeoLogVol *expHallLog = new GeoLogVol("ExpHallLog", expHallShape, air); //
168  // //
169  // ..And create a physical volume: //
170  // //
171  GeoPhysVol *expHallPhys = new GeoPhysVol(expHallLog); //
172  // //
173  // Add this to the list of top level physical volumes: //
174  // //
175  //-----------------------------------------------------------------------------------//
176  if (expHallPhys == nullptr){
177  //follow existing pattern for reporting errors in this class, but bail out
178  std::cout << "The expHallPhys pointer is NULL in LArGeo::LArDetectorFactoryH62004::create"<<std::endl;
179  return;
180  }
181 
182  // For the moment it's still hard-coded, but eventually we'll
183  // read a vector for translation and rotation from the database and apply it to the
184  // the element we want to position in the following order:
185 
186 
187  double Theta = -90. * Gaudi::Units::deg;
188  double Phi = 0. * Gaudi::Units::deg;
189 
190  GeoTrf::Transform3D Mrot = GeoTrf::RotateZ3D(Phi) * GeoTrf::RotateX3D(Theta);
192  , 0.*Gaudi::Units::mm
193  , 12250.*Gaudi::Units::mm );
194 
195  H6CryostatConstruction H6CryoCons;
196  PVLink CryoEnvelope = nullptr;
197  CryoEnvelope = H6CryoCons.GetEnvelope();
198  expHallPhys->add(new GeoNameTag("LAr"));
199  //expHallPhys->add( new GeoTransform( GeoTrf::Translate3D(pos3Vector)*GeoTrf::RotateX3D(Theta)*GeoTrf::RotateZ3D(Phi) ));
200  expHallPhys->add(new GeoTransform(pos3Vector*Mrot));// GeoTrf::Transform3D(Mrot, pos3Vector) ) );
201  expHallPhys->add(CryoEnvelope);
202 
203 
204  // Get LArPhysical so that we can add the HEC
205  GeoIntrusivePtr<GeoPhysVol> LArPhysical = nullptr;
206  LArPhysical = H6CryoCons.GetLArPhysical();
207 
208  // Add the front beam instrumentation:
209  FrontBeamConstructionH62004 FrontBeamConstruction;
210  // DB ?
211  const double bard_z = 100.0*Gaudi::Units::cm;
212  const double z_bard=-2160.0*Gaudi::Units::cm+80.1*Gaudi::Units::cm+16.*Gaudi::Units::cm+bard_z;
213  { // (with 350=1/2 length of FrontBeam volume)
214  PVLink front = nullptr;
215  front = FrontBeamConstruction.GetEnvelope();
216  if(front ){
217  expHallPhys->add( new GeoNameTag("H62004::Front"));
218  expHallPhys->add( new GeoTransform( GeoTrf::TranslateZ3D(z_bard) ) );
219  expHallPhys->add(front);
220  }
221  }
222  // Add middle chambers
223  MiddleBeamConstructionH62004 MiddleBeamConstruction;
224  const double z_bardm=-2160.0*Gaudi::Units::cm+1362.3*Gaudi::Units::cm;
225  const double bttb_pos = 833.5*Gaudi::Units::cm;
226  {
227  PVLink middle = nullptr;
228  middle = MiddleBeamConstruction.GetEnvelope();
229  if(middle ){
230  double ym_pos = m_tableYpos * (z_bardm + 2160*Gaudi::Units::cm) * (1./(bttb_pos + 2160*Gaudi::Units::cm));
231  expHallPhys->add( new GeoNameTag("H62004::Middle"));
232  expHallPhys->add( new GeoTransform( GeoTrf::TranslateY3D(ym_pos) * GeoTrf::TranslateZ3D(z_bardm) ) );
233  expHallPhys->add(middle);
234  }
235  }
236  // Add MovableTable
237  MovableTableConstructionH62004 MovableTable;
238  {
239  PVLink mov = nullptr;
240  mov = MovableTable.GetEnvelope();
241  if(mov ){
242  expHallPhys->add( new GeoNameTag("H62004::Movable"));
243  expHallPhys->add( new GeoTransform( GeoTrf::TranslateY3D(m_tableYpos) * GeoTrf::TranslateZ3D(bttb_pos) ) );
244  expHallPhys->add(mov);
245  }
246  }
247 
248 
249  // WarmTC after the cryostat
250  double WTC_tild = -1.1*Gaudi::Units::deg; // 24 Gaudi::Units::mm tild on 1250 Gaudi::Units::mm length !! should go to DB ?
251  double WTC_len = 591.5*Gaudi::Units::mm;
252  double WTC_sci_z = 12.7*Gaudi::Units::mm;
253  double Muon_dist = 120.0*Gaudi::Units::mm;
254  double Muon_z = 1.0*Gaudi::Units::cm;
255  double bcry_zpos = 1225.0*Gaudi::Units::cm;
256  double bcry_rwarm = 129.55*Gaudi::Units::cm;
257  double WTC_x = 0.0*Gaudi::Units::mm;
258  double WTC_y = 0.0*Gaudi::Units::mm;
259  double WTC_z = 460.0*Gaudi::Units::mm - 120.*Gaudi::Units::mm - 10.*Gaudi::Units::mm;
260  double z_m = (86.0*Gaudi::Units::mm + WTC_len + WTC_sci_z + Muon_dist + Muon_z) / 2;
261 
262  WarmTCConstructionH62004 wtcConstruction;
263  {
264  std::cout<<"WTC constructed: "<<std::endl;
265  PVLink wtc = nullptr;
266  wtc = wtcConstruction.GetEnvelope();
267  std::cout<<"WTC envelope: "<<wtc.get()<<"/"<<expHallPhys<<std::endl;
268  if(wtc ){
269  expHallPhys->add( new GeoNameTag("LAr"));
270  GeoTrf::RotateX3D rotTC(WTC_tild);
271  expHallPhys->add( new GeoTransform( GeoTrf::Translation3D(WTC_x, WTC_y, bcry_zpos + bcry_rwarm + WTC_z + z_m) * rotTC));
272  expHallPhys->add(wtc);
273  }
274  }
275 
276  // modules in cryostat
277  ModulesConstructionH62004 moduleConstruction;
278  {
279  std::cout<<"Module constructed: "<<std::endl;
280  PVLink module = nullptr;
281  module = moduleConstruction.GetEnvelope();
282  std::cout<<"Module envelope: "<<module.get()<<"/"<<LArPhysical.get()<<std::endl;
283  if(module && LArPhysical){
284  LArPhysical->add( new GeoNameTag("LAr::H6::Cryostat::Modules"));
285  LArPhysical->add(module);
286  }
287  }
288 
289 
290  EMECDetectorManager *emecDetectorManager = nullptr;
291  FCALDetectorManager *fcalDetectorManager = nullptr;
292  HECDetectorManager *hecDetManager = nullptr;
293  StoredPhysVol *sEmecInnerWheel;
294  if (StatusCode::SUCCESS==m_detectorStore->retrieve(sEmecInnerWheel, "EMEC_INNER_WHEEL_POS" )) {
295  emecDetectorManager = new EMECDetectorManager();
296  GeoIntrusivePtr<GeoFullPhysVol>emecEnvelope= sEmecInnerWheel->getPhysVol();
297  // Inner Wheel Sampling 1 Region 0:
298  {
299 // CellBinning phiBinning(M_PI/2-M_PI/8-2*M_PI/768/2,M_PI/2+M_PI/8-2*M_PI/768/2,8,20);
300  CellBinning phiBinning(M_PI/2+M_PI/8-2*M_PI/768/2,M_PI/2+3*M_PI/8-2*M_PI/768/2,8,20);
301 // CellBinning phiBinning(M_PI/2,M_PI/2+M_PI/4,8,20);
302  EMECDetDescr *detDescr = new EMECDetDescr(emecDetectorManager,1,0,1,phiBinning);
303  EMECDetectorRegion *region = new EMECDetectorRegion(emecEnvelope,detDescr,EMECDetectorRegion::POS);
304  emecDetectorManager->addDetectorRegion(region);
305  }
306  // Inner Wheel Sampling 2 Region 0:
307 
308  {
309 // CellBinning phiBinning(M_PI/2-M_PI/8-2*M_PI/768/2,M_PI/2+M_PI/8-2*M_PI/768/2,8,20);
310  CellBinning phiBinning(M_PI/2+M_PI/8-2*M_PI/768/2,M_PI/2+3*M_PI/8-2*M_PI/768/2,8,20);
311 // CellBinning phiBinning(M_PI/2,M_PI/2+M_PI/4,8,20);
312  EMECDetDescr *detDescr = new EMECDetDescr(emecDetectorManager,2,0,1,phiBinning);
313  EMECDetectorRegion *region = new EMECDetectorRegion(emecEnvelope,detDescr,EMECDetectorRegion::POS);
314  emecDetectorManager->addDetectorRegion(region);
315  }
316  std::cout<<"Added "<<emecDetectorManager->getNumDetectorRegions()<<" regions in EMEC"<<std::endl;
317  }
318 
319  if(m_detectorStore->contains<StoredPhysVol>("HEC_POS")) {
320  StoredPhysVol *vol;
321  if (StatusCode::SUCCESS==m_detectorStore->retrieve(vol,"HEC_POS")) {
322  try {
323  hecDetManager = new HECDetectorManager(nullptr,true);
324  for (unsigned int s=0;s<3;s++) {
325  for (unsigned int r=0;r<2;r++) {
326  unsigned int nPhi = r==0? 2:1;
327 
328 
329  unsigned int width = 8;
330 // double startPhi = M_PI/2. - M_PI/128.;
331 // double endPhi = M_PI -M_PI/128.;
332  double startPhi = M_PI/2. - 1.e-9;
333  double endPhi = M_PI - 1.e-9;
334 
335  CellBinning phiBinning(startPhi, endPhi, width*nPhi, 8*nPhi);
336  HECDetDescr *d = new HECDetDescr(hecDetManager,s,r,phiBinning, true);
337 
339  HECDetectorRegion *region = new HECDetectorRegion(vol->getPhysVol(),d,side);
340  hecDetManager->addDetectorRegion(region);
341  }
342  }
343  std::cout<<"Added "<<hecDetManager->getNumDetectorRegions()<<" regions in HEC"<<std::endl;
344  }
345  catch (std::exception & ex) {
346  //log << MSG::WARNING << "Unable to build HEC detector manager. " << ex.what() << endmsg;
347  std::cout << "Unable to build HEC detector manager. " << ex.what() << std::endl;
348  }
349  } else {
350  //log << MSG::DEBUG << " No Stored PV for MODULES_POS in Detector Store" << endmsg;
351  std::cout << " No Stored PV for HEC_POS in Detector Store" << std::endl;
352  }
353  }
354 
355  if(m_detectorStore->contains<StoredPhysVol>("FCAL1")) {
356  StoredPhysVol *fcal1;
357  if (StatusCode::SUCCESS==m_detectorStore->retrieve(fcal1,"FCAL1")) {
358  try {
359  fcalDetectorManager = new FCALDetectorManager();
361  fcalDetectorManager->addModule(detDescr);
362  }
363  catch (std::exception & ex) {
364  std::cout << "Unable to build FCAL1 detector manager. " << ex.what() << std::endl;
365  }
366  } else {
367  std::cout << " No Stored PV for FCAL1 in Detector Store" << std::endl;
368  }
369  }
370 
371  if(m_detectorStore->contains<StoredPhysVol>("FCAL2")) {
372  StoredPhysVol *fcal2;
373  if (StatusCode::SUCCESS==m_detectorStore->retrieve(fcal2,"FCAL2")) {
374  try {
375  if(!fcalDetectorManager) fcalDetectorManager = new FCALDetectorManager();
377  fcalDetectorManager->addModule(detDescr);
378  }
379  catch (std::exception & ex) {
380  std::cout << "Unable to build FCAL2 detector manager. " << ex.what() << std::endl;
381  }
382  } else {
383  std::cout << " No Stored PV for FCAL2 in Detector Store" << std::endl;
384  }
385  }
386 
387  if(m_detectorStore->contains<StoredPhysVol>("ColdTC")) {
388  StoredPhysVol *fcal3;
389  if (StatusCode::SUCCESS==m_detectorStore->retrieve(fcal3,"ColdTC")) {
390  storeDDE();
391  } else {
392  std::cout << " No Stored PV for ColdTC in Detector Store" << std::endl;
393  }
394  }
395 
396  if (fcalDetectorManager) {
397  std::cout<<"Added "<<fcalDetectorManager->getNumTreeTops()<<" modules in FCAL"<<std::endl;
398  StatusCode sc = m_detectorStore->record(fcalDetectorManager, fcalDetectorManager->getName());
399  if(sc.isFailure())
400  //log << MSG::ERROR << "Unable to record hecDetectorManager" << endmsg;
401  std::cout << "Unable to record fcalDetectorManager" << std::endl;
402  }
403 
404  if (emecDetectorManager)
405  {
406  StatusCode sc = m_detectorStore->record(emecDetectorManager, emecDetectorManager->getName());
407  if(sc.isFailure())
408  //log << MSG::ERROR << "Unable to record hecDetectorManager" << endmsg;
409  std::cout << "Unable to record emecDetectorManager" << std::endl;
410  }
411 
412  if (hecDetManager)
413  {
414  StatusCode sc = m_detectorStore->record(hecDetManager, hecDetManager->getName());
415  if(sc.isFailure())
416  //log << MSG::ERROR << "Unable to record hecDetectorManager" << endmsg;
417  std::cout << "Unable to record hecDetectorManager" << std::endl;
418  }
419 
420 
421  m_detectorManager = new LArDetectorManager(nullptr,emecDetectorManager,hecDetManager,fcalDetectorManager);
423 
424  m_detectorManager->addTreeTop(expHallPhys);
425 
426 
427  //------------------------------------------------------------------------------------//
428  // Now insert all of this into the world... //
429  GeoNameTag *tag = new GeoNameTag("LAr"); //
430  world->add(tag); //
431  world->add(expHallPhys); //
432  //------------------------------------------------------------------------------------//
433 
434 
435 }

◆ getDetectorManager()

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

Definition at line 437 of file LArDetectorFactoryH62004.cxx.

438 {
439  return m_detectorManager;
440 }

◆ getSimulationParameters()

void LArGeo::LArDetectorFactoryH62004::getSimulationParameters ( )
private

Definition at line 90 of file LArDetectorFactoryH62004.cxx.

91 {
92 
93 // StoreGateSvc* detStore;
94  const LArGeoTB2004Options *largeoTB2004Options = nullptr;
95 
97 // ISvcLocator* svcLocator = Gaudi::svcLocator();
98 // status = svcLocator->service("DetectorStore", detStore);
99 
100 
101 // if( status.isSuccess() ) {
102 
103 
104  m_cryoXpos = 0.;
105  m_tableYpos = 0.;
106 
107 // status = detStore->retrieve(largeoTBH1geoOptions, "LArGeoTBH1GeoOptions");
108  status = m_detectorStore->retrieve(largeoTB2004Options, "LArGeoTB2004Options");
109  if ( !status.isFailure() ) {
110  m_cryoXpos = largeoTB2004Options->CryoXPosition();
111  m_tableYpos = largeoTB2004Options->TableYPosition();
112  }
113  else {
114  std::cout << "LArDectorFactoryH62004:\tCan't access LArGeoTB2004Options, using default values\n";
115  m_cryoXpos = -65.;
116  m_tableYpos = 70.;
117  }
118 
119  std::cout << " Use cryo X : " << m_cryoXpos << " Gaudi::Units::mm" << std::endl;
120  std::cout << " Use table Y : " << m_tableYpos << " Gaudi::Units::mm" << std::endl;
121  largeoTB2004Options->printMe();
122 }

◆ operator=()

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

◆ storeDDE()

void LArGeo::LArDetectorFactoryH62004::storeDDE ( )

Definition at line 443 of file LArDetectorFactoryH62004.cxx.

444 {
446 
447  const int nctc = 32;
448  //const float ctcz = 5597.5;
449  const float ctcpar[][6] = {
450 // id eta phi x y r
451 {990530560, 3.37, 1.67, -37.93, 385.12, 386.98},
452 {990530816, 3.37, 1.87, -112.33, 370.32, 386.98},
453 {990531072, 3.37, 2.06, -182.42, 341.29, 386.98},
454 {990531328, 3.37, 2.26, -245.5, 299.14, 386.98},
455 {990543616, 3.37, 2.45, -299.14, 245.5, 386.98},
456 {990543360, 3.37, 2.65, -341.29, 182.42, 386.98},
457 {990543104, 3.37, 2.85, -370.32, 112.33, 386.98},
458 {990542848, 3.37, 3.04, -385.12, 37.93, 386.98},
459 {990528256, 4, 1.67, -20.09, 203.99, 204.98},
460 {990528000, 4, 1.87, -59.5, 196.15, 204.98},
461 {990527744, 4, 2.06, -96.63, 180.78, 204.99},
462 {990527488, 4, 2.26, -130.04, 158.45, 204.98},
463 {990540032, 4, 2.45, -158.45, 130.04, 204.98},
464 {990539776, 4, 2.65, -180.78, 96.63, 204.99},
465 {990540288, 4, 2.85, -196.15, 59.5, 204.98},
466 {990540544, 4, 3.04, -203.99, 20.09, 204.98},
467 {990530304, 3.25, 1.96, -166.86, 402.83, 436.02},
468 {990530048, 3.32, 1.96, -155.77, 376.07, 407.05},
469 {990529792, 3.4, 1.96, -143.83, 347.24, 375.85},
470 {990529536, 3.49, 1.96, -130.8, 315.78, 341.8},
471 {990529280, 3.61, 1.96, -116.3, 280.76, 303.9},
472 {990529024, 3.76, 1.96, -99.66, 240.6, 260.42},
473 {990528768, 3.99, 1.96, -79.46, 191.84, 207.65},
474 {990528512, 4.44, 1.96, -50.57, 122.08, 132.14},
475 {990542592, 3.25, 2.75, -402.83, 166.86, 436.02},
476 {990542336, 3.32, 2.75, -376.07, 155.77, 407.05},
477 {990542080, 3.4, 2.75, -347.24, 143.83, 375.85},
478 {990541824, 3.49, 2.75, -315.78, 130.8, 341.8},
479 {990541568, 3.61, 2.75, -280.76, 116.3, 303.9},
480 {990541312, 3.76, 2.75, -240.6, 99.66, 260.42},
481 {990541056, 3.99, 2.75, -191.84, 79.46, 207.65},
482 {990540800, 4.44, 2.75, -122.08, 50.57, 132.14},
483  };
484 
485 
486 /*
487  std::vector<Identifier>::const_iterator reg_b = cell_id->reg_begin();
488  std::vector<Identifier>::const_iterator reg_e = cell_id->reg_end();
489  for(; reg_b != reg_e; ++reg_b) {
490  std::cout<<"Region: "<<std::hex<<*reg_b<<std::dec<<" Subcalo: "<<cell_id->sub_calo(*reg_b)<<" Sample: "<<cell_id->calo_sample(*reg_b)<<std::endl;
491  }
492  */
493 
495  Identifier reg_id = m_cell_id->region_id(m_cell_id->cell_id((int)CaloCell_ID::LARFCAL, 2, 3, 0, 0, 0));
497  int ieta, iphi;
498  for(int i=0; i<nctc; ++i) {
499 // std::cout<<i<<" "<<int(ctcpar[i][0])<<" "<<std::hex<<int(ctcpar[i][0])<<std::dec<<std::endl;
500  if(i<16){
501  ieta = i/8 + 8;
502  iphi = i%8;
503  } else {
504  ieta = (i-16)%8;
505  iphi = (i-16)/8 + 8;
506  }
507  Identifier cellid = m_cell_id->cell_id((int)CaloCell_ID::LARFCAL, 2, 3, 0, ieta, iphi);
508  //Identifier reg_id = m_cell_id->region_id(cellid);
509  int subcalo = (int)CaloCell_ID::FCAL2;
510  IdentifierHash sub_hash = m_cell_id->subcalo_cell_hash(cellid, subcalo);
511 
512 // std::cout<<std::hex<<reg_id<<" "<<cellid<<" "<<std::dec<<sub_hash<<" "<< m_cell_id->show_to_string(cellid)<<std::endl;
513  DummyDetDescrElement *el = new DummyDetDescrElement(sub_hash, 0, 0, desc);
514  el->set_cylindric(ctcpar[i][1],ctcpar[i][2],ctcpar[i][5]);
515  el->set_cylindric_raw(ctcpar[i][1],ctcpar[i][2],ctcpar[i][5]);
516  if(i<16) {
517  el->set_cylindric_size(0.42,0.2,180.);
518  } else {
519  el->set_cylindric_size(0.12,0.8,30.);
520  }
521  cDDEvec->push_back(el);
522  }
523 
524  StatusCode sc = m_detectorStore->record(cDDEvec,"ColdTCDDE");
525  std::cout<<"Recording: "<<sc<<std::endl;
526  if(sc != StatusCode::SUCCESS) {
527  std::cout<<"LArDetectorFactoryH62004::storeDDE could not record the ColdTC caloDDE !!!"<<std::endl;
528  }
529 }

Member Data Documentation

◆ m_cell_id

const CaloCell_ID* LArGeo::LArDetectorFactoryH62004::m_cell_id
private

Definition at line 55 of file LArDetectorFactoryH62004.h.

◆ m_cryoXpos

double LArGeo::LArDetectorFactoryH62004::m_cryoXpos
private

Definition at line 38 of file LArDetectorFactoryH62004.h.

◆ m_detectorManager

LArDetectorManager* LArGeo::LArDetectorFactoryH62004::m_detectorManager
private

Definition at line 52 of file LArDetectorFactoryH62004.h.

◆ m_detectorStore

StoreGateSvc* LArGeo::LArDetectorFactoryH62004::m_detectorStore
private

Definition at line 49 of file LArDetectorFactoryH62004.h.

◆ m_tableYpos

double LArGeo::LArDetectorFactoryH62004::m_tableYpos
private

Definition at line 39 of file LArDetectorFactoryH62004.h.


The documentation for this class was generated from the following files:
EMECDetectorManager::getNumDetectorRegions
unsigned int getNumDetectorRegions() const
Gets the number of detectors in the set of detector regions.
Definition: EMECDetectorManager.cxx:113
beamspotman.r
def r
Definition: beamspotman.py:676
Trk::VKContraintType::Theta
@ Theta
CaloCell_Base_ID::LARFCAL
@ LARFCAL
Definition: CaloCell_Base_ID.h:46
EMECDetectorManager::addDetectorRegion
void addDetectorRegion(const EMECDetectorRegion *region)
Add a new HEC Detector Region.
Definition: EMECDetectorManager.cxx:128
FCALDetectorManager
A manager class providing access to readout geometry information for the forward calorimeter.
Definition: FCALDetectorManager.h:29
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
CaloDetDescrElementContainer
Definition: CaloDetDescrElementContainer.h:12
compute_lumi.z_m
z_m
Definition: compute_lumi.py:30
LArDetectorManager::isTestBeam
void isTestBeam(bool flag)
Set Test Beam flag.
Definition: LArDetectorManager.h:116
LArGeo::LArDetectorFactoryH62004::m_tableYpos
double m_tableYpos
Definition: LArDetectorFactoryH62004.h:39
python.Constants.FATAL
int FATAL
Definition: Control/AthenaCommon/python/Constants.py:19
FCALModule::FCAL2
@ FCAL2
Definition: FCALModule.h:37
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
EMECDetectorManager
A manager class providing access to readout geometry information for the electromagnetic endcap calor...
Definition: EMECDetectorManager.h:31
hist_file_dump.d
d
Definition: hist_file_dump.py:137
LArGeoTB2004Options::TableYPosition
void TableYPosition(double value)
Definition: LArGeoTB2004Options.h:32
FCALModule::POS
@ POS
Definition: FCALModule.h:38
EMECDetectorRegion::POS
@ POS
Definition: EMECDetectorRegion.h:33
FCALDetectorManager::getNumTreeTops
virtual unsigned int getNumTreeTops() const override
Gets the number of tree tops.
Definition: FCALDetectorManager.cxx:66
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
LArGeo::LArDetectorFactoryH62004::m_detectorStore
StoreGateSvc * m_detectorStore
Definition: LArDetectorFactoryH62004.h:49
HECDetectorManager::getNumDetectorRegions
unsigned int getNumDetectorRegions() const
Gets the number of detectors in the set of detector regions.
Definition: HECDetectorManager.cxx:135
TrigVSI::AlgConsts::nPhi
constexpr int nPhi
Default bin number of phi for vertex map.
Definition: Trigger/TrigTools/TrigVrtSecInclusive/TrigVrtSecInclusive/Constants.h:27
LArGeo::LArDetectorFactoryH62004::m_detectorManager
LArDetectorManager * m_detectorManager
Definition: LArDetectorFactoryH62004.h:52
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
StoredPhysVol
Definition: StoredPhysVol.h:27
TRT::Hit::side
@ side
Definition: HitInfo.h:83
LArGeoTB2004Options::CryoXPosition
void CryoXPosition(double value)
Definition: LArGeoTB2004Options.h:31
cm
const double cm
Definition: Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/FCAL_ChannelMap.cxx:25
python.PyAthena.module
module
Definition: PyAthena.py:134
LArGeo::LArDetectorFactoryH62004::m_cell_id
const CaloCell_ID * m_cell_id
Definition: LArDetectorFactoryH62004.h:55
StoredPhysVol::getPhysVol
GeoFullPhysVol * getPhysVol()
Destructor.
Definition: StoredPhysVol.cxx:20
HECDetectorRegion::DetectorSide
DetectorSide
Definition: HECDetectorRegion.h:34
LArMaterialManager
Definition: LArMaterialManager.h:36
CaloCondBlobAlgs_fillNoiseFromASCII.desc
desc
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:54
FullCPAlgorithmsTest_eljob.sample
sample
Definition: FullCPAlgorithmsTest_eljob.py:100
HECDetDescr
Descriptor for regions of the hadronic endcap calorimeter.
Definition: HECDetDescr.h:30
lumiFormat.i
int i
Definition: lumiFormat.py:92
CaloSampling::CaloSample
CaloSample
Definition: Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:22
HECDetectorRegion
Description of a region of homogenous granularity in the hadronic endcap calorimeter.
Definition: HECDetectorRegion.h:31
LArGeoTB2004Options
Definition: LArGeoTB2004Options.h:15
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
calibdata.exception
exception
Definition: calibdata.py:496
plotIsoValidation.el
el
Definition: plotIsoValidation.py:197
LArGeo::LArDetectorFactoryH62004::storeDDE
void storeDDE()
Definition: LArDetectorFactoryH62004.cxx:443
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
FCALDetectorManager::addModule
void addModule(FCALModule *fcalModule)
Adds an FCAL Module.
Definition: FCALDetectorManager.cxx:76
DataVector::push_back
value_type push_back(value_type pElem)
Add an element to the end of the collection.
FCALModule
Definition: FCALModule.h:33
DummyDetDescrElement
Dummy Detector Element for testing.
Definition: CaloDetectorElements.h:482
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
Base_Fragment.width
width
Definition: Sherpa_i/share/common/Base_Fragment.py:59
CaloDetDescriptor
This is a base class for LAr and Tile Descriptors The primary goal is to speed up loops over all the ...
Definition: CaloDetDescriptor.h:58
LArGeo::LArDetectorFactoryH62004::m_cryoXpos
double m_cryoXpos
Definition: LArDetectorFactoryH62004.h:38
LArGeoTB2004Options::printMe
void printMe() const
Definition: LArGeoTB2004Options.cxx:30
DEBUG
#define DEBUG
Definition: page_access.h:11
Amg::Translation3D
Eigen::Translation< double, 3 > Translation3D
Definition: GeoPrimitives.h:44
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
FCALModule::FCAL1
@ FCAL1
Definition: FCALModule.h:37
HECDetectorManager::addDetectorRegion
void addDetectorRegion(const HECDetectorRegion *region)
Add a new HEC Detector Region.
Definition: HECDetectorManager.cxx:170
CaloCell_ID_FCS::FCAL2
@ FCAL2
Definition: FastCaloSim_CaloCell_ID.h:42
merge.status
status
Definition: merge.py:17
CaloCondBlobAlgs_fillNoiseFromASCII.tag
string tag
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:24
LArGeo::LArDetectorFactoryH62004::getSimulationParameters
void getSimulationParameters()
Definition: LArDetectorFactoryH62004.cxx:90
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:57
LArDetectorManager::addTreeTop
void addTreeTop(PVConstLink treeTop)
Add a Tree Top.
Definition: LArDetectorManager.cxx:31