Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/advanced/lAr_calorimeter/src/FCALMaterialConsultant.cc

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /examples/advanced/lAr_calorimeter/src/FCALMaterialConsultant.cc (Version 11.3.0) and /examples/advanced/lAr_calorimeter/src/FCALMaterialConsultant.cc (Version 10.0)


  1 //                                                  1 //
  2 // *******************************************      2 // ********************************************************************
  3 // * License and Disclaimer                         3 // * License and Disclaimer                                           *
  4 // *                                                4 // *                                                                  *
  5 // * The  Geant4 software  is  copyright of th      5 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
  6 // * the Geant4 Collaboration.  It is provided      6 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
  7 // * conditions of the Geant4 Software License      7 // * conditions of the Geant4 Software License,  included in the file *
  8 // * LICENSE and available at  http://cern.ch/      8 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
  9 // * include a list of copyright holders.           9 // * include a list of copyright holders.                             *
 10 // *                                               10 // *                                                                  *
 11 // * Neither the authors of this software syst     11 // * Neither the authors of this software system, nor their employing *
 12 // * institutes,nor the agencies providing fin     12 // * institutes,nor the agencies providing financial support for this *
 13 // * work  make  any representation or  warran     13 // * work  make  any representation or  warranty, express or implied, *
 14 // * regarding  this  software system or assum     14 // * regarding  this  software system or assume any liability for its *
 15 // * use.  Please see the license in the file      15 // * use.  Please see the license in the file  LICENSE  and URL above *
 16 // * for the full disclaimer and the limitatio     16 // * for the full disclaimer and the limitation of liability.         *
 17 // *                                               17 // *                                                                  *
 18 // * This  code  implementation is the result      18 // * This  code  implementation is the result of  the  scientific and *
 19 // * technical work of the GEANT4 collaboratio     19 // * technical work of the GEANT4 collaboration.                      *
 20 // * By using,  copying,  modifying or  distri     20 // * By using,  copying,  modifying or  distributing the software (or *
 21 // * any work based  on the software)  you  ag     21 // * any work based  on the software)  you  agree  to acknowledge its *
 22 // * use  in  resulting  scientific  publicati     22 // * use  in  resulting  scientific  publications,  and indicate your *
 23 // * acceptance of all terms of the Geant4 Sof     23 // * acceptance of all terms of the Geant4 Software license.          *
 24 // *******************************************     24 // ********************************************************************
 25 //                                                 25 //
 26 //   Author:           Mathieu Fontaine, Rachi     26 //   Author:           Mathieu Fontaine, Rachid Mazini
 27 //                     fontaine@lps.umontreal.     27 //                     fontaine@lps.umontreal.ca  Rachid.Mazini@cern.ch
 28 //                                                 28 //
 29 //   Language:         C++                         29 //   Language:         C++
 30 //   Tested on:        g++                         30 //   Tested on:        g++
 31 //   Prerequisites:    None                        31 //   Prerequisites:    None
 32 //   Purpose:          This is the place, wher     32 //   Purpose:          This is the place, where all the materials get defined.
 33 //                     Instead of coding those     33 //                     Instead of coding those materials locally, where they
 34 //                     are needed, it is much      34 //                     are needed, it is much easier to maintain, if we keep
 35 //                     all materials for a det     35 //                     all materials for a detector component in one place.
 36 //                     Everybody who needs som     36 //                     Everybody who needs some of these parameters, can
 37 //                     query the FCALMaterialC     37 //                     query the FCALMaterialConsultant.
 38 //                 --> This class is made a si     38 //                 --> This class is made a singleton by making the
 39 //                     constructor private and     39 //                     constructor private and hiding it behind the
 40 //                     construct() method, whi     40 //                     construct() method, which creates a first instance
 41 //                     if it does not exist. T     41 //                     if it does not exist. This is to prevent multiple
 42 //                     copies of this consulta     42 //                     copies of this consultant with potentially different
 43 //                     contents (once the data     43 //                     contents (once the data is loaded from files and/or
 44 //                     can be changed by user      44 //                     can be changed by user interaction).
 45 //                 --> The method Material is      45 //                 --> The method Material is provided to access to the data
 46 //                     stored, a routine ShowM     46 //                     stored, a routine ShowMeAllYouKnow can be queried to
 47 //                     dump the entire knowled     47 //                     dump the entire knowledge of this consultant.
 48 //                                                 48 //
 49 //                   * Ideas on how the theFCA     49 //                   * Ideas on how the theFCALMaterialConsultant pointer
 50 //                     is made static are borr     50 //                     is made static are borrowed from G4VisManager.
 51 //                                                 51 //
 52 //--------------------------------------------     52 //----------------------------------------------------------------------------------
 53                                                    53 
 54 #include "FCALMaterialConsultant.hh"               54 #include "FCALMaterialConsultant.hh"
 55                                                    55 
 56 #include "globals.hh"                              56 #include "globals.hh"
 57 #include "G4PhysicalConstants.hh"                  57 #include "G4PhysicalConstants.hh"
 58 #include "G4SystemOfUnits.hh"                      58 #include "G4SystemOfUnits.hh"
 59                                                    59 
 60 FCALMaterialConsultant *FCALMaterialConsultant     60 FCALMaterialConsultant *FCALMaterialConsultant::theFCALMaterialConsultant = NULL;
 61                                                    61 
 62 FCALMaterialConsultant::FCALMaterialConsultant     62 FCALMaterialConsultant::FCALMaterialConsultant()
 63 {                                                  63 {
 64   G4double a,z,density,fractionmass;               64   G4double a,z,density,fractionmass;
 65   G4String name,symbol;                            65   G4String name,symbol;
 66   G4int nel,natoms;                                66   G4int nel,natoms;
 67                                                    67 
 68   //------------                                   68   //------------
 69   // elements                                      69   // elements
 70   //------------                                   70   //------------
 71                                                    71 
 72   a=1.01*g/mole;                                   72   a=1.01*g/mole;
 73   elH=new G4Element(name="Hydrogen",symbol="H2     73   elH=new G4Element(name="Hydrogen",symbol="H2",z=1.,a);
 74                                                    74 
 75   a=2.01*g/mole;                                   75   a=2.01*g/mole;
 76   elD=new G4Element(name="Deuterium",symbol="D     76   elD=new G4Element(name="Deuterium",symbol="D",z=1.,a);
 77                                                    77 
 78   a=4.*g/mole;                                     78   a=4.*g/mole;
 79   elHe=new G4Element(name="Helium",symbol="He"     79   elHe=new G4Element(name="Helium",symbol="He",z=2.,a);
 80                                                    80 
 81   a=6.94*g/mole;                                   81   a=6.94*g/mole;
 82   elLi=new G4Element(name="Lithium",symbol="Li     82   elLi=new G4Element(name="Lithium",symbol="Li",z=3.,a);
 83                                                    83 
 84   a=9.01*g/mole;                                   84   a=9.01*g/mole;
 85   elBe=new G4Element(name="Berillium",symbol="     85   elBe=new G4Element(name="Berillium",symbol="Be",z=4.,a);
 86                                                    86 
 87   a=12.01*g/mole;                                  87   a=12.01*g/mole;
 88   elC=new G4Element(name="Carbon",symbol="C",z     88   elC=new G4Element(name="Carbon",symbol="C",z=6.,a);
 89                                                    89 
 90   a=14.01*g/mole;                                  90   a=14.01*g/mole;
 91   elN=new G4Element(name="Nitrogen",symbol="N2     91   elN=new G4Element(name="Nitrogen",symbol="N2",z=7.,a);
 92                                                    92 
 93   a=16.*g/mole;                                    93   a=16.*g/mole;
 94   elO=new G4Element(name="Oxygen",symbol="O2",     94   elO=new G4Element(name="Oxygen",symbol="O2",z=8.,a);
 95                                                    95 
 96   a=20.18*g/mole;                                  96   a=20.18*g/mole;
 97   elNe=new G4Element(name="Neon",symbol="Ne",z     97   elNe=new G4Element(name="Neon",symbol="Ne",z=10.,a);
 98                                                    98 
 99   a=22.99*g/mole;                                  99   a=22.99*g/mole;
100   elNa=new G4Element(name="Sodium",symbol="Na"    100   elNa=new G4Element(name="Sodium",symbol="Na",z=11.,a);
101                                                   101 
102   a=26.98*g/mole;                                 102   a=26.98*g/mole;
103   elAl=new G4Element(name="Aluminium",symbol="    103   elAl=new G4Element(name="Aluminium",symbol="Al",z=13.,a);
104                                                   104 
105   a=28.085*g/mole;                                105   a=28.085*g/mole;
106   elSi=new G4Element(name="Silicon",symbol="Si    106   elSi=new G4Element(name="Silicon",symbol="Si",z=14.,a);
107                                                   107 
108   a=40.08*g/mole;                                 108   a=40.08*g/mole;
109   elCa=new G4Element(name="Calcium",symbol="Ca    109   elCa=new G4Element(name="Calcium",symbol="Ca",z=20.,a);
110                                                   110 
111   a=55.850*g/mole;                                111   a=55.850*g/mole;
112   elFe=new G4Element(name="Iron",symbol="Fe",z    112   elFe=new G4Element(name="Iron",symbol="Fe",z=26.,a);
113                                                   113 
114   a=63.54*g/mole;                                 114   a=63.54*g/mole;
115   elCu=new G4Element(name="Copper",symbol="Cu"    115   elCu=new G4Element(name="Copper",symbol="Cu",z=29.,a);
116                                                   116 
117   a=183.85*g/mole;                                117   a=183.85*g/mole;
118   elW=new G4Element(name="Tungstenm",symbol="W    118   elW=new G4Element(name="Tungstenm",symbol="W",z=74.,a);
119                                                   119 
120   a=207.19*g/mole;                                120   a=207.19*g/mole;
121   elPb=new G4Element(name="Lead",symbol="Pb",z    121   elPb=new G4Element(name="Lead",symbol="Pb",z=82.,a);
122                                                   122 
123   a=238.03*g/mole;                                123   a=238.03*g/mole;
124   elU=new G4Element(name="Uranium",symbol="U",    124   elU=new G4Element(name="Uranium",symbol="U",z=92.,a);
125                                                   125 
126                                                   126 
127   //-------------------                           127   //-------------------
128   // simple materials                             128   // simple materials
129   //-------------------                           129   //-------------------
130                                                   130 
131   density = 2.7*g/cm3;                            131   density = 2.7*g/cm3;
132   a = 26.98*g/mole;                               132   a = 26.98*g/mole;
133   Aluminium = new G4Material(name="Aluminium",    133   Aluminium = new G4Material(name="Aluminium",z=13.,a,density);
134                                                   134   
135   density = 7.87*g/cm3;                           135   density = 7.87*g/cm3;
136   a = 55.85*g/mole;                               136   a = 55.85*g/mole;
137   Iron = new G4Material(name="Iron",z=26.,a,de    137   Iron = new G4Material(name="Iron",z=26.,a,density);
138                                                   138 
139   density = 8.96*g/cm3;                           139   density = 8.96*g/cm3;
140   a = 63.54*g/mole;                               140   a = 63.54*g/mole;
141   Copper = new G4Material(name="Copper",z=29.,    141   Copper = new G4Material(name="Copper",z=29.,a,density);
142                                                   142 
143   density = 19.3*g/cm3;                           143   density = 19.3*g/cm3;
144   a = 183.85*g/mole;                              144   a = 183.85*g/mole;
145   Tungsten = new G4Material(name="Tungsten",z=    145   Tungsten = new G4Material(name="Tungsten",z=74.,a,density);
146                                                   146 
147   density = 11.35*g/cm3;                          147   density = 11.35*g/cm3;
148   a = 207.19*g/mole;                              148   a = 207.19*g/mole;
149   Lead = new G4Material(name="Lead",z=82.,a,de    149   Lead = new G4Material(name="Lead",z=82.,a,density);
150                                                   150 
151   density = 1.4*g/cm3;                            151   density = 1.4*g/cm3;
152   a = 39.95*g/mole;                               152   a = 39.95*g/mole;
153   LiquidArgon = new G4Material(name="LiquidArg    153   LiquidArgon = new G4Material(name="LiquidArgon",z=18.,a,density);
154                                                   154 
155   density = 0.002*g/cm3;                          155   density = 0.002*g/cm3;
156   a = 39.95*g/mole;                               156   a = 39.95*g/mole;
157   ArgonGas = new G4Material(name="ArgonGas",z=    157   ArgonGas = new G4Material(name="ArgonGas",z=18.,a,density);
158                                                   158 
159   density = 8.96*g/cm3;                           159   density = 8.96*g/cm3;
160   a = 58.69*g/mole;                               160   a = 58.69*g/mole;
161   Nickel = new G4Material(name="Nickel",z=28.,    161   Nickel = new G4Material(name="Nickel",z=28.,a,density);
162                                                   162 
163                                                   163   
164   //------------------                            164   //------------------
165   // mixtures                                     165   // mixtures
166   //------------------                            166   //------------------
167                                                   167 
168   density = 1.290*mg/cm3;                         168   density = 1.290*mg/cm3;
169   Air = new G4Material(name="Air",density, nel    169   Air = new G4Material(name="Air",density, nel=2);
170   Air->AddElement(elN, 0.7);                      170   Air->AddElement(elN, 0.7);
171   Air->AddElement(elO, 0.3);                      171   Air->AddElement(elO, 0.3);
172                                                   172 
173   RhoaCell = Air;                                 173   RhoaCell = Air;
174                                                   174 
175                                                   175 
176   density              = 1.e-5*g/cm3;             176   density              = 1.e-5*g/cm3;
177   G4double pressure    = 2.e-2*bar;               177   G4double pressure    = 2.e-2*bar;
178   G4double temperature = STP_Temperature;         178   G4double temperature = STP_Temperature;         //from PhysicalConstants.h
179   Vacuum = new G4Material(name="Vacuum", densi    179   Vacuum = new G4Material(name="Vacuum", density, nel=1,
180         kStateGas,temperature,pressure);          180         kStateGas,temperature,pressure);
181   Vacuum->AddMaterial(Air, fractionmass=1.);      181   Vacuum->AddMaterial(Air, fractionmass=1.);
182                                                   182 
183                                                   183 
184   density = 0.002*g/cm3;                          184   density = 0.002*g/cm3;
185   CO2 = new G4Material(name="CO2",density,nel=    185   CO2 = new G4Material(name="CO2",density,nel=2);
186   CO2->AddElement(elC, natoms=1);                 186   CO2->AddElement(elC, natoms=1);
187   CO2->AddElement(elO, natoms=2);                 187   CO2->AddElement(elO, natoms=2);
188                                                   188 
189   density = 1.42*g/cm3;                           189   density = 1.42*g/cm3;
190   Kapton = new G4Material(name="Kapton",densit    190   Kapton = new G4Material(name="Kapton",density, nel=4);
191   Kapton->AddElement(elH, fractionmass = 0.027    191   Kapton->AddElement(elH, fractionmass = 0.0273);
192   Kapton->AddElement(elC, fractionmass = 0.721    192   Kapton->AddElement(elC, fractionmass = 0.7213);
193   Kapton->AddElement(elN, fractionmass = 0.076    193   Kapton->AddElement(elN, fractionmass = 0.0765);
194   Kapton->AddElement(elO, fractionmass = 0.174    194   Kapton->AddElement(elO, fractionmass = 0.1749);
195                                                   195 
196   density = 1.032*g/cm3;                          196   density = 1.032*g/cm3;
197   Polystyrene = new G4Material(name="Polystyre    197   Polystyrene = new G4Material(name="Polystyrene",density,nel=2);
198   Polystyrene->AddElement(elC, natoms=8);         198   Polystyrene->AddElement(elC, natoms=8);
199   Polystyrene->AddElement(elH, natoms=8);         199   Polystyrene->AddElement(elH, natoms=8);
200                                                   200 
201   density = 5.185*g/cm3;                          201   density = 5.185*g/cm3;
202   FCAL1CuArKap = new G4Material(name="FCAL1CuA    202   FCAL1CuArKap = new G4Material(name="FCAL1CuArKap",density,nel=3);
203   FCAL1CuArKap->AddMaterial(Copper, fractionma    203   FCAL1CuArKap->AddMaterial(Copper, fractionmass = 0.864);
204   FCAL1CuArKap->AddMaterial(Kapton, fractionma    204   FCAL1CuArKap->AddMaterial(Kapton, fractionmass = 0.068);
205   FCAL1CuArKap->AddMaterial(LiquidArgon, fract    205   FCAL1CuArKap->AddMaterial(LiquidArgon, fractionmass = 0.068);
206                                                   206 
207   density = 8.701*g/cm3;                          207   density = 8.701*g/cm3;
208   FCAL1CuAr = new G4Material(name="FCAL1CuAr",    208   FCAL1CuAr = new G4Material(name="FCAL1CuAr",density,nel=2);
209   FCAL1CuAr->AddMaterial(Copper, fractionmass     209   FCAL1CuAr->AddMaterial(Copper, fractionmass = 0.994); 
210   FCAL1CuAr->AddMaterial(LiquidArgon, fraction    210   FCAL1CuAr->AddMaterial(LiquidArgon, fractionmass = 0.006);
211                                                   211 
212   density = 5.185*g/cm3;                          212   density = 5.185*g/cm3;
213   FCAL2CuArKap = new G4Material(name="FCAL2CuA    213   FCAL2CuArKap = new G4Material(name="FCAL2CuArKap",density,nel=3);
214   FCAL2CuArKap->AddMaterial(Copper, fractionma    214   FCAL2CuArKap->AddMaterial(Copper, fractionmass = 0.864);
215   FCAL2CuArKap->AddMaterial(Kapton, fractionma    215   FCAL2CuArKap->AddMaterial(Kapton, fractionmass = 0.068);
216   FCAL2CuArKap->AddMaterial(LiquidArgon, fract    216   FCAL2CuArKap->AddMaterial(LiquidArgon, fractionmass = 0.068);
217                                                   217 
218   density = 18.6*g/cm3;                           218   density = 18.6*g/cm3;
219   FCAL2WFeNi = new G4Material(name="FCAL2WFeNi    219   FCAL2WFeNi = new G4Material(name="FCAL2WFeNi",density,nel=3);
220   FCAL2WFeNi->AddMaterial(Tungsten, fractionma    220   FCAL2WFeNi->AddMaterial(Tungsten, fractionmass = 0.97);
221   FCAL2WFeNi->AddMaterial(Iron, fractionmass =    221   FCAL2WFeNi->AddMaterial(Iron, fractionmass = 0.01);
222   FCAL2WFeNi->AddMaterial(Nickel, fractionmass    222   FCAL2WFeNi->AddMaterial(Nickel, fractionmass = 0.02);
223                                                   223   
224   density = 15.366*g/cm3;                         224   density = 15.366*g/cm3;
225   FCAL2WFeNiCuAr = new G4Material(name="FCAL2W    225   FCAL2WFeNiCuAr = new G4Material(name="FCAL2WFeNiCuAr",density,nel=3);
226   FCAL2WFeNiCuAr->AddMaterial(FCAL2WFeNi, frac    226   FCAL2WFeNiCuAr->AddMaterial(FCAL2WFeNi, fractionmass = 0.913);
227   FCAL2WFeNiCuAr->AddMaterial(Copper, fraction    227   FCAL2WFeNiCuAr->AddMaterial(Copper, fractionmass = 0.077);
228   FCAL2WFeNiCuAr->AddMaterial(LiquidArgon, fra    228   FCAL2WFeNiCuAr->AddMaterial(LiquidArgon, fractionmass = 0.01);
229                                                   229 
230   density = 0.002*g/cm3;                          230   density = 0.002*g/cm3;
231   MWPCArCO2 = new G4Material(name="MWPCArCO2",    231   MWPCArCO2 = new G4Material(name="MWPCArCO2",density,nel=2);
232   MWPCArCO2->AddMaterial(CO2, fractionmass = 0    232   MWPCArCO2->AddMaterial(CO2, fractionmass = 0.2);
233   MWPCArCO2->AddMaterial(ArgonGas, fractionmas    233   MWPCArCO2->AddMaterial(ArgonGas, fractionmass = 0.8);
234                                                   234 
235                                                   235 
236   // must  check recipe for concrete              236   // must  check recipe for concrete
237                                                   237 
238   density = 2.5*g/cm3;                            238   density = 2.5*g/cm3;
239   ShieldingConcrete = new G4Material(name="Shi    239   ShieldingConcrete = new G4Material(name="ShieldingConcrete",density,nel=6);
240   ShieldingConcrete->AddElement(elO, fractionm    240   ShieldingConcrete->AddElement(elO, fractionmass = 0.52);
241   ShieldingConcrete->AddElement(elSi, fraction    241   ShieldingConcrete->AddElement(elSi, fractionmass = 0.325);
242   ShieldingConcrete->AddElement(elCa, fraction    242   ShieldingConcrete->AddElement(elCa, fractionmass = 0.06);
243   ShieldingConcrete->AddElement(elNa, fraction    243   ShieldingConcrete->AddElement(elNa, fractionmass = 0.015);
244   ShieldingConcrete->AddElement(elFe, fraction    244   ShieldingConcrete->AddElement(elFe, fractionmass = 0.04);
245   ShieldingConcrete->AddElement(elAl, fraction    245   ShieldingConcrete->AddElement(elAl, fractionmass = 0.04);
246                                                   246 
247   // must have the right composition for stain    247   // must have the right composition for stainless steel
248                                                   248 
249   density = 8.96*g/cm3;                           249   density = 8.96*g/cm3;
250   StainlessSteel = new G4Material(name="Stainl    250   StainlessSteel = new G4Material(name="StainlessSteel",density,nel=1);
251   StainlessSteel->AddElement(elO, fractionmass    251   StainlessSteel->AddElement(elO, fractionmass = 1.);
252                                                   252 
253 }                                                 253 }
254                                                   254 
255 FCALMaterialConsultant * FCALMaterialConsultan << 255 FCALMaterialConsultant * FCALMaterialConsultant::construct()
256 {                                                 256 {
257   if (theFCALMaterialConsultant == NULL) {        257   if (theFCALMaterialConsultant == NULL) {
258     theFCALMaterialConsultant = new FCALMateri    258     theFCALMaterialConsultant = new FCALMaterialConsultant();
259   }                                               259   }
260   return theFCALMaterialConsultant;               260   return theFCALMaterialConsultant;
261 }                                                 261 }
262                                                   262 
263 G4Material * FCALMaterialConsultant::Material(    263 G4Material * FCALMaterialConsultant::Material(G4String what)
264 {                                                 264 {
265   G4Material* material = 0;                       265   G4Material* material = 0;
266   if(what == "Air")               material = A    266   if(what == "Air")               material = Air;
267   if(what == "Vacuum")            material = V    267   if(what == "Vacuum")            material = Vacuum;
268   if(what == "LiquidArgon")       material = L    268   if(what == "LiquidArgon")       material = LiquidArgon;
269   if(what == "Aluminium")         material = A    269   if(what == "Aluminium")         material = Aluminium;
270   if(what == "Iron")              material = I    270   if(what == "Iron")              material = Iron;
271   if(what == "Copper")            material = C    271   if(what == "Copper")            material = Copper;
272   if(what == "Tungsten")          material = T    272   if(what == "Tungsten")          material = Tungsten;
273   if(what == "Lead")              material = L    273   if(what == "Lead")              material = Lead;
274   if(what == "CO2")               material = C    274   if(what == "CO2")               material = CO2;
275   if(what == "ArgonGas")          material = A    275   if(what == "ArgonGas")          material = ArgonGas;
276   if(what == "ShieldingConcrete") material = S    276   if(what == "ShieldingConcrete") material = ShieldingConcrete;
277   if(what == "Polystyrene")       material = P    277   if(what == "Polystyrene")       material = Polystyrene;
278   if(what == "StainlessSteel")    material = S    278   if(what == "StainlessSteel")    material = StainlessSteel;
279   if(what == "Nickel")            material = N    279   if(what == "Nickel")            material = Nickel;
280   if(what == "FCAL1CuArKap")      material = F    280   if(what == "FCAL1CuArKap")      material = FCAL1CuArKap;
281   if(what == "FCAL1CuAr")         material = F    281   if(what == "FCAL1CuAr")         material = FCAL1CuAr;
282   if(what == "FCAL2CuArKap")      material = F    282   if(what == "FCAL2CuArKap")      material = FCAL2CuArKap;
283   if(what == "FCAL2WFeNi")        material = F    283   if(what == "FCAL2WFeNi")        material = FCAL2WFeNi;
284   if(what == "FCAL2WFeNiCuAr")    material = F    284   if(what == "FCAL2WFeNiCuAr")    material = FCAL2WFeNiCuAr;
285   if(what == "MWPCArCO2")         material = M    285   if(what == "MWPCArCO2")         material = MWPCArCO2;
286   if(what == "RhoaCell")          material = R    286   if(what == "RhoaCell")          material = RhoaCell;
287                                                   287 
288   return material;                                288   return material;
289 }                                                 289 }
290                                                   290           
291                                                   291