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

#include <BPCConstruction.h>

Collaboration diagram for LArGeo::BPCConstruction:

Public Member Functions

 BPCConstruction (bool old=false)
 
virtual ~BPCConstruction ()
 
virtual PVLink GetEnvelope ()
 

Private Attributes

bool m_oldType
 
GeoPhysVol * m_BPCPhysical
 
MsgStream * m_msg
 

Detailed Description

Definition at line 22 of file BPCConstruction.h.

Constructor & Destructor Documentation

◆ BPCConstruction()

LArGeo::BPCConstruction::BPCConstruction ( bool  old = false)

Definition at line 49 of file BPCConstruction.cxx.

50  :m_BPCPhysical(nullptr),
51  m_msg(nullptr)
52 {
53  m_oldType = old;
54 }

◆ ~BPCConstruction()

LArGeo::BPCConstruction::~BPCConstruction ( )
virtualdefault

Member Function Documentation

◆ GetEnvelope()

PVLink LArGeo::BPCConstruction::GetEnvelope ( )
virtual

Definition at line 62 of file BPCConstruction.cxx.

63 {
64 
65  if (m_BPCPhysical) return m_BPCPhysical;
66 
67  // Message service:
68  ISvcLocator *svcLocator = Gaudi::svcLocator();
69  IMessageSvc * msgSvc;
70  StatusCode status = svcLocator->service("MessageSvc", msgSvc);
71 
72  if(!status.isFailure()){
73  m_msg = new MsgStream(msgSvc, "BPCConstruction");
74  } else {
75  throw std::runtime_error("BPCConstruction: cannot initialze message service");
76  }
77 
78  (*m_msg) << MSG::INFO << "BPCConstruction - creating an BPC oldType: " << m_oldType << " ! " << endmsg;
79 
80 
81 
83  if (svcLocator->service("DetectorStore", detStore, false )==StatusCode::FAILURE) {
84  throw std::runtime_error("Error in BPCConstruction, cannot access DetectorStore");
85  }
86 
87 
88  ServiceHandle<IGeoModelSvc> geoModelSvc ("GeoModelSvc", "BPCConstruction");
89  if (geoModelSvc.retrieve().isFailure()) {
90  throw std::runtime_error ("Cannot locate m_geoModelSvc!!");
91  }
92 
93 
94 
95  // Get the materials from the material manager:-----------------------------------------------------//
96  // //
97 
98  StoredMaterialManager* materialManager = nullptr;
99  if (StatusCode::SUCCESS != detStore->retrieve(materialManager, std::string("MATERIALS"))) return nullptr;
100 
101  std::string name;
102  double density;
103  const GeoElement* W=materialManager->getElement("Wolfram");
104  GeoMaterial* Tungsten = new GeoMaterial(name="Tungsten", density=19.3*GeoModelKernelUnits::g/Gaudi::Units::cm3);
105  Tungsten->add(W,1.);
106  Tungsten->lock();
107 
108 
109  const GeoElement* Ar=materialManager->getElement("Argon");
110  const GeoElement* C=materialManager->getElement("Carbon");
111  const GeoElement* O=materialManager->getElement("Oxygen");
112  const GeoElement* H=materialManager->getElement("Hydrogen");
113  const GeoElement* Al=materialManager->getElement("Aluminium");
114  GeoMaterial* CO2 = new GeoMaterial(name="CO2", density=1.84E-03*GeoModelKernelUnits::g/Gaudi::Units::cm3);
115  CO2->add(C,0.273);
116  CO2->add(O,0.727);
117  CO2->lock();
118  GeoMaterial* ArCO2_1 = new GeoMaterial(name="ArCO2_1", density=(0.8*1.782e-03 + 0.2*1.84E-03)*GeoModelKernelUnits::g/Gaudi::Units::cm3);
119  ArCO2_1->add(Ar,0.8);
120  ArCO2_1->add(CO2,0.2);
121  ArCO2_1->lock();
122  GeoMaterial* ArCO2_2 = new GeoMaterial(name="ArCO2_2", density=(0.9*1.782e-03 + 0.1*1.84E-03)*GeoModelKernelUnits::g/Gaudi::Units::cm3);
123  ArCO2_2->add(Ar,0.9);
124  ArCO2_2->add(CO2,0.1);
125  ArCO2_2->lock();
126  // AlMylar AlC5H4O2 ??????
128  GeoMaterial* AlMylar=new GeoMaterial(name="AlMylar",density=1.39*GeoModelKernelUnits::g/Gaudi::Units::cm3);
129  AlMylar->add(C,0.487980);
130  AlMylar->add(O,0.260014);
131  AlMylar->add(H,0.032761);
132  AlMylar->add(Al,0.219245);
133  AlMylar->lock();
134 
135  const GeoMaterial *Air = materialManager->getMaterial("std::Air");
136  if (!Air) throw std::runtime_error("Error in BPCConstruction, std::Air is not found.");
137 
138  const GeoMaterial *Aluminium = materialManager->getMaterial("std::Aluminium");
139  if (!Aluminium) throw std::runtime_error("Error in BPCConstruction, std::Aluminium is not found.");
140 
141  const GeoMaterial *Mylar = materialManager->getMaterial("std::Mylar");
142  if (!Mylar) throw std::runtime_error("Error in BPCConstruction, std::Mylar is not found.");
143 
144 
145  //-------------------------------------------------------------------------------------------------//
146 
147 
148 
149  std::string AtlasVersion = geoModelSvc->atlasVersion();
150  std::string LArVersion = geoModelSvc->LAr_VersionOverride();
151 
152  std::string detectorKey = LArVersion.empty() ? AtlasVersion : LArVersion;
153  std::string detectorNode = LArVersion.empty() ? "ATLAS" : "LAr";
154 
155 
157  // Define geometry
159  double bpc_x = 15.0*Gaudi::Units::cm;
160  double bpc_y = 15.0*Gaudi::Units::cm;
161  double bpc_z = (8.684/2)*Gaudi::Units::cm;
162  double bpc_send = (1.14/2)*Gaudi::Units::cm;
163  double bpc_sen = (1.06)*Gaudi::Units::cm;
164  double bpc_div = 5.06*Gaudi::Units::mm;
165  //double bpc_space = 2.6*Gaudi::Units::mm;
166  double bpc_ml = 0.0010*Gaudi::Units::cm;
167  double bpc_alml = 0.0012*Gaudi::Units::cm;
168  double bpc_frame = 12.1*Gaudi::Units::mm;
169  double bpc_alframe = 8.*Gaudi::Units::mm;
170  double bpc_step = 0.6*Gaudi::Units::cm;
171  double bpc_cstep = 0.3*Gaudi::Units::cm;
172  double bpc_wd = 0.0020*Gaudi::Units::cm;
173  double bpc_cwd = 0.0100*Gaudi::Units::cm;
174 
175  double bpc_old_x = 12.0*Gaudi::Units::cm;
176  double bpc_old_y = 12.0*Gaudi::Units::cm;
177  double bpc_old_z = (5.100/2)*Gaudi::Units::cm;
178  double bpc_old_div = 7.6*Gaudi::Units::mm;
179  double bpc_old_alml = 0.0020*Gaudi::Units::cm;
180  double bpc_old_ml = 0.0050*Gaudi::Units::cm;
181  double bpc_old_frame = 10.*Gaudi::Units::mm;
182  double bpc_old_alframe = 2.*Gaudi::Units::mm;
183  double bpc_old_alframe1 = 12.*Gaudi::Units::mm;
184  double bpc_old_send = (1.7/2)*Gaudi::Units::cm;
185  double bpc_old_sen = 0.5*Gaudi::Units::cm;
186  double bpc_old_space = 1.*Gaudi::Units::mm;
187  double bpc_old_step = 0.6*Gaudi::Units::cm;
188  double bpc_old_cstep = 0.3*Gaudi::Units::cm;
189 
190 
191  // Here we creat the envelope for the Moveable FrontBeam Instrumentation. This code is repeated
192  // createEnvelope() method below. There should be a way to avoid this repitition.
193 
194 
195  //------ Now create a BPC
196 
197  (*m_msg) << MSG::INFO <<" Create BPC " << endmsg;
198 
199  std::string BPCName;
200  if(m_oldType) BPCName = "LAr::TB::BPCOLD"; else BPCName = "LAr::TB::BPC";
201 
202  // This creates a square chamber:
203  GeoBox* shape_bpc;
204  if(m_oldType) shape_bpc = new GeoBox(bpc_old_x, bpc_old_y, bpc_old_z);
205  else shape_bpc = new GeoBox(bpc_x, bpc_y, bpc_z);
206  GeoLogVol* log_bpc;
207  if(m_oldType) log_bpc = new GeoLogVol(BPCName, shape_bpc, ArCO2_2);
208  else log_bpc = new GeoLogVol(BPCName, shape_bpc, ArCO2_1);
209  m_BPCPhysical = new GeoPhysVol(log_bpc);
210 
211  // AlMylar wall inside BPS
212  GeoBox* shape_bpc_almylar;
213  if(m_oldType) shape_bpc_almylar = new GeoBox(bpc_old_x, bpc_old_y, bpc_old_alml);
214  else shape_bpc_almylar = new GeoBox(bpc_x, bpc_y, bpc_alml);
215  GeoLogVol* log_bpc_almylar = new GeoLogVol(BPCName + "::bpcalmylar",shape_bpc_almylar, AlMylar);
216  GeoIntrusivePtr<GeoPhysVol> phys_bpc_almylar = new GeoPhysVol(log_bpc_almylar);
217  for(int i = 0; i < 2; i ++){
218  double mylar_pos = 0;
219  if(m_oldType) {
220  if(i == 0) mylar_pos = bpc_old_z - bpc_old_alml;
221  if(i == 1) mylar_pos = bpc_old_alml - bpc_old_z;
222  } else {
223  if(i == 0) mylar_pos = bpc_z - bpc_alml;
224  if(i == 1) mylar_pos = bpc_alml - bpc_z;
225  }
226  m_BPCPhysical->add( new GeoIdentifierTag( i ) );
227  m_BPCPhysical->add( new GeoTransform( GeoTrf::Translate3D(0., 0., mylar_pos) ) );
228  m_BPCPhysical->add( phys_bpc_almylar );
229  }
230 
231  // Mylar wall inside BPC
232  GeoBox* shape_bpc_mylar;
233  if(m_oldType) shape_bpc_mylar = new GeoBox(bpc_old_x, bpc_old_y, bpc_old_ml);
234  else shape_bpc_mylar = new GeoBox(bpc_x, bpc_y, bpc_ml);
235  GeoLogVol* log_bpc_mylar = new GeoLogVol(BPCName + "::bpc_mylar", shape_bpc_mylar, Mylar);
236  GeoIntrusivePtr<GeoPhysVol> phys_bpc_mylar = new GeoPhysVol(log_bpc_mylar);
237  for(int i = 0; i < 2; ++i){
238  double mylar_pos = 0;
239  if(m_oldType) {
240 // if(i == 0) mylar_pos = bpc_old_z - bpc_old_frame - bpc_old_alframe - bpc_old_ml/2.;
241 // if(i == 1) mylar_pos = - bpc_old_z + bpc_old_ml/2. + bpc_old_frame + bpc_old_alframe1;
242  if(i == 0) mylar_pos = bpc_old_z - bpc_old_frame - bpc_old_alframe - bpc_old_ml + bpc_old_space;
243  if(i == 1) mylar_pos = - bpc_old_z + bpc_old_ml + bpc_old_frame + bpc_old_alframe1 - bpc_old_space;
244  } else {
245  if(i == 0) mylar_pos = bpc_z - bpc_frame - bpc_alframe - bpc_alml;
246  if(i == 1) mylar_pos = bpc_alml - bpc_z + bpc_frame + bpc_alframe;
247  }
248  m_BPCPhysical->add( new GeoIdentifierTag( i ) );
249  m_BPCPhysical->add( new GeoTransform( GeoTrf::Translate3D(0., 0., mylar_pos) ) );
250  m_BPCPhysical->add( phys_bpc_mylar );
251  }
252 
253 
254  // X sensitive plane (old has only one sensitive plane, so we choose X)
255  GeoBox* shape_bpc_xplane;
256  if(m_oldType) shape_bpc_xplane = new GeoBox(bpc_old_x, bpc_old_y, bpc_old_send);
257  else shape_bpc_xplane = new GeoBox(bpc_x, bpc_y, bpc_send);
258  GeoLogVol* log_bpc_xplane;
259  if(m_oldType) log_bpc_xplane = new GeoLogVol(BPCName + "::bpco_plane", shape_bpc_xplane, ArCO2_2);
260  else log_bpc_xplane = new GeoLogVol(BPCName + "::bpc_xplane", shape_bpc_xplane, ArCO2_1);
261  GeoIntrusivePtr<GeoPhysVol> phys_bpc_xplane = new GeoPhysVol(log_bpc_xplane);
262  m_BPCPhysical->add( new GeoIdentifierTag( 0 ) );
263  if(m_oldType) m_BPCPhysical->add( new GeoTransform( GeoTrf::Translate3D(0., 0., bpc_old_sen) ) );
264  else m_BPCPhysical->add( new GeoTransform( GeoTrf::Translate3D(0., 0., -bpc_sen-bpc_send) ) );
265  m_BPCPhysical->add(phys_bpc_xplane);
266 
267  // division of X plane
268  int Ndiv;
269  if(m_oldType) Ndiv = int(2.0*bpc_old_x/bpc_old_step);
270  else Ndiv = int(2.0*bpc_x/bpc_step);
271  GeoBox* shape_bpc_xdiv;
272  if(m_oldType) shape_bpc_xdiv = new GeoBox(bpc_old_step/2., bpc_old_y, bpc_old_div);
273  else shape_bpc_xdiv = new GeoBox(bpc_step/2., bpc_y, bpc_div);
274  GeoLogVol* log_bpc_xdiv;
275  if(m_oldType) log_bpc_xdiv = new GeoLogVol(BPCName + "::bpco_div", shape_bpc_xdiv, ArCO2_2);
276  else log_bpc_xdiv = new GeoLogVol(BPCName + "::bpc_xdiv", shape_bpc_xdiv, ArCO2_1);
277  GeoIntrusivePtr<GeoPhysVol> phys_bpc_xdiv = new GeoPhysVol(log_bpc_xdiv);
278  GeoGenfun::Variable Index;
279  GeoXF::TRANSFUNCTION TXO = GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_old_x+(2*Index+1)*bpc_old_step/2.);
280  GeoXF::TRANSFUNCTION TX = GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_x+(2*Index+1)*bpc_step/2.);
281  phys_bpc_xplane->add( new GeoSerialIdentifier(0) );
282  if(m_oldType) phys_bpc_xplane->add( new GeoSerialTransformer(phys_bpc_xdiv, &TXO, Ndiv ) );
283  else phys_bpc_xplane->add( new GeoSerialTransformer(phys_bpc_xdiv, &TX, Ndiv ) );
284 
285  // Y sensitive plane
286  GeoIntrusivePtr<GeoPhysVol> phys_bpc_yplane = nullptr;
287  GeoIntrusivePtr<GeoPhysVol> phys_bpc_ydiv = nullptr;
288  if(!m_oldType) {
289  GeoBox* shape_bpc_yplane = new GeoBox(bpc_x, bpc_y, bpc_send);
290  GeoLogVol* log_bpc_yplane = new GeoLogVol(BPCName + "::bpc_yplane",shape_bpc_yplane, ArCO2_1);
291  phys_bpc_yplane = new GeoPhysVol(log_bpc_yplane);
292  m_BPCPhysical->add( new GeoIdentifierTag( 0 ) );
293  m_BPCPhysical->add( new GeoTransform( GeoTrf::Translate3D(0., 0., bpc_sen+bpc_send) ) );
294  m_BPCPhysical->add( phys_bpc_yplane );
295 
296  // division of Y plane
297  GeoBox* shape_bpc_ydiv = new GeoBox(bpc_x, bpc_step/2.,bpc_div);
298  GeoLogVol* log_bpc_ydiv = new GeoLogVol(BPCName + "::bpc_ydiv", shape_bpc_ydiv, ArCO2_1);
299  phys_bpc_ydiv = new GeoPhysVol(log_bpc_ydiv);
300  GeoXF::TRANSFUNCTION TY = GeoXF::Pow(GeoTrf::TranslateY3D(1.0), -bpc_y+(2*Index+1)*bpc_step/2);
301  phys_bpc_yplane->add( new GeoSerialIdentifier(0) );
302  phys_bpc_yplane->add( new GeoSerialTransformer(phys_bpc_ydiv, &TY, Ndiv ) );
303  }
304 
305  // wires in each division
306  GeoTubs* shape_bpc_wire;
307  if(m_oldType) shape_bpc_wire = new GeoTubs(0., bpc_wd, bpc_old_x, 0.*Gaudi::Units::deg, 360.*Gaudi::Units::deg);
308  else shape_bpc_wire = new GeoTubs(0., bpc_wd, bpc_x, 0.*Gaudi::Units::deg, 360.*Gaudi::Units::deg);
309  GeoLogVol* log_bpc_wire;
310  if(m_oldType) log_bpc_wire = new GeoLogVol(BPCName + "::bpco_wire", shape_bpc_wire, Tungsten);
311  else log_bpc_wire = new GeoLogVol(BPCName + "::bpc_wire", shape_bpc_wire, Tungsten);
312  GeoIntrusivePtr<GeoPhysVol> phys_bpc_wire = new GeoPhysVol(log_bpc_wire);
313  phys_bpc_xdiv->add( new GeoIdentifierTag( 1 ) );
314  phys_bpc_xdiv->add( new GeoTransform( GeoTrf::RotateX3D( 90.*Gaudi::Units::deg ) ) );
315  phys_bpc_xdiv->add(phys_bpc_wire);
316  if(!m_oldType) {
317  phys_bpc_ydiv->add( new GeoIdentifierTag( 1 ) );
318  phys_bpc_ydiv->add( new GeoTransform( GeoTrf::RotateY3D( 90.*Gaudi::Units::deg ) ) );
319  phys_bpc_ydiv->add(phys_bpc_wire);
320  }
321 
322 // cathode wires around each division
323  if(m_oldType) Ndiv = int(2.0*bpc_old_x/bpc_cstep);
324  else Ndiv = int(2.0*bpc_x/bpc_cstep);
325  GeoTubs* shape_bpc_cwire;
326  if(m_oldType) shape_bpc_cwire = new GeoTubs(0., bpc_cwd, bpc_old_x, 0.*Gaudi::Units::deg, 360.*Gaudi::Units::deg);
327  else shape_bpc_cwire = new GeoTubs( 0., bpc_cwd, bpc_x, 0.*Gaudi::Units::deg, 360.*Gaudi::Units::deg);
328  GeoLogVol* log_bpc_cwire;
329  if(m_oldType) log_bpc_cwire = new GeoLogVol(BPCName + "::bpco_cwire",shape_bpc_cwire, Tungsten);
330  else log_bpc_cwire = new GeoLogVol(BPCName + "::bpc_cwire",shape_bpc_cwire, Tungsten);
331  GeoIntrusivePtr<GeoPhysVol> phys_bpc_cwire = new GeoPhysVol(log_bpc_cwire);
332 // GeoXF::TRANSFUNCTION TXXMO = GeoTrf::RotateX3D( 90.*Gaudi::Units::deg ) * GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_old_x+(2*Index+1)*bpc_old_cstep/2.) * GeoTrf::TranslateZ3D(-bpc_old_send-bpc_cwd+bpc_old_space);
333 // GeoXF::TRANSFUNCTION TXXPO = GeoTrf::RotateX3D( 90.*Gaudi::Units::deg ) * GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_old_x+(2*Index+1)*bpc_old_cstep/2.) * GeoTrf::TranslateZ3D(bpc_old_send-bpc_old_space+bpc_cwd);
334  GeoXF::TRANSFUNCTION TXXMO = GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_old_x+(2*Index+1)*bpc_old_cstep/2.) * GeoTrf::TranslateZ3D(-bpc_old_send-2.*bpc_cwd+bpc_old_space) * GeoTrf::RotateX3D( 90.*Gaudi::Units::deg );
335  GeoXF::TRANSFUNCTION TXXPO = GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_old_x+(2*Index+1)*bpc_old_cstep/2.) * GeoTrf::TranslateZ3D(bpc_old_send-bpc_old_space+2.*bpc_cwd) * GeoTrf::RotateX3D( 90.*Gaudi::Units::deg );
336 // GeoXF::TRANSFUNCTION TXXM = GeoTrf::RotateX3D( 90.*Gaudi::Units::deg ) * GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_x+(2*Index+1)*bpc_cstep/2.) * GeoTrf::TranslateZ3D(-bpc_div-bpc_cwd);
337 // GeoXF::TRANSFUNCTION TXXP = GeoTrf::RotateX3D( 90.*Gaudi::Units::deg ) * GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_x+(2*Index+1)*bpc_cstep/2.) * GeoTrf::TranslateZ3D(bpc_div+bpc_cwd);
338  GeoXF::TRANSFUNCTION TXXM = GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_x+(2*Index+1)*bpc_cstep/2.) * GeoTrf::TranslateZ3D(-bpc_div-bpc_cwd) * GeoTrf::RotateX3D( 90.*Gaudi::Units::deg );
339  GeoXF::TRANSFUNCTION TXXP = GeoXF::Pow(GeoTrf::TranslateX3D(1.0), -bpc_x+(2*Index+1)*bpc_cstep/2.) * GeoTrf::TranslateZ3D(bpc_div+bpc_cwd) * GeoTrf::RotateX3D( 90.*Gaudi::Units::deg );
340  phys_bpc_xplane->add( new GeoSerialIdentifier(0) );
341  if(m_oldType) phys_bpc_xplane->add( new GeoSerialTransformer(phys_bpc_cwire, &TXXMO, Ndiv) );
342  else phys_bpc_xplane->add( new GeoSerialTransformer(phys_bpc_cwire, &TXXM, Ndiv) );
343  phys_bpc_xplane->add( new GeoSerialIdentifier(Ndiv) );
344  if(m_oldType) phys_bpc_xplane->add( new GeoSerialTransformer(phys_bpc_cwire, &TXXPO, Ndiv) );
345  else phys_bpc_xplane->add( new GeoSerialTransformer(phys_bpc_cwire, &TXXP, Ndiv) );
346  if(!m_oldType) {
347 // GeoXF::TRANSFUNCTION TYYM = GeoTrf::RotateY3D( 90.*Gaudi::Units::deg ) * GeoXF::Pow(GeoTrf::TranslateY3D(1.0), -bpc_y+(2*Index+1)*bpc_cstep/2.) * GeoTrf::TranslateZ3D(-bpc_div-bpc_cwd);
348 // GeoXF::TRANSFUNCTION TYYP = GeoTrf::RotateY3D( 90.*Gaudi::Units::deg ) * GeoXF::Pow(GeoTrf::TranslateY3D(1.0), -bpc_y+(2*Index+1)*bpc_cstep/2.) * GeoTrf::TranslateZ3D(bpc_div+bpc_cwd);
349  GeoXF::TRANSFUNCTION TYYM = GeoXF::Pow(GeoTrf::TranslateY3D(1.0), -bpc_y+(2*Index+1)*bpc_cstep/2.) * GeoTrf::TranslateZ3D(-bpc_div-bpc_cwd) * GeoTrf::RotateY3D( 90.*Gaudi::Units::deg );
350  GeoXF::TRANSFUNCTION TYYP = GeoXF::Pow(GeoTrf::TranslateY3D(1.0), -bpc_y+(2*Index+1)*bpc_cstep/2.) * GeoTrf::TranslateZ3D(bpc_div+bpc_cwd) * GeoTrf::RotateY3D( 90.*Gaudi::Units::deg );
351  phys_bpc_yplane->add( new GeoSerialIdentifier(0) );
352  phys_bpc_yplane->add( new GeoSerialTransformer(phys_bpc_cwire, &TYYM, Ndiv) );
353  phys_bpc_yplane->add( new GeoSerialIdentifier(Ndiv) );
354  phys_bpc_yplane->add( new GeoSerialTransformer(phys_bpc_cwire, &TYYP, Ndiv) );
355  }
356 
357  return m_BPCPhysical;
358 }

