GGS(GenericGEANT4Simulation)Software  2.7.0
 All Data Structures Namespaces Files Functions Variables Typedefs Macros
Public Member Functions
GGSMaterials Class Reference

Definition of GGS materials. More...

#include <GGSMaterials.h>

Public Member Functions

 GGSMaterials ()
 Constructor. More...
 
 ~GGSMaterials ()
 Destructor. More...
 

Detailed Description

Definition of GGS materials.

This class is needed to define the materials used in the GGS detector.

Definition at line 22 of file GGSMaterials.h.

Constructor & Destructor Documentation

GGSMaterials::GGSMaterials ( )

Constructor.

Define the materials.

Define materials used in the detector construction.

Definition at line 19 of file GGSMaterials.cpp.

19  {
20 
21  G4String name, symbol;
22  G4double a, z, density;
23 
24  G4int ncomponents, natoms;
25  G4double fractionmass;
26  G4double temperature, pressure;
27 
28  //
29  // define Elements
30  //
31 
32  a = 1.01 * g / mole;
33  _H = new G4Element(name = "Hydrogen", symbol = "H", z = 1., a);
34 
35  a = 4.003 * g / mole;
36  _He = new G4Element(name = "Helium", symbol = "He", z = 2., a);
37 
38  a = 12.01 * g / mole;
39  _C = new G4Element(name = "Carbon", symbol = "C", z = 6., a);
40 
41  a = 14.006 * g / mole;
42  _N = new G4Element(name = "Nitrogen", symbol = "N", z = 7., a);
43 
44  a = 15.99 * g / mole;
45  _O = new G4Element(name = "Oxygen", symbol = "O", z = 8., a);
46 
47  a = 26.98 * g / mole;
48  _Al = new G4Element(name = "Aluminum", symbol = "Al", z = 13., a);
49 
50  a = 28.09 * g / mole;
51  _Si = new G4Element(name = "Silicon", symbol = "Si", z = 14., a);
52 
53  a = 55.845 * g / mole;
54  _Fe = new G4Element(name = "Iron", symbol = "Fe", z = 26., a);
55 
56  a = 58.69334 * g / mole;
57  _Ni = new G4Element(name = "Nickel", symbol = "Ni", z = 28., a);
58 
59  a = 63.546 * g / mole;
60  _Cu = new G4Element(name = "Copper", symbol = "Cu", z = 29., a);
61 
62  a = 72.64 * g / mole;
63  _Ge = new G4Element(name = "Germanium", symbol = "Ge", z = 32., a);
64 
65  a = 126.904 * g / mole;
66  _I = new G4Element(name = "Iodine", symbol = "I", z = 53., a);
67 
68  a = 132.905 * g / mole;
69  _Cs = new G4Element(name = "Cesium", symbol = "Cs", z = 55., a);
70 
71  a = 183.84 * g / mole;
72  _W = new G4Element(name = "Tungsten", symbol = "W", z = 74., a);
73 
74  a = 207.19 * g / mole;
75  _Pb = new G4Element(name = "Lead", symbol = "Pb", z = 82., a);
76 
77  a = 208.98 * g / mole;
78  _Bi = new G4Element(name = "Bismuth", symbol = "Bi", z = 83., a);
79 
80  //
81  // define simple materials
82  //
83 
84  density = 19.3 * g / cm3;
85  a = 183.84 * g / mole;
86  _Tungsten = new G4Material(name = "TungstenMaterial", z = 74., a, density);
87 
88  density = 0.1246e-2 * g / cm3; // from pamela ND
89  a = 3. * g / mole;
90  _He3 = new G4Material(name = "He3Material", z = 2., a, density);
91 
92  //
93  // define a material from elements. case 1: chemical molecule
94  //
95 
96  density = 4.53 * g / cm3;
97  _CsI = new G4Material(name = "CesiumIodideMaterial", density, ncomponents = 2);
98  _CsI->AddElement(_Cs, natoms = 5);
99  _CsI->AddElement(_I, natoms = 5);
100 
101  //
102  // define a material from elements. case 2: mixture by fractional mass
103  //
104 
105  density = 1.290 * mg / cm3;
106  _Air = new G4Material(name = "AirMaterial", density, ncomponents = 2);
107  _Air->AddElement(_N, fractionmass = 0.7);
108  _Air->AddElement(_O, fractionmass = 0.3);
109 
110  density = 2.700 * g / cm3;
111  _Aluminium = new G4Material(name = "AluminumMaterial", density, ncomponents = 1);
112  _Aluminium->AddElement(_Al, fractionmass = 1.);
113 
114  density = 2.333 * g / cm3;
115  _Silicon = new G4Material(name = "SiliconMaterial", density, ncomponents = 1);
116  _Silicon->AddElement(_Si, fractionmass = 1.);
117 
118  density = 7.87 * g / cm3;
119  _Iron = new G4Material(name = "IronMaterial", density, ncomponents = 1);
120  _Iron->AddElement(_Fe, fractionmass = 1.);
121 
122  density = 11.35 * g / cm3;
123  _Lead = new G4Material(name = "LeadMaterial", density, ncomponents = 1);
124  _Lead->AddElement(_Pb, fractionmass = 1.);
125 
126  density = 7.100 * g / cm3; // Bismuth Germanate
127  _BGO = new G4Material(name = "BGOMaterial", density, ncomponents = 3);
128  _BGO->AddElement(_Bi, natoms = 4);
129  _BGO->AddElement(_Ge, natoms = 3);
130  _BGO->AddElement(_O, natoms = 12);
131 
132  density = 8.3 * g / cm3; // Lead tungstate
133  _PWO = new G4Material(name = "PWOMaterial", density, ncomponents = 3);
134  _PWO->AddElement(_Pb, natoms = 1);
135  _PWO->AddElement(_W, natoms = 1);
136  _PWO->AddElement(_O, natoms = 4);
137 
138  density = 1.70000 * g / cm3; // PCB
139  _PCB = new G4Material(name = "PCBMaterial", density, ncomponents = 4);
140  _PCB->AddElement(_Si, fractionmass = 0.53);
141  _PCB->AddElement(_O, fractionmass = 0.3);
142  _PCB->AddElement(_C, fractionmass = 0.15);
143  _PCB->AddElement(_H, fractionmass = 0.2000000E-01);
144 
145  density = 1.032 * g / cm3; // PVT
146  _PVT = new G4Material(name = "PVTMaterial", density, ncomponents = 2);
147  _PVT->AddElement(_C, natoms = 9);
148  _PVT->AddElement(_H, natoms = 10);
149 
150  density = 1.035 * g / cm3; // PS This is an old value used for consistency with other simulations (Fluka). Newer value
151  // is (PDG 2010): 1.06 g / cm3
152  _PS = new G4Material(name = "PSMaterial", density, ncomponents = 2);
153  _PS->AddElement(_C, natoms = 8);
154  _PS->AddElement(_H, natoms = 8);
155 
156  density = 1.390 * g / cm3; // Mylar
157  _Mylar = new G4Material(name = "MylarMaterial", density, ncomponents = 3);
158  _Mylar->AddElement(_C, fractionmass = 0.6250159);
159  _Mylar->AddElement(_H, fractionmass = 0.4196011E-01);
160  _Mylar->AddElement(_O, fractionmass = 0.3330241);
161 
162  //
163  // examples of vacuum
164  //
165  density = CLHEP::universe_mean_density; // from PhysicalConstants.h
166  pressure = 3.e-18 * pascal;
167  temperature = 2.73 * kelvin;
168  _Vacuum =
169  new G4Material(name = "GalacticMaterial", z = 1., a = 1.01 * g / mole, density, kStateGas, temperature, pressure);
170 }
GGSMaterials::~GGSMaterials ( )

Destructor.

Delete GGSMaterials object.

Definition at line 177 of file GGSMaterials.cpp.

177  {
178 
179  // Elements
180  delete _H;
181  delete _He;
182  delete _C;
183  delete _N;
184  delete _O;
185  delete _Al;
186  delete _Si;
187  delete _Fe;
188  delete _Ni;
189  delete _Cu;
190  delete _I;
191  delete _Cs;
192  delete _W;
193  delete _Pb;
194  delete _Ge;
195  delete _Bi;
196 
197  // Materials
198  delete _Tungsten;
199  delete _He3;
200  delete _CsI;
201  delete _Air;
202  delete _Aluminium;
203  delete _Silicon;
204  delete _Iron;
205  delete _Lead;
206  delete _BGO;
207  delete _PWO;
208  delete _PVT;
209  delete _PS;
210  delete _PCB;
211  delete _Mylar;
212  delete _Vacuum;
213 }

The documentation for this class was generated from the following files: