ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ZDC_DetFactory Class Reference

#include <ZDC_DetFactory.h>

Inheritance diagram for ZDC_DetFactory:
Collaboration diagram for ZDC_DetFactory:

Public Member Functions

 ZDC_DetFactory (StoreGateSvc *)
 
 ~ZDC_DetFactory ()
 
virtual void create (GeoPhysVol *world) override
 
virtual const ZDC_DetManagergetDetectorManager () const override
 
void buildMaterials (StoredMaterialManager *materialManager)
 
void initializePbPb2015 ()
 
void initializePbPb2023 ()
 
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

void initMessaging () const
 Initialize our message level and MessageSvc. More...
 

Private Attributes

ZDC_DetManagerm_detectorManager {}
 
StoreGateSvcm_detectorStore {}
 
const ZdcIDm_zdcID {}
 
bool m_RPDs_On {}
 
bool m_BRANs_On {}
 
std::vector< std::vector< bool > > m_zdcOn
 
std::vector< std::vector< float > > m_zdcPos
 
std::vector< std::vector< int > > m_zdcModType
 
std::vector< GeoAlignableTransform * > m_rpdPos
 
std::vector< float > m_branPos
 
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

Definition at line 22 of file ZDC_DetFactory.h.

Constructor & Destructor Documentation

◆ ZDC_DetFactory()

ZDC_DetFactory::ZDC_DetFactory ( StoreGateSvc detStore)

Definition at line 45 of file ZDC_DetFactory.cxx.

45  :
46  AthMessaging("ZDC_DetFactory"),
47  m_detectorManager(NULL),
49 {
50  if (m_detectorStore->retrieve( m_zdcID ).isFailure() ) {
51  MsgStream LogStream(Athena::getMessageSvc(), "ZDC_DetectorFactory::ZDC_DetFactory");
52  LogStream << MSG::ERROR << "execute: Could not retrieve ZdcID object from the detector store" << endmsg;
53  }
54 }

◆ ~ZDC_DetFactory()

ZDC_DetFactory::~ZDC_DetFactory ( )

Definition at line 56 of file ZDC_DetFactory.cxx.

56 {}

Member Function Documentation

◆ buildMaterials()

void ZDC_DetFactory::buildMaterials ( StoredMaterialManager materialManager)

Definition at line 145 of file ZDC_DetFactory.cxx.

