GGS(GenericGEANT4Simulation)Software  2.6.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 24 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 is (PDG 2010): 1.06 g / cm3
151  _PS = new G4Material(name = "PSMaterial", density, ncomponents = 2);
152  _PS->AddElement(_C, natoms = 8);
153  _PS->AddElement(_H, natoms = 8);
154 
155  density = 1.390 * g / cm3; // Mylar
156  _Mylar = new G4Material(name = "MylarMaterial", density, ncomponents = 3);
157  _Mylar->AddElement(_C, fractionmass = 0.6250159);
158  _Mylar->AddElement(_H, fractionmass = 0.4196011E-01);
159  _Mylar->AddElement(_O, fractionmass = 0.3330241);
160 
161 
162 
163 
164  //
165  // examples of vacuum
166  //
167  density = CLHEP::universe_mean_density; //from PhysicalConstants.h
168  pressure = 3.e-18 * pascal;
169  temperature = 2.73 * kelvin;
170  _Vacuum = new G4Material(name = "GalacticMaterial", z = 1., a = 1.01 * g / mole, density, kStateGas, temperature,
171  pressure);
172 
173 }
GGSMaterials::~GGSMaterials ( )

Destructor.

Delete GGSMaterials object.

Definition at line 180 of file GGSMaterials.cpp.

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

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