CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
MaterialProperties Class Reference

#include <MaterialProperties.h>

Public Member Functions

 MaterialProperties (int DebugLevel, double SiAbsLengthScale)
 constructor More...
 
 ~MaterialProperties ()
 destructor More...
 

Private Member Functions

void setMaterialProperties ()
 define optical properties of materials in the detector More...
 

Private Attributes

const G4MaterialTable * theMaterialTable
 
int theMPDebugLevel
 
G4MaterialPropertiesTable * theMPT
 
double theSiAbsLengthScalingFactor
 
G4Material * theTECWafer
 
G4Material * theTIBWafer
 
G4Material * theTOBWafer
 

Detailed Description

Class to define custom material properties

Date:
2007/03/20 12:01:00
Revision:
1.2
Author
Maarten Thomas

Definition at line 15 of file MaterialProperties.h.

Constructor & Destructor Documentation

MaterialProperties::MaterialProperties ( int  DebugLevel,
double  SiAbsLengthScale 
)

constructor

Definition at line 14 of file MaterialProperties.cc.

References g, setMaterialProperties(), theMPDebugLevel, theSiAbsLengthScalingFactor, theTECWafer, theTIBWafer, and theTOBWafer.

17  theMPT(),
19 {
20  theMPDebugLevel = DebugLevel;
21  theSiAbsLengthScalingFactor = SiAbsLengthScale;
22  /* *********************************************************************** */
23  /*
24  define the materials for the sensitive detectors in TEC, TIB and TOB
25  we need this to specify different properties for Barrel and Endcap
26  detectors, which is by default no longer possible in CMSSW due to
27  the fact that all modules are made out of the same G4Material
28  */
29  /* *********************************************************************** */
30  G4double theDensity = 2.33*g/cm3;
31  G4double theAtomicWeight = 28.09*g/mole;
32  G4double theAtomicNumber = 14.0;
33 
34  theTECWafer = new G4Material("TEC_Wafer", theAtomicNumber, theAtomicWeight, theDensity);
35  theTOBWafer = new G4Material("TOB_Wafer", theAtomicNumber, theAtomicWeight, theDensity);
36  theTIBWafer = new G4Material("TIB_Wafer", theAtomicNumber, theAtomicWeight, theDensity);
37 
38  // set the properties of the materials
40 }
G4MaterialPropertiesTable * theMPT
G4Material * theTOBWafer
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
Definition: Activities.doc:4
void setMaterialProperties()
define optical properties of materials in the detector
G4Material * theTECWafer
G4Material * theTIBWafer
const G4MaterialTable * theMaterialTable
MaterialProperties::~MaterialProperties ( )

destructor

Definition at line 42 of file MaterialProperties.cc.

References theMPT, theTECWafer, theTIBWafer, and theTOBWafer.

43 {
44  if ( theMPT != 0 ) { delete theMPT; }
45  if ( theTECWafer != 0 ) { delete theTECWafer; }
46  if ( theTOBWafer != 0 ) { delete theTOBWafer; }
47  if ( theTIBWafer != 0 ) { delete theTIBWafer; }
48 }
G4MaterialPropertiesTable * theMPT
G4Material * theTOBWafer
G4Material * theTECWafer
G4Material * theTIBWafer

Member Function Documentation

void MaterialProperties::setMaterialProperties ( )
private

define optical properties of materials in the detector

Definition at line 51 of file MaterialProperties.cc.

References gather_cfg::cout, LogDebug, m, theMaterialTable, theMPDebugLevel, theMPT, theTECWafer, theTIBWafer, and theTOBWafer.

Referenced by MaterialProperties().

52 {
53  /* *********************************************************************** */
54  /*
55  use this function to define material properties (like refraction
56  index, absorptionlenght and so on) and add them to the
57  MaterialPropertiesTable. Finally set the MPT to a give Material.
58  */
59  /* *********************************************************************** */
60 
61  // get the MaterialTable as it is defined in OSCAR (CMSSW now)
62  theMaterialTable = G4Material::GetMaterialTable();
63 
64  /* *********************************************************************** */
65  /*
66  with the following code one can access the MaterialTable defined in
67  OSCAR. This contains all the materials needed for the CMS detector,
68  which are defined in the Geometry and DDD packages. COBRA takes care
69  of the proper conversion between a DDMaterial and a G4Material.
70  */
71  /* *********************************************************************** */
72 
73 // if (theMPDebugLevel > 1)
74 // {
75  // print the materialtable
76  LogDebug("SimLaserAlignment:MaterialProperties") << " **** here comes the material table **** "
77  << *(G4Material::GetMaterialTable());
78 // }
79 
80  // define the MateriapropertiesTable for the Sensitive Regions in the Tracker
81  // TOB_Wafer, TOB_Silicon, TID_Wafer, TIB_Wafer and TEC_Wafer
82 
83  const G4int nEntries = 3;
84 
85  // Photon energies
86  G4double PhotonEnergy[nEntries] = { 1.10 * eV, 1.15 * eV, 1.20 * eV };
87 
88  // scintillation
89  G4double Scintillation[nEntries] = { 0.1, 1.0, 0.1 };
90 
91  // Refractive Index
92  G4double RefractiveIndex[nEntries] = { 3.5400, 3.5425, 3.5450 };
93  // Refractive Index of the Mirrors (BK7)
94  G4double RefractiveIndexMirror[nEntries] = { 1.50669, 1.50669, 1.50669 };
95 
96  /* *********************************************************************** */
97  /* set the refractive index for the other materials to 1.0. This is *
98  * needed to propagate the optical photons through the detector according *
99  * to Peter Gumplinger. */
100  /* *********************************************************************** */
101  G4double RefractiveIndexGeneral[nEntries] = { 1.0, 1.0, 1.0 };
102 
103  // Absorption Length
104  // G4double AbsorptionLengthSi[nEntries] = { 198.8 * micrometer, 198.8 * micrometer, 198.8 * micrometer }; ///////////////////////////////////
105  G4double AbsorptionLengthSi[nEntries] = { 1136 * micrometer, 1136 * micrometer, 1136 * micrometer };
106 
107  G4double AbsorptionLengthSiBarrel[nEntries] = { 0.1 * fermi,
108  0.1 * fermi,
109  0.1 * fermi };
110 
111 
112  // Absorption length of the mirrors
113  G4double AbsorptionLengthMirror[nEntries] = { 11.7 * cm, 0.5 * 11.7 * cm, 11.7 * cm };
114 
115  // Absorption Length for dead material in the tracker; set to small values
116  // to kill the optical photons outside the TEC. Maybe this is later a problem
117  // when implementing Ray 1 to connect both TECs which eachother and with TIB
118  // and TOB!??
119  G4double AbsorptionLengthDead[nEntries] = { 0.001 * micrometer, 0.001 * micrometer,
120  0.001 * micrometer };
121 
122  // Absorption Length of the other Materials in the Tracker
123  G4double AbsorptionLengthGeneral[nEntries] = { 75 * cm, 75 * cm, 75 * cm };
124 
125  // Absorption Length of the Air in the Tracker
126  G4double AbsorptionLengthTAir[nEntries] = { 10 * m, 1.8 * m, 10 * m };
127 
128  G4double AbsorptionLengthAl[nEntries] = { 10 * mm, 10 * mm, 10 * mm};
129  G4double AbsorptionLengthTOB_CF_Str[nEntries] = { 1 * cm, 10 * cm, 1 * cm };
130  G4double AbsorptionLengthTOBCF[nEntries] = { 0.1 * mm, 20 * mm, 0.1 * mm };
131  G4double AbsorptionLengthTIBCF[nEntries] = { 15.0 * cm, 15.0 * cm, 15.0 * cm };
132 
133  // Reflectivity of the modules
134  G4double SiReflectivity[nEntries] = { 0.0, 0.0, 0.0 };
135 
136  // Efficiency of the modules
137  G4double TECEfficiency[nEntries] = { 0.9, 0.9, 0.9 };
138  G4double BarrelEfficiency[nEntries] = { 1.0, 1.0, 1.0 };
139 
140  // Reflectivity of the mirrors in the Alignment Tubes
141  G4double Reflectivity[nEntries] = { 0.05, 0.05, 0.05 };
142 
143  /* *********************************************************************** */
144 
145  /* *********************************************************************** */
146  /*
147  define the materials for the sensitive detectors in TEC, TIB and TOB
148  we need this to specify different properties for Barrel and Endcap
149  detectors, which is by default no longer possible in CMSSW due to
150  the fact that all modules are made out of the same G4Material
151  */
152  /* *********************************************************************** */
153 
154  // set the options for the materials
155  {
156  for(G4MaterialTable::const_iterator theMTEntry = theMaterialTable->begin();
157  theMTEntry != theMaterialTable->end(); theMTEntry++)
158  {
159  if(*theMTEntry)
160  {
161  G4Material * theMaterial = const_cast<G4Material*>(*theMTEntry);
162 
163  if (theMaterial->GetMaterialPropertiesTable())
164  {
165  theMPT = theMaterial->GetMaterialPropertiesTable();
166  }
167  else
168  {
169  theMPT = new G4MaterialPropertiesTable;
170  }
171 
172  // properties of the TEC_Wafer
173  if ( theMaterial->GetName() == "TEC_Wafer" )
174  {
175  theMPT->AddProperty("FASTCOMPONENT", PhotonEnergy, Scintillation, nEntries);
176  theMPT->AddProperty("SLOWCOMPONENT", PhotonEnergy, Scintillation, nEntries);
177  theMPT->AddProperty("RINDEX", PhotonEnergy, RefractiveIndex, nEntries);
178  theMPT->AddProperty("ABSLENGTH", PhotonEnergy, AbsorptionLengthSi, nEntries);
179  theMPT->AddProperty("EFFICIENCY", PhotonEnergy, TECEfficiency, nEntries);
180 
181  theMPT->AddConstProperty("SCINTILLATIONYIELD", 12000.0/MeV);
182  theMPT->AddConstProperty("RESOLTUIONSCALE", 1.0);
183  theMPT->AddConstProperty("FASTTIMECONSTANT", 20.0 * ns);
184  theMPT->AddConstProperty("SLOWTIMECONSTANT", 45.0 * ns);
185  theMPT->AddConstProperty("YIELDRATIO", 1.0);
186 
187  // set the MaterialPropertiesTable
188  theMaterial->SetMaterialPropertiesTable(theMPT);
189  }
190 
191  // properties of Silicon (used as Module Material in CMSSW)
192  else if ( theMaterial->GetName() == "Silicon" )
193  {
194  theMPT->AddProperty("FASTCOMPONENT", PhotonEnergy, Scintillation, nEntries);
195  theMPT->AddProperty("SLOWCOMPONENT", PhotonEnergy, Scintillation, nEntries);
196  theMPT->AddProperty("RINDEX", PhotonEnergy, RefractiveIndex, nEntries);
197  theMPT->AddProperty("ABSLENGTH", PhotonEnergy, AbsorptionLengthSi, nEntries);
198  theMPT->AddProperty("EFFICIENCY", PhotonEnergy, TECEfficiency, nEntries);
199 
200  theMPT->AddConstProperty("SCINTILLATIONYIELD", 12000.0/MeV);
201  theMPT->AddConstProperty("RESOLTUIONSCALE", 1.0);
202  theMPT->AddConstProperty("FASTTIMECONSTANT", 20.0 * ns);
203  theMPT->AddConstProperty("SLOWTIMECONSTANT", 45.0 * ns);
204  theMPT->AddConstProperty("YIELDRATIO", 1.0);
205 
206  // set the MaterialPropertiesTable
207  theMaterial->SetMaterialPropertiesTable(theMPT);
208  }
209 
210  // properties of the TOB_Wafer, TOB_Silicon, TIB_Wafer
211  else if ( ( theMaterial->GetName() == "TOB_Wafer" ) ||
212  ( theMaterial->GetName() == "TIB_Wafer" ) )
213  {
214  theMPT->AddProperty("FASTCOMPONENT", PhotonEnergy, Scintillation, nEntries);
215  theMPT->AddProperty("SLOWCOMPONENT", PhotonEnergy, Scintillation, nEntries);
216  theMPT->AddProperty("RINDEX", PhotonEnergy, RefractiveIndex, nEntries);
217  theMPT->AddProperty("ABSLENGTH", PhotonEnergy, AbsorptionLengthSiBarrel, nEntries);
218  theMPT->AddProperty("REFLECTIVITY", PhotonEnergy, SiReflectivity, nEntries);
219  theMPT->AddProperty("EFFICIENCY", PhotonEnergy, BarrelEfficiency, nEntries);
220 
221  theMPT->AddConstProperty("SCINTILLATIONYIELD", 12000.0/MeV);
222  theMPT->AddConstProperty("RESOLTUIONSCALE", 1.0);
223  theMPT->AddConstProperty("FASTTIMECONSTANT", 20.0 * ns);
224  theMPT->AddConstProperty("SLOWTIMECONSTANT", 45.0 * ns);
225  theMPT->AddConstProperty("YIELDRATIO", 1.0);
226 
227  // set the MaterialPropertiesTable
228  theMaterial->SetMaterialPropertiesTable(theMPT);
229  }
230 
231  // properties of the TIB_ledge_side
232  else if ( theMaterial->GetName() == "TIB_ledge_side" )
233  {
234  // set the refractive index
235  theMPT->AddProperty("RINDEX", PhotonEnergy, RefractiveIndexGeneral, nEntries);
236  theMPT->AddProperty("ABSLENGTH", PhotonEnergy, AbsorptionLengthGeneral, nEntries);
237 
238  // set the MaterialPropertiesTable
239  theMaterial->SetMaterialPropertiesTable(theMPT);
240  }
241 
242  // properties of air
243  else if ( ( theMaterial->GetName() == "T_Air" ) ||
244  ( theMaterial->GetName() == "Air" ) )
245  {
246  // set the refractive index
247  theMPT->AddProperty("RINDEX", PhotonEnergy, RefractiveIndexGeneral, nEntries);
248  // set the reflectivity
249  theMPT->AddProperty("REFLECTIVITY", PhotonEnergy, SiReflectivity, nEntries);
250  // set the absorptionlength
251  theMPT->AddProperty("ABSLENGTH", PhotonEnergy, AbsorptionLengthTAir, nEntries);
252 
253  // set the MaterialPropertiesTable
254  theMaterial->SetMaterialPropertiesTable(theMPT);
255  }
256 
257  // properties of some materials in the Barrel
258  // used to absorb photons to avoid hits in other TEC
259  else if ( ( theMaterial->GetName() == "TIB_connector" ) ||
260  ( theMaterial->GetName() == "TIB_cylinder" ) ||
261  ( theMaterial->GetName() == "TID_Connector" ) )
262  {
263  // set the refractive index
264  theMPT->AddProperty("RINDEX", PhotonEnergy, RefractiveIndexGeneral, nEntries);
265  // set the reflectivity
266  theMPT->AddProperty("REFLECTIVITY", PhotonEnergy, SiReflectivity, nEntries);
267  // set the absorptionlength
268  theMPT->AddProperty("ABSLENGTH", PhotonEnergy, AbsorptionLengthDead, nEntries);
269 
270  // set the MaterialPropertiesTable
271  theMaterial->SetMaterialPropertiesTable(theMPT);
272  }
273 
274  // properties of SiO2; used for the mirrors of the Alignment Tubes
275  else if ( theMaterial->GetName() == "Si O_2" )
276  {
277  // set the refractive index
278  theMPT->AddProperty("RINDEX", PhotonEnergy,RefractiveIndexMirror, nEntries);
279  //set the absorptionlength
280  theMPT->AddProperty("ABSLENGTH", PhotonEnergy, AbsorptionLengthMirror, nEntries);
281  // set the reflectivity
282  theMPT->AddProperty("REFLECTIVITY",PhotonEnergy,Reflectivity, nEntries);
283 
284  // set the MaterialPropertiesTable
285  theMaterial->SetMaterialPropertiesTable(theMPT);
286  }
287 
288  // properties of Aluminium
289  else if ( ( theMaterial->GetName() == "TOB_Aluminium" ) ||
290  ( theMaterial->GetName() == "Aluminium" ) )
291  {
292  // set the refractive index
293  theMPT->AddProperty("RINDEX", PhotonEnergy, RefractiveIndexGeneral, nEntries);
294  // set the reflectivity
295  theMPT->AddProperty("REFLECTIVITY", PhotonEnergy, SiReflectivity, nEntries);
296  // set the absorptionlength
297  theMPT->AddProperty("ABSLENGTH", PhotonEnergy, AbsorptionLengthAl, nEntries);
298 
299  // set the MaterialPropertiesTable
300  theMaterial->SetMaterialPropertiesTable(theMPT);
301  }
302 
303  // properties of TOB_CF_Str
304  else if ( ( theMaterial->GetName() == "TOB_CF_Str" ) )
305  {
306  // set the refractive index
307  theMPT->AddProperty("RINDEX", PhotonEnergy, RefractiveIndexGeneral, nEntries);
308  // set the reflectivity
309  theMPT->AddProperty("REFLECTIVITY", PhotonEnergy, SiReflectivity, nEntries);
310  // set the absorptionlength
311  theMPT->AddProperty("ABSLENGTH", PhotonEnergy, AbsorptionLengthTOB_CF_Str, nEntries);
312 
313  // set the MaterialPropertiesTable
314  theMaterial->SetMaterialPropertiesTable(theMPT);
315  }
316 
317  // some other Tracker materials
318  else if ( ( theMaterial->GetName() == "TID_CF" ) ||
319  ( theMaterial->GetName() == "Nomex" ) ||
320  ( theMaterial->GetName() == "TOB_Nomex" ) ||
321  ( theMaterial->GetName() == "TID_Nomex" ) ||
322  ( theMaterial->GetName() == "TOB_plate_C" ) ||
323  ( theMaterial->GetName() == "TOB_rod" ) ||
324  ( theMaterial->GetName() == "TOB_cool_DS" ) ||
325  ( theMaterial->GetName() == "TOB_cool_SS" ) ||
326  ( theMaterial->GetName() == "TID_in_cable" ) ||
327  ( theMaterial->GetName() == "TOB_PA_rphi" ) ||
328  ( theMaterial->GetName() == "TOB_frame_ele" ) ||
329  ( theMaterial->GetName() == "TOB_PA_ster" ) ||
330  ( theMaterial->GetName() == "TOB_ICB" ) ||
331  ( theMaterial->GetName() == "TOB_CONN1" ) ||
332  ( theMaterial->GetName() == "TOB_CONN2" ) ||
333  ( theMaterial->GetName() == "TOB_CONN3" ) ||
334  ( theMaterial->GetName() == "TOB_rail" ) ||
335  ( theMaterial->GetName() == "TOB_sid_rail1" ) ||
336  ( theMaterial->GetName() == "TOB_sid_rail2" ) )
337  {
338  // set the refractive index
339  theMPT->AddProperty("RINDEX", PhotonEnergy, RefractiveIndexGeneral, nEntries);
340  // set the reflectivity
341  theMPT->AddProperty("REFLECTIVITY", PhotonEnergy, SiReflectivity, nEntries);
342  // set the absorptionlength
343  theMPT->AddProperty("ABSLENGTH", PhotonEnergy, AbsorptionLengthTOBCF, nEntries);
344 
345  // set the MaterialPropertiesTable
346  theMaterial->SetMaterialPropertiesTable(theMPT);
347  }
348 
349  // properties of some TIB materials
350  else if ( ( theMaterial->GetName() == "TIB_CF" ) ||
351  ( theMaterial->GetName() == "TIB_cables_ax_out" ) ||
352  ( theMaterial->GetName() == "TIB_outer_supp" ) ||
353  ( theMaterial->GetName() == "TIB_PA_rphi" ) ||
354  ( theMaterial->GetName() == "TIB_rail" ) ||
355  ( theMaterial->GetName() == "TIB_sid_rail1" ) ||
356  ( theMaterial->GetName() == "TIB_sid_rail2" ) ||
357  ( theMaterial->GetName() == "TIB_mod_cool" ) )
358  {
359  // set the refractive index
360  theMPT->AddProperty("RINDEX", PhotonEnergy, RefractiveIndexGeneral, nEntries);
361  // set the reflectivity
362  theMPT->AddProperty("REFLECTIVITY", PhotonEnergy, SiReflectivity, nEntries);
363  // set the absorptionlength
364  theMPT->AddProperty("ABSLENGTH", PhotonEnergy, AbsorptionLengthTIBCF, nEntries);
365 
366  // set the MaterialPropertiesTable
367  theMaterial->SetMaterialPropertiesTable(theMPT);
368  }
369 
370  // properties of all other materials in the detector
371  else
372  {
373  // set the refractive index
374  theMPT->AddProperty("RINDEX", PhotonEnergy, RefractiveIndexGeneral, nEntries);
375  // set the absorptionlength
376  theMPT->AddProperty("ABSLENGTH", PhotonEnergy, AbsorptionLengthGeneral, nEntries);
377 
378  // set the MaterialPropertiesTable
379  theMaterial->SetMaterialPropertiesTable(theMPT);
380  }
381 
382  }
383  }
384  }
385 
386  // loop over the logical volumes and set the material for the sensitive detectors
387  const G4LogicalVolumeStore * theLogicalVolumeStore = G4LogicalVolumeStore::GetInstance();
388  std::vector<G4LogicalVolume*>::const_iterator theLogicalVolume;
389 
390  for ( theLogicalVolume = theLogicalVolumeStore->begin(); theLogicalVolume != theLogicalVolumeStore->end(); theLogicalVolume++ )
391  {
392  if ( ( (*theLogicalVolume)->GetName() == "TECModule0StereoActive" ) ||
393  ( (*theLogicalVolume)->GetName() == "TECModule0RphiActive" ) ||
394  ( (*theLogicalVolume)->GetName() == "TECModule1StereoActive" ) ||
395  ( (*theLogicalVolume)->GetName() == "TECModule1RphiActive" ) ||
396  ( (*theLogicalVolume)->GetName() == "TECModule2RphiActive" ) ||
397  ( (*theLogicalVolume)->GetName() == "TECModule3RphiActive" ) ||
398  ( (*theLogicalVolume)->GetName() == "TECModule4StereoActive" ) ||
399  ( (*theLogicalVolume)->GetName() == "TECModule4RphiActive" ) ||
400  ( (*theLogicalVolume)->GetName() == "TECModule5RphiActive" ) ||
401  ( (*theLogicalVolume)->GetName() == "TECModule6RphiActive" ) )
402  {
403  // set the material
404  (*theLogicalVolume)->SetMaterial(theTECWafer);
405 
406  if (theMPDebugLevel > 2)
407  {
408  std::cout << " AC1CMS: found a logical volume: " << (*theLogicalVolume)->GetName() << std::endl;
409  std::cout << " AC1CMS: the logical volume material = " << (*theLogicalVolume)->GetMaterial()->GetName() << std::endl;
410  std::cout << " AC1CMS: the MaterialPropertiesTable = " << std::endl;
411  (*theLogicalVolume)->GetMaterial()->GetMaterialPropertiesTable()->DumpTable();
412  }
413  }
414  else if ( ( (*theLogicalVolume)->GetName() == "TOBActiveSter0" ) ||
415  ( (*theLogicalVolume)->GetName() == "TOBActiveRphi0" ) ||
416  ( (*theLogicalVolume)->GetName() == "TOBActiveRphi2" ) ||
417  ( (*theLogicalVolume)->GetName() == "TOBActiveRphi4" ) )
418  {
419  // set the material
420  (*theLogicalVolume)->SetMaterial(theTOBWafer);
421 
422  if (theMPDebugLevel > 2)
423  {
424  std::cout << " AC1CMS: found a logical volume: " << (*theLogicalVolume)->GetName() << std::endl;
425  std::cout << " AC1CMS: the logical volume material = " << (*theLogicalVolume)->GetMaterial()->GetName() << std::endl;
426  std::cout << " AC1CMS: the MaterialPropertiesTable = " << std::endl;
427  (*theLogicalVolume)->GetMaterial()->GetMaterialPropertiesTable()->DumpTable();
428  }
429  }
430  else if ( ( (*theLogicalVolume)->GetName() == "TIBActiveSter0" ) ||
431  ( (*theLogicalVolume)->GetName() == "TIBActiveRphi0" ) ||
432  ( (*theLogicalVolume)->GetName() == "TIBActiveRphi2" ) )
433  {
434  // set the material
435  (*theLogicalVolume)->SetMaterial(theTIBWafer);
436 
437  if (theMPDebugLevel > 2)
438  {
439  std::cout << " AC1CMS: found a logical volume: " << (*theLogicalVolume)->GetName() << std::endl;
440  std::cout << " AC1CMS: the logical volume material = " << (*theLogicalVolume)->GetMaterial()->GetName() << std::endl;
441  std::cout << " AC1CMS: the MaterialPropertiesTable = " << std::endl;
442  (*theLogicalVolume)->GetMaterial()->GetMaterialPropertiesTable()->DumpTable();
443  }
444  }
445  }
446 }
#define LogDebug(id)
G4MaterialPropertiesTable * theMPT
G4Material * theTOBWafer
G4Material * theTECWafer
G4Material * theTIBWafer
tuple cout
Definition: gather_cfg.py:41
const G4MaterialTable * theMaterialTable

Member Data Documentation

const G4MaterialTable* MaterialProperties::theMaterialTable
private

Definition at line 28 of file MaterialProperties.h.

Referenced by setMaterialProperties().

int MaterialProperties::theMPDebugLevel
private

Definition at line 31 of file MaterialProperties.h.

Referenced by MaterialProperties(), and setMaterialProperties().

G4MaterialPropertiesTable* MaterialProperties::theMPT
private

Definition at line 33 of file MaterialProperties.h.

Referenced by setMaterialProperties(), and ~MaterialProperties().

double MaterialProperties::theSiAbsLengthScalingFactor
private

Definition at line 32 of file MaterialProperties.h.

Referenced by MaterialProperties().

G4Material* MaterialProperties::theTECWafer
private
G4Material* MaterialProperties::theTIBWafer
private
G4Material* MaterialProperties::theTOBWafer
private