145  {
146 
147  const GeoElement *Oxygen = materialManager->getElement("Oxygen");
148  const GeoElement *Silicon = materialManager->getElement("Silicon");
149  const GeoElement *Hydrogen = materialManager->getElement("Hydrogen");
150  const GeoElement *Nitrogen = materialManager->getElement("Nitrogen");
151  const GeoElement *Carbon = materialManager->getElement("Carbon");
152  const GeoElement *Argon = materialManager->getElement("Argon");
153  const GeoElement *Tung = materialManager->getElement("Wolfram");
154  const GeoElement *Iron = materialManager->getElement("Iron");
155  const GeoElement *Nickel = materialManager->getElement("Nickel");
156 
157  const int nEntries = 50; // Number of data points in each array
158  double eV = Gaudi::Units::eV;
159  double cm = Gaudi::Units::cm;
160 
161  //Evenly distributed photon energy bins for the coming arrays of material properties. Range is selected for a PMT which is sensitive from 300-650nm wavelength
162  double photonEnergy[nEntries] = {0};
163  double minEnergy = 1.90769 * eV; double maxEnergy = 4.08882 * eV;
164  double step = (maxEnergy-minEnergy)/nEntries;
165  for(int i=0; i<nEntries; ++i){
166  photonEnergy[i] = minEnergy + i*step;
167  }
168 
169  // Optical Air density and composition obtained from
170  // From https://physics.nist.gov/cgi-bin/Star/compos.pl?matno=104
172  OpAir->add(Nitrogen, 0.755);
173  OpAir->add(Oxygen , 0.232);
174  OpAir->add(Argon , 0.013);
175 
176  // The air in the modules must have refractive index defined for total internal reflection to work
177  // From NIST https://emtoolbox.nist.gov/wavelength/documentation.asp
178  double RefractiveIndexAir[nEntries];
179  for(int i=0; i<nEntries; ++i)
180  RefractiveIndexAir[i] = 1.000271800;
181 
183  airMPT->AddProperty("RINDEX", photonEnergy, RefractiveIndexAir, nEntries);
184  OpAir->SetMaterialPropertiesTable(airMPT);
185  OpAir->lock();
186  materialManager->addMaterial("ZDC", OpAir);
187 
188  // RPD fiber core and ZDC rod material
189  // Composition from https://physics.nist.gov/cgi-bin/Star/compos.pl?matno=245
191  OpSilicaCore->add(Silicon, 0.467);
192  OpSilicaCore->add(Oxygen, 0.533);
193 
194  // Refractive index of fused silica obtained from
195  // https://www.heraeus.com/media/media/hca/doc_hca/products_and_solutions_8/optics/Data_and_Properties_Optics_fused_silica_EN.pdf
196  double silica_RIND[] = {1.45656, 1.45694, 1.45737, 1.45781, 1.45825, 1.4587 , 1.45914, 1.45959, 1.46003, 1.46048,
197  1.46095, 1.46145, 1.46194, 1.46242, 1.46289, 1.4634 , 1.46394, 1.46448, 1.46502, 1.46556,
198  1.46608, 1.46666, 1.46725, 1.46784, 1.46843, 1.46902, 1.46961, 1.47024, 1.4709 , 1.47155,
199  1.4722 , 1.47288, 1.47356, 1.47425, 1.47494, 1.47566, 1.4764 , 1.47715, 1.4779 , 1.47864,
200  1.47935, 1.48014, 1.48093, 1.48172, 1.48254, 1.48339, 1.48424, 1.4851 , 1.48598, 1.48689};
201 
202  // Absorption length index of fused silica derrived from
203  // https://www.heraeus.com/media/media/hca/doc_hca/products_and_solutions_8/optics/Data_and_Properties_Optics_fused_silica_EN.pdf
204  double silica_ABSL[nEntries];
205  for(int i=0; i<nEntries-2; ++i)
206  silica_ABSL[i] = 302.163 * cm;
207  silica_ABSL[nEntries - 1] = silica_ABSL[nEntries - 2] = 204.542 * cm;
208 
210  silicaCoreMPT->AddProperty("RINDEX" , photonEnergy, silica_RIND, nEntries); // index of refraction
211  silicaCoreMPT->AddProperty("ABSLENGTH", photonEnergy, silica_ABSL, nEntries); // absorption length
212  OpSilicaCore->SetMaterialPropertiesTable(silicaCoreMPT);
213  OpSilicaCore->lock();
214  materialManager->addMaterial("ZDC", OpSilicaCore);
215 
216  // RPD fiber cladding
217  // Composition from https://physics.nist.gov/cgi-bin/Star/compos.pl?matno=245
219  OpSilicaClad->add(Silicon, 0.467);
220  OpSilicaClad->add(Oxygen, 0.533);
221 
222  // Numerical aperture is given by data sheet as 0.22 and NA = sqrt( n1^2 - n2^2 ), so n2 = sqrt( n1^2 - NA^2 ) where n1 is silica_RIND
223  // https://www.content.molex.com/dxdam/literature/987650-8936.pdf
224  double silica_clad_RIND[] = {1.43985, 1.44023, 1.44067, 1.44112, 1.44156, 1.44201, 1.44246, 1.44291, 1.44336, 1.44381,
225  1.44429, 1.4448 , 1.44529, 1.44577, 1.44625, 1.44677, 1.44731, 1.44786, 1.44841, 1.44895,
226  1.44948, 1.45007, 1.45067, 1.45126, 1.45186, 1.45245, 1.45305, 1.45369, 1.45435, 1.45501,
227  1.45567, 1.45635, 1.45705, 1.45774, 1.45844, 1.45916, 1.45992, 1.46067, 1.46143, 1.46219,
228  1.4629 , 1.4637 , 1.46449, 1.46529, 1.46612, 1.46698, 1.46785, 1.46871, 1.4696 , 1.47052};
229 
230  // Silica cladding
232  silicaCladMPT->AddProperty("RINDEX" , photonEnergy, silica_clad_RIND, nEntries); // index of refraction
233  silicaCladMPT->AddProperty("ABSLENGTH", photonEnergy, silica_ABSL , nEntries); // absorption length
234  OpSilicaClad->SetMaterialPropertiesTable(silicaCladMPT);
235  OpSilicaClad->lock();
236  materialManager->addMaterial("ZDC", OpSilicaClad);
237 
238  // Kapton fiber optic buffer material
239  // Composition from https://physics.nist.gov/cgi-bin/Star/compos.pl?matno=179
241  OpKapton->add(Hydrogen, 0.026362);
242  OpKapton->add(Carbon , 0.691133);
243  OpKapton->add(Nitrogen, 0.073270);
244  OpKapton->add(Oxygen , 0.209235);
245 
246  // Refractive index obtained from
247  // https://engineering.case.edu/centers/sdle/sites/engineering.case.edu.centers.sdle/files/optical_properties_of_materials.pdf
248  double kapton_RIND[] = {1.7095 , 1.7111 , 1.7143 , 1.7191, 1.7207 , 1.7255 , 1.7271 , 1.73157, 1.7351 , 1.7383 ,
249  1.7416 , 1.7464 , 1.74978, 1.7545, 1.7593 , 1.766 , 1.7692 , 1.7758 , 1.78179, 1.79009,
250  1.794 , 1.80245, 1.8074 , 1.8157, 1.82184, 1.82659, 1.8344 , 1.84222, 1.8514 , 1.8584 ,
251  1.86392, 1.8723 , 1.88251, 1.8959, 1.90567, 1.92604, 1.93911, 1.95036, 1.96867, 1.97804,
252  1.9905 , 1.99755, 2.00821, 2.0146, 2.03435, 2.05705, 2.08078, 2.10021, 2.12912, 2.14333};
253 
254  // Reflectivity obtained from
255  // https://amostech.com/TechnicalPapers/2018/Poster/Bengtson.pdf
256  double kapton_REFL[] = {0.502195 , 0.473894 , 0.446164 , 0.413816 , 0.375095 , 0.336845 , 0.293879 , 0.239299 , 0.200573 , 0.141596 ,
257  0.0949924 , 0.0590249 , 0.0353952 , 0.0206475 , 0.01305 , 0.00915075, 0.00722501, 0.00551299, 0.00552271, 0.00553177,
258  0.00554062, 0.00554942, 0.00555642, 0.00556579, 0.0083157, 0.011944 , 0.0172255 , 0.0225071 , 0.0277887 , 0.0330702 ,
259  0.0383518 , 0.0436334 , 0.0489149 , 0.0541965 , 0.0594781, 0.0647597 , 0.0700412 , 0.0753228 , 0.0806044 , 0.0858859 ,
260  0.0911675 , 0.0964491 , 0.101731 , 0.107012 , 0.112294 , 0.117575 , 0.122857 , 0.128139 , 0.13342 , 0.138702 };
261 
262  // Absorption length obtained from
263  // https://pubs.rsc.org/fa/content/articlehtml/2018/ra/c7ra12101f
264  double kapton_ABSL[] = {0.00867389 * cm, 0.00842316 * cm, 0.00818715 * cm, 0.00798542 * cm, 0.00774517 * cm, 0.00751684 * cm, 0.00729959 * cm, 0.00709258 * cm, 0.00685686 * cm, 0.0066337 * cm,
265  0.00642212 * cm, 0.00616231 * cm, 0.00587855 * cm, 0.00561968 * cm, 0.00541849 * cm, 0.0052337 * cm, 0.00504545 * cm, 0.00487671 * cm, 0.00474623 * cm, 0.00461459 * cm,
266  0.00449314 * cm, 0.00437628 * cm, 0.0042637 * cm, 0.00413695 * cm, 0.00401798 * cm, 0.00382827 * cm, 0.003625 * cm, 0.00335813 * cm, 0.00303474 * cm, 0.00264672 * cm,
267  0.00226016 * cm, 0.00185863 * cm, 0.00146109 * cm, 0.00116967 * cm, 0.000901973 * cm, 0.000721492 * cm, 0.000559526 * cm, 0.000463349 * cm, 0.00034795 * cm, 0.000317447 * cm,
268  0.000317447 * cm, 0.000317447 * cm, 0.000317447 * cm, 0.000317447 * cm, 0.000317447 * cm, 0.000317447 * cm, 0.000317447 * cm, 0.000317447 * cm, 0.000317447 * cm, 0.000317447 * cm};
269 
270  // Kapton
272  kaptonMPT->AddProperty("RINDEX" , photonEnergy, kapton_RIND, nEntries);
273  kaptonMPT->AddProperty("ABSLENGTH" , photonEnergy, kapton_ABSL, nEntries);
274  kaptonMPT->AddProperty("REFLECTIVITY", photonEnergy, kapton_REFL, nEntries);
275  OpKapton->SetMaterialPropertiesTable(kaptonMPT);
276  OpKapton->lock();
277  materialManager->addMaterial("ZDC", OpKapton);
278 
279  // Absorber composition: savannah.cern.ch/task/download.php?file_id=22925
280  GeoMaterial *Tungsten = new GeoMaterial("ZDC::Tungsten", 18.155 * GeoModelKernelUnits::g / Gaudi::Units::cm3);
281  Tungsten->add(Tung , 0.948);
282  Tungsten->add(Nickel, 0.037);
283  Tungsten->add(Iron , 0.015);
284  Tungsten->lock();
285  materialManager->addMaterial("ZDC", Tungsten);
286 
287  // ZDC housing material
288  GeoMaterial *Steel = new GeoMaterial("ZDC::Steel", 7.9 * GeoModelKernelUnits::g / Gaudi::Units::cm3);
289  Steel->add(Iron , 0.98);
290  Steel->add(Carbon, 0.02);
291  Steel->lock();
292  materialManager->addMaterial("ZDC", Steel);
293 
294 }