Member Data Documentation

◆ m_BPCPhysical

GeoPhysVol* LArGeo::BPCConstruction::m_BPCPhysical
private

Definition at line 38 of file BPCConstruction.h.

◆ m_msg

MsgStream* LArGeo::BPCConstruction::m_msg
private

Definition at line 40 of file BPCConstruction.h.

◆ m_oldType

bool LArGeo::BPCConstruction::m_oldType
private

Definition at line 36 of file BPCConstruction.h.


The documentation for this class was generated from the following files:
LArGeo::BPCConstruction::m_BPCPhysical
GeoPhysVol * m_BPCPhysical
Definition: BPCConstruction.h:38
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
JetTiledMap::W
@ W
Definition: TiledEtaPhiMap.h:44
DMTest::C
C_v1 C
Definition: C.h:26
LArGeo::BPCConstruction::m_oldType
bool m_oldType
Definition: BPCConstruction.h:36
StoredMaterialManager::getElement
virtual const GeoElement * getElement(const std::string &name)=0
cm3
#define cm3
LArGeo::BPCConstruction::m_msg
MsgStream * m_msg
Definition: BPCConstruction.h:40
deg
#define deg
Definition: SbPolyhedron.cxx:17
cm
const double cm
Definition: Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/FCAL_ChannelMap.cxx:25
lwtDev::Component::O
@ O
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
H
#define H(x, y, z)
Definition: MD5.cxx:114
Index
IndexedConstituentUserInfo::Index Index
Definition: IndexedConstituentUserInfo.cxx:12
EventInfoWrite.AtlasVersion
AtlasVersion
Definition: EventInfoWrite.py:17
StdJOSetup.msgSvc
msgSvc
Provide convenience handles for various services.
Definition: StdJOSetup.py:36
lumiFormat.i
int i
Definition: lumiFormat.py:92
python.CaloCondTools.g
g
Definition: CaloCondTools.py:15
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
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
VP1PartSpect::E
@ E
Definition: VP1PartSpectFlags.h:21
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
CSV_InDetExporter.old
old
Definition: CSV_InDetExporter.py:145
StoredMaterialManager::getMaterial
virtual const GeoMaterial * getMaterial(const std::string &name)=0
StoredMaterialManager
This class holds one or more material managers and makes them storeable, under StoreGate.
Definition: StoredMaterialManager.h:28
merge.status
status
Definition: merge.py:17
ServiceHandle< IGeoModelSvc >