◆ create()

void ZDC_DetFactory::create ( GeoPhysVol *  world)
overridevirtual

Definition at line 82 of file ZDC_DetFactory.cxx.

83 {
85  MsgStream LogStream(Athena::getMessageSvc(), "ZDC_DetectorFactory::create");
86 
87  StoredMaterialManager *theMaterialManager;
88  if (StatusCode::SUCCESS != m_detectorStore->retrieve(theMaterialManager, "MATERIALS")) {
89  MsgStream LogStream(Athena::getMessageSvc(), "ZDC_DetectorFactory::create");
90  LogStream << MSG::ERROR << "execute: Could not retrieve StoredMaterialManager object from the detector store" << endmsg;
91  return;
92  }
93 
94  buildMaterials(theMaterialManager);
95 
96  //Create the TAN/TAXN slot
97  const GeoMaterial *Air = theMaterialManager->getMaterial("std::Air");
98  GeoBox *Envelope_Box = new GeoBox(91 * Gaudi::Units::mm * 0.5, 181 * Gaudi::Units::mm * 0.5, 94.3 * Gaudi::Units::cm * 0.5);
99  GeoLogVol *Envelope_Logical = new GeoLogVol("Envelope_Logical", Envelope_Box, Air);
100 
101  char volName[256];
102  for(int side : {0, 1}){
103  int sideSign = (side == 0) ? -1 : 1;
104  GeoFullPhysVol *Envelope_Physical = new GeoFullPhysVol(Envelope_Logical);
105 
106  /*************************************************
107  * Place ZDC modules
108  **************************************************/
109  for(int module = 0; module < 4; ++module){
110  if(!m_zdcOn[side][module]) continue;
112  zdcMod->create(Envelope_Physical, new GeoAlignableTransform(GeoTrf::TranslateZ3D(m_zdcPos[side][module] * Gaudi::Units::mm)));
113  }
114 
115  /*************************************************
116  * Place RPD
117  **************************************************/
118  if(m_RPDs_On){
119  ZDC_RPDModule *rpdMod = new ZDC_RPDModule(m_detectorStore, sideSign, 4, m_zdcID);
120  rpdMod->create(Envelope_Physical, m_rpdPos[side]);
121  }
122 
123  /*************************************************
124  * Place BRAN
125  **************************************************/
126  if(m_BRANs_On){
127  ZDC_BRANModule *branMod = new ZDC_BRANModule(m_detectorStore, sideSign, 5, m_zdcID);
128  branMod->create(Envelope_Physical, new GeoAlignableTransform(GeoTrf::TranslateZ3D(m_branPos[side] * Gaudi::Units::mm)));
129  }
130 
131  /*************************************************
132  * Place TAN/TAXN slot
133  **************************************************/
134  sprintf(volName, "Zdc::ZDC_Air_Envelope %c", (side == 0) ? 'C' : 'A');
135  world->add(new GeoNameTag(volName));
136  world->add(new GeoIdentifierTag(m_zdcID->channel_id(sideSign, 0, ZdcIDType::INACTIVE,ZdcIDVolChannel::AIR).get_identifier32().get_compact()));
137  world->add(new GeoAlignableTransform(GeoTrf::TranslateZ3D(sideSign*141.580 * CLHEP::m)));
138  if(side == 0) world->add(new GeoAlignableTransform(GeoTrf::RotateY3D(180 * Gaudi::Units::deg)));
139  world->add(Envelope_Physical);
140 
141  m_detectorManager->addTreeTop(Envelope_Physical);
142  }
143 }

◆ getDetectorManager()

const ZDC_DetManager * ZDC_DetFactory::getDetectorManager ( ) const
overridevirtual

Definition at line 296 of file ZDC_DetFactory.cxx.

296 { return m_detectorManager; }

◆ initializePbPb2015()

void ZDC_DetFactory::initializePbPb2015 ( )

Definition at line 58 of file ZDC_DetFactory.cxx.

58  {
59  m_RPDs_On = false; //Flag for both RPD modules
60  m_zdcOn = {{true, true, true, true}, //If the given ZDC is on
61  {true, true, true, true}};
62  m_zdcPos = {{-397.0, -27.0, 153.0, 303.0}, //Positions of the ZDC modules
63  {-397.0, -27.0, 153.0, 303.0}};
64  m_zdcModType = {{3,2,1,1}, //Module types of the ZDC modules
65  {1,2,1,1}};
66 }

◆ initializePbPb2023()

void ZDC_DetFactory::initializePbPb2023 ( )

Definition at line 68 of file ZDC_DetFactory.cxx.

68  {
69  m_RPDs_On = true; //Flag for both RPD modules
70  m_BRANs_On = true; //Flag for both BRAN modules
71  m_zdcOn = {{true, true, true, true}, //If the given ZDC is on
72  {true, true, true, true}};
73  m_zdcPos = {{-344, 52.15, 220.8, 375.8},
74  {-325.5, 20.15, 188.8, 343.8}};
75  m_zdcModType = {{3,2,1,1}, //Module types of the ZDC modules
76  {1,2,1,1}};
77  m_rpdPos = {new GeoAlignableTransform(GeoTrf::Translate3D(2.012 * Gaudi::Units::mm, 21.388 * Gaudi::Units::mm, -178.0 * Gaudi::Units::mm)),
78  new GeoAlignableTransform(GeoTrf::Translate3D(1.774 * Gaudi::Units::mm, 21.344 * Gaudi::Units::mm, -210.0 * Gaudi::Units::mm))};
79  m_branPos = {-89.5, -121.5};
80 }

◆ 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 }

◆ 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 }

◆ 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_branPos

std::vector< float > ZDC_DetFactory::m_branPos
private

Definition at line 49 of file ZDC_DetFactory.h.

◆ m_BRANs_On

bool ZDC_DetFactory::m_BRANs_On {}
private

Definition at line 44 of file ZDC_DetFactory.h.

◆ m_detectorManager

ZDC_DetManager* ZDC_DetFactory::m_detectorManager {}
private

Definition at line 40 of file ZDC_DetFactory.h.

◆ m_detectorStore

StoreGateSvc* ZDC_DetFactory::m_detectorStore {}
private

Definition at line 41 of file ZDC_DetFactory.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_rpdPos

std::vector< GeoAlignableTransform* > ZDC_DetFactory::m_rpdPos
private

Definition at line 48 of file ZDC_DetFactory.h.

◆ m_RPDs_On

bool ZDC_DetFactory::m_RPDs_On {}
private

Definition at line 43 of file ZDC_DetFactory.h.

◆ m_zdcID

const ZdcID* ZDC_DetFactory::m_zdcID {}
private

Definition at line 42 of file ZDC_DetFactory.h.

◆ m_zdcModType

std::vector< std::vector< int > > ZDC_DetFactory::m_zdcModType
private

Definition at line 47 of file ZDC_DetFactory.h.

◆ m_zdcOn

std::vector< std::vector< bool > > ZDC_DetFactory::m_zdcOn
private

Definition at line 45 of file ZDC_DetFactory.h.

◆ m_zdcPos

std::vector< std::vector< float > > ZDC_DetFactory::m_zdcPos
private

Definition at line 46 of file ZDC_DetFactory.h.


The documentation for this class was generated from the following files:
AthMessaging::m_lvl
std::atomic< MSG::Level > m_lvl
Current logging level.
Definition: AthMessaging.h:138
ZDC_DetFactory::m_rpdPos
std::vector< GeoAlignableTransform * > m_rpdPos
Definition: ZDC_DetFactory.h:48
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
ZDC_DetFactory::m_detectorManager
ZDC_DetManager * m_detectorManager
Definition: ZDC_DetFactory.h:40
python.PhysicalConstants.STP_Temperature
float STP_Temperature
Definition: PhysicalConstants.py:119
GeoMaterialPropertiesTable::AddProperty
void AddProperty(const char *key, double *PhotonMomenta, double *PropertyValues, int NumEntries)
Definition: GeoMaterialPropertiesTable.cxx:31
ZDC_DetManager
Definition: ZDC_DetManager.h:13
ZDC_DetManager::addTreeTop
void addTreeTop(PVLink)
Definition: ZDC_DetManager.cxx:36
StoredMaterialManager::getElement
virtual const GeoElement * getElement(const std::string &name)=0
cm3
#define cm3
ZDC_RPDModule::create
virtual void create(GeoFullPhysVol *mother, GeoAlignableTransform *trf) override
Definition: ZDC_RPDModule.cxx:26
deg
#define deg
Definition: SbPolyhedron.cxx:17
ZDC_BRANModule
Definition: ZDC_BRANModule.h:10
stateSolid
@ stateSolid
Definition: GeoExtendedMaterial.h:25
GeoExtendedMaterial::SetMaterialPropertiesTable
void SetMaterialPropertiesTable(GeoMaterialPropertiesTable *MPT)
Definition: GeoExtendedMaterial.h:73
AIR
@ AIR
Definition: ZdcID.h:22
ZDC_ZDCModule::create
virtual void create(GeoFullPhysVol *mother, GeoAlignableTransform *trf) override
Definition: ZDC_ZDCModule.cxx:46
AthMessaging::m_imsg
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
Definition: AthMessaging.h:135
python.SystemOfUnits.ms
int ms
Definition: SystemOfUnits.py:132
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*.
ZdcID::channel_id
Identifier channel_id(int side, int module, int type, int channel) const
Definition: ZdcID.h:205
TRT::Hit::side
@ side
Definition: HitInfo.h:83
Trk::DetectorElemType::Silicon
@ Silicon
cm
const double cm
Definition: Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/FCAL_ChannelMap.cxx:25
python.PyAthena.module
module
Definition: PyAthena.py:134
stateGas
@ stateGas
Definition: GeoExtendedMaterial.h:25
AthMessaging::AthMessaging
AthMessaging()
Default constructor:
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
ZDC_DetFactory::m_branPos
std::vector< float > m_branPos
Definition: ZDC_DetFactory.h:49
Identifier32::get_compact
value_type get_compact(void) const
Get the compact id.
Definition: Identifier32.h:171
lumiFormat.i
int i
Definition: lumiFormat.py:92
python.CaloCondTools.g
g
Definition: CaloCondTools.py:15
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
StoredMaterialManager::addMaterial
virtual void addMaterial(const std::string &space, GeoMaterial *material)=0
ZDC_DetFactory::m_zdcID
const ZdcID * m_zdcID
Definition: ZDC_DetFactory.h:42
ZDC_BRANModule::create
virtual void create(GeoFullPhysVol *mother, GeoAlignableTransform *trf) override
Definition: ZDC_BRANModule.cxx:33
AthMessaging::msg
MsgStream & msg() const
The standard message stream.
Definition: AthMessaging.h:164
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
ZDC_RPDModule
Definition: ZDC_RPDModule.h:10
python.SystemOfUnits.eV
int eV
Definition: SystemOfUnits.py:155
ZDC_ZDCModule
Definition: ZDC_ZDCModule.h:10
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
ZDC_DetFactory::m_RPDs_On
bool m_RPDs_On
Definition: ZDC_DetFactory.h:43
ZDC_DetFactory::m_zdcModType
std::vector< std::vector< int > > m_zdcModType
Definition: ZDC_DetFactory.h:47
AthMessaging::m_nm
std::string m_nm
Message source name.
Definition: AthMessaging.h:129
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
LArCellBinning.step
step
Definition: LArCellBinning.py:158
ZDC_DetFactory::buildMaterials
void buildMaterials(StoredMaterialManager *materialManager)
Definition: ZDC_DetFactory.cxx:145
GeoMaterialPropertiesTable
Definition: GeoMaterialPropertiesTable.h:20
AthMessaging::initMessaging
void initMessaging() const
Initialize our message level and MessageSvc.
Definition: AthMessaging.cxx:39
Identifier::get_identifier32
Identifier32 get_identifier32(void) const
Get the 32-bit version Identifier, will be invalid if >32 bits needed.
ZDC_DetFactory::m_zdcPos
std::vector< std::vector< float > > m_zdcPos
Definition: ZDC_DetFactory.h:46
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
ZDC_DetFactory::m_BRANs_On
bool m_BRANs_On
Definition: ZDC_DetFactory.h:44
dqBeamSpot.nEntries
int nEntries
Definition: dqBeamSpot.py:73
INACTIVE
@ INACTIVE
Definition: ZdcID.h:21
ZDC_DetFactory::m_detectorStore
StoreGateSvc * m_detectorStore
Definition: ZDC_DetFactory.h:41
ZDC_DetFactory::m_zdcOn
std::vector< std::vector< bool > > m_zdcOn
Definition: ZDC_DetFactory.h:45
GeoExtendedMaterial
Definition: GeoExtendedMaterial.h:28