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 8.1.p1)


  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"              << 
 58 #include "G4SystemOfUnits.hh"                  << 
 59                                                    57 
 60 FCALMaterialConsultant *FCALMaterialConsultant     58 FCALMaterialConsultant *FCALMaterialConsultant::theFCALMaterialConsultant = NULL;
 61                                                    59 
 62 FCALMaterialConsultant::FCALMaterialConsultant     60 FCALMaterialConsultant::FCALMaterialConsultant()
 63 {                                                  61 {
 64   G4double a,z,density,fractionmass;               62   G4double a,z,density,fractionmass;
 65   G4String name,symbol;                            63   G4String name,symbol;
 66   G4int nel,natoms;                                64   G4int nel,natoms;
 67                                                    65 
 68   //------------                                   66   //------------
 69   // elements                                      67   // elements
 70   //------------                                   68   //------------
 71                                                    69 
 72   a=1.01*g/mole;                                   70   a=1.01*g/mole;
 73   elH=new G4Element(name="Hydrogen",symbol="H2     71   elH=new G4Element(name="Hydrogen",symbol="H2",z=1.,a);
 74                                                    72 
 75   a=2.01*g/mole;                                   73   a=2.01*g/mole;
 76   elD=new G4Element(name="Deuterium",symbol="D     74   elD=new G4Element(name="Deuterium",symbol="D",z=1.,a);
 77                                                    75 
 78   a=4.*g/mole;                                     76   a=4.*g/mole;
 79   elHe=new G4Element(name="Helium",symbol="He"     77   elHe=new G4Element(name="Helium",symbol="He",z=2.,a);
 80                                                    78 
 81   a=6.94*g/mole;                                   79   a=6.94*g/mole;
 82   elLi=new G4Element(name="Lithium",symbol="Li     80   elLi=new G4Element(name="Lithium",symbol="Li",z=3.,a);
 83                                                    81 
 84   a=9.01*g/mole;                                   82   a=9.01*g/mole;
 85   elBe=new G4Element(name="Berillium",symbol="     83   elBe=new G4Element(name="Berillium",symbol="Be",z=4.,a);
 86                                                    84 
 87   a=12.01*g/mole;                                  85   a=12.01*g/mole;
 88   elC=new G4Element(name="Carbon",symbol="C",z     86   elC=new G4Element(name="Carbon",symbol="C",z=6.,a);
 89                                                    87 
 90   a=14.01*g/mole;                                  88   a=14.01*g/mole;
 91   elN=new G4Element(name="Nitrogen",symbol="N2     89   elN=new G4Element(name="Nitrogen",symbol="N2",z=7.,a);
 92                                                    90 
 93   a=16.*g/mole;                                    91   a=16.*g/mole;
 94   elO=new G4Element(name="Oxygen",symbol="O2",     92   elO=new G4Element(name="Oxygen",symbol="O2",z=8.,a);
 95                                                    93 
 96   a=20.18*g/mole;                                  94   a=20.18*g/mole;
 97   elNe=new G4Element(name="Neon",symbol="Ne",z     95   elNe=new G4Element(name="Neon",symbol="Ne",z=10.,a);
 98                                                    96 
 99   a=22.99*g/mole;                                  97   a=22.99*g/mole;
100   elNa=new G4Element(name="Sodium",symbol="Na"     98   elNa=new G4Element(name="Sodium",symbol="Na",z=11.,a);
101                                                    99 
102   a=26.98*g/mole;                                 100   a=26.98*g/mole;
103   elAl=new G4Element(name="Aluminium",symbol="    101   elAl=new G4Element(name="Aluminium",symbol="Al",z=13.,a);
104                                                   102 
105   a=28.085*g/mole;                                103   a=28.085*g/mole;
106   elSi=new G4Element(name="Silicon",symbol="Si    104   elSi=new G4Element(name="Silicon",symbol="Si",z=14.,a);
107                                                   105 
108   a=40.08*g/mole;                                 106   a=40.08*g/mole;
109   elCa=new G4Element(name="Calcium",symbol="Ca    107   elCa=new G4Element(name="Calcium",symbol="Ca",z=20.,a);
110                                                   108 
111   a=55.850*g/mole;                                109   a=55.850*g/mole;
112   elFe=new G4Element(name="Iron",symbol="Fe",z    110   elFe=new G4Element(name="Iron",symbol="Fe",z=26.,a);
113                                                   111 
114   a=63.54*g/mole;                                 112   a=63.54*g/mole;
115   elCu=new G4Element(name="Copper",symbol="Cu"    113   elCu=new G4Element(name="Copper",symbol="Cu",z=29.,a);
116                                                   114 
117   a=183.85*g/mole;                                115   a=183.85*g/mole;
118   elW=new G4Element(name="Tungstenm",symbol="W    116   elW=new G4Element(name="Tungstenm",symbol="W",z=74.,a);
119                                                   117 
120   a=207.19*g/mole;                                118   a=207.19*g/mole;
121   elPb=new G4Element(name="Lead",symbol="Pb",z    119   elPb=new G4Element(name="Lead",symbol="Pb",z=82.,a);
122                                                   120 
123   a=238.03*g/mole;                                121   a=238.03*g/mole;
124   elU=new G4Element(name="Uranium",symbol="U",    122   elU=new G4Element(name="Uranium",symbol="U",z=92.,a);
125                                                   123 
126                                                   124 
127   //-------------------                           125   //-------------------
128   // simple materials                             126   // simple materials
129   //-------------------                           127   //-------------------
130                                                   128 
131   density = 2.7*g/cm3;                            129   density = 2.7*g/cm3;
132   a = 26.98*g/mole;                               130   a = 26.98*g/mole;
133   Aluminium = new G4Material(name="Aluminium",    131   Aluminium = new G4Material(name="Aluminium",z=13.,a,density);
134                                                   132   
135   density = 7.87*g/cm3;                           133   density = 7.87*g/cm3;
136   a = 55.85*g/mole;                               134   a = 55.85*g/mole;
137   Iron = new G4Material(name="Iron",z=26.,a,de    135   Iron = new G4Material(name="Iron",z=26.,a,density);
138                                                   136 
139   density = 8.96*g/cm3;                           137   density = 8.96*g/cm3;
140   a = 63.54*g/mole;                               138   a = 63.54*g/mole;
141   Copper = new G4Material(name="Copper",z=29.,    139   Copper = new G4Material(name="Copper",z=29.,a,density);
142                                                   140 
143   density = 19.3*g/cm3;                           141   density = 19.3*g/cm3;
144   a = 183.85*g/mole;                              142   a = 183.85*g/mole;
145   Tungsten = new G4Material(name="Tungsten",z=    143   Tungsten = new G4Material(name="Tungsten",z=74.,a,density);
146                                                   144 
147   density = 11.35*g/cm3;                          145   density = 11.35*g/cm3;
148   a = 207.19*g/mole;                              146   a = 207.19*g/mole;
149   Lead = new G4Material(name="Lead",z=82.,a,de    147   Lead = new G4Material(name="Lead",z=82.,a,density);
150                                                   148 
151   density = 1.4*g/cm3;                            149   density = 1.4*g/cm3;
152   a = 39.95*g/mole;                               150   a = 39.95*g/mole;
153   LiquidArgon = new G4Material(name="LiquidArg    151   LiquidArgon = new G4Material(name="LiquidArgon",z=18.,a,density);
154                                                   152 
155   density = 0.002*g/cm3;                          153   density = 0.002*g/cm3;
156   a = 39.95*g/mole;                               154   a = 39.95*g/mole;
157   ArgonGas = new G4Material(name="ArgonGas",z=    155   ArgonGas = new G4Material(name="ArgonGas",z=18.,a,density);
158                                                   156 
159   density = 8.96*g/cm3;                           157   density = 8.96*g/cm3;
160   a = 58.69*g/mole;                               158   a = 58.69*g/mole;
161   Nickel = new G4Material(name="Nickel",z=28.,    159   Nickel = new G4Material(name="Nickel",z=28.,a,density);
162                                                   160 
163                                                   161   
164   //------------------                            162   //------------------
165   // mixtures                                     163   // mixtures
166   //------------------                            164   //------------------
167                                                   165 
168   density = 1.290*mg/cm3;                         166   density = 1.290*mg/cm3;
169   Air = new G4Material(name="Air",density, nel    167   Air = new G4Material(name="Air",density, nel=2);
170   Air->AddElement(elN, 0.7);                      168   Air->AddElement(elN, 0.7);
171   Air->AddElement(elO, 0.3);                      169   Air->AddElement(elO, 0.3);
172                                                   170 
173   RhoaCell = Air;                                 171   RhoaCell = Air;
174                                                   172 
175                                                   173 
176   density              = 1.e-5*g/cm3;             174   density              = 1.e-5*g/cm3;
177   G4double pressure    = 2.e-2*bar;               175   G4double pressure    = 2.e-2*bar;
178   G4double temperature = STP_Temperature;         176   G4double temperature = STP_Temperature;         //from PhysicalConstants.h
179   Vacuum = new G4Material(name="Vacuum", densi << 177   G4Material* Vacuum = new G4Material(name="Vacuum", density, nel=1,
180         kStateGas,temperature,pressure);       << 178             kStateGas,temperature,pressure);
181   Vacuum->AddMaterial(Air, fractionmass=1.);      179   Vacuum->AddMaterial(Air, fractionmass=1.);
182                                                   180 
183                                                   181 
184   density = 0.002*g/cm3;                          182   density = 0.002*g/cm3;
185   CO2 = new G4Material(name="CO2",density,nel=    183   CO2 = new G4Material(name="CO2",density,nel=2);
186   CO2->AddElement(elC, natoms=1);                 184   CO2->AddElement(elC, natoms=1);
187   CO2->AddElement(elO, natoms=2);                 185   CO2->AddElement(elO, natoms=2);
188                                                   186 
189   density = 1.42*g/cm3;                           187   density = 1.42*g/cm3;
190   Kapton = new G4Material(name="Kapton",densit    188   Kapton = new G4Material(name="Kapton",density, nel=4);
191   Kapton->AddElement(elH, fractionmass = 0.027    189   Kapton->AddElement(elH, fractionmass = 0.0273);
192   Kapton->AddElement(elC, fractionmass = 0.721    190   Kapton->AddElement(elC, fractionmass = 0.7213);
193   Kapton->AddElement(elN, fractionmass = 0.076    191   Kapton->AddElement(elN, fractionmass = 0.0765);
194   Kapton->AddElement(elO, fractionmass = 0.174    192   Kapton->AddElement(elO, fractionmass = 0.1749);
195                                                   193 
196   density = 1.032*g/cm3;                          194   density = 1.032*g/cm3;
197   Polystyrene = new G4Material(name="Polystyre    195   Polystyrene = new G4Material(name="Polystyrene",density,nel=2);
198   Polystyrene->AddElement(elC, natoms=8);         196   Polystyrene->AddElement(elC, natoms=8);
199   Polystyrene->AddElement(elH, natoms=8);         197   Polystyrene->AddElement(elH, natoms=8);
200                                                   198 
201   density = 5.185*g/cm3;                          199   density = 5.185*g/cm3;
202   FCAL1CuArKap = new G4Material(name="FCAL1CuA    200   FCAL1CuArKap = new G4Material(name="FCAL1CuArKap",density,nel=3);
203   FCAL1CuArKap->AddMaterial(Copper, fractionma    201   FCAL1CuArKap->AddMaterial(Copper, fractionmass = 0.864);
204   FCAL1CuArKap->AddMaterial(Kapton, fractionma    202   FCAL1CuArKap->AddMaterial(Kapton, fractionmass = 0.068);
205   FCAL1CuArKap->AddMaterial(LiquidArgon, fract    203   FCAL1CuArKap->AddMaterial(LiquidArgon, fractionmass = 0.068);
206                                                   204 
207   density = 8.701*g/cm3;                          205   density = 8.701*g/cm3;
208   FCAL1CuAr = new G4Material(name="FCAL1CuAr",    206   FCAL1CuAr = new G4Material(name="FCAL1CuAr",density,nel=2);
209   FCAL1CuAr->AddMaterial(Copper, fractionmass     207   FCAL1CuAr->AddMaterial(Copper, fractionmass = 0.994); 
210   FCAL1CuAr->AddMaterial(LiquidArgon, fraction    208   FCAL1CuAr->AddMaterial(LiquidArgon, fractionmass = 0.006);
211                                                   209 
212   density = 5.185*g/cm3;                          210   density = 5.185*g/cm3;
213   FCAL2CuArKap = new G4Material(name="FCAL2CuA    211   FCAL2CuArKap = new G4Material(name="FCAL2CuArKap",density,nel=3);
214   FCAL2CuArKap->AddMaterial(Copper, fractionma    212   FCAL2CuArKap->AddMaterial(Copper, fractionmass = 0.864);
215   FCAL2CuArKap->AddMaterial(Kapton, fractionma    213   FCAL2CuArKap->AddMaterial(Kapton, fractionmass = 0.068);
216   FCAL2CuArKap->AddMaterial(LiquidArgon, fract    214   FCAL2CuArKap->AddMaterial(LiquidArgon, fractionmass = 0.068);
217                                                   215 
218   density = 18.6*g/cm3;                           216   density = 18.6*g/cm3;
219   FCAL2WFeNi = new G4Material(name="FCAL2WFeNi    217   FCAL2WFeNi = new G4Material(name="FCAL2WFeNi",density,nel=3);
220   FCAL2WFeNi->AddMaterial(Tungsten, fractionma    218   FCAL2WFeNi->AddMaterial(Tungsten, fractionmass = 0.97);
221   FCAL2WFeNi->AddMaterial(Iron, fractionmass =    219   FCAL2WFeNi->AddMaterial(Iron, fractionmass = 0.01);
222   FCAL2WFeNi->AddMaterial(Nickel, fractionmass    220   FCAL2WFeNi->AddMaterial(Nickel, fractionmass = 0.02);
223                                                   221   
224   density = 15.366*g/cm3;                         222   density = 15.366*g/cm3;
225   FCAL2WFeNiCuAr = new G4Material(name="FCAL2W    223   FCAL2WFeNiCuAr = new G4Material(name="FCAL2WFeNiCuAr",density,nel=3);
226   FCAL2WFeNiCuAr->AddMaterial(FCAL2WFeNi, frac    224   FCAL2WFeNiCuAr->AddMaterial(FCAL2WFeNi, fractionmass = 0.913);
227   FCAL2WFeNiCuAr->AddMaterial(Copper, fraction    225   FCAL2WFeNiCuAr->AddMaterial(Copper, fractionmass = 0.077);
228   FCAL2WFeNiCuAr->AddMaterial(LiquidArgon, fra    226   FCAL2WFeNiCuAr->AddMaterial(LiquidArgon, fractionmass = 0.01);
229                                                   227 
230   density = 0.002*g/cm3;                          228   density = 0.002*g/cm3;
231   MWPCArCO2 = new G4Material(name="MWPCArCO2",    229   MWPCArCO2 = new G4Material(name="MWPCArCO2",density,nel=2);
232   MWPCArCO2->AddMaterial(CO2, fractionmass = 0    230   MWPCArCO2->AddMaterial(CO2, fractionmass = 0.2);
233   MWPCArCO2->AddMaterial(ArgonGas, fractionmas    231   MWPCArCO2->AddMaterial(ArgonGas, fractionmass = 0.8);
234                                                   232 
235                                                   233 
236   // must  check recipe for concrete              234   // must  check recipe for concrete
237                                                   235 
238   density = 2.5*g/cm3;                            236   density = 2.5*g/cm3;
239   ShieldingConcrete = new G4Material(name="Shi    237   ShieldingConcrete = new G4Material(name="ShieldingConcrete",density,nel=6);
240   ShieldingConcrete->AddElement(elO, fractionm    238   ShieldingConcrete->AddElement(elO, fractionmass = 0.52);
241   ShieldingConcrete->AddElement(elSi, fraction    239   ShieldingConcrete->AddElement(elSi, fractionmass = 0.325);
242   ShieldingConcrete->AddElement(elCa, fraction    240   ShieldingConcrete->AddElement(elCa, fractionmass = 0.06);
243   ShieldingConcrete->AddElement(elNa, fraction    241   ShieldingConcrete->AddElement(elNa, fractionmass = 0.015);
244   ShieldingConcrete->AddElement(elFe, fraction    242   ShieldingConcrete->AddElement(elFe, fractionmass = 0.04);
245   ShieldingConcrete->AddElement(elAl, fraction    243   ShieldingConcrete->AddElement(elAl, fractionmass = 0.04);
246                                                   244 
247   // must have the right composition for stain    245   // must have the right composition for stainless steel
248                                                   246 
249   density = 8.96*g/cm3;                           247   density = 8.96*g/cm3;
250   StainlessSteel = new G4Material(name="Stainl    248   StainlessSteel = new G4Material(name="StainlessSteel",density,nel=1);
251   StainlessSteel->AddElement(elO, fractionmass    249   StainlessSteel->AddElement(elO, fractionmass = 1.);
252                                                   250 
253 }                                                 251 }
254                                                   252 
255 FCALMaterialConsultant * FCALMaterialConsultan << 253 FCALMaterialConsultant * FCALMaterialConsultant::construct()
256 {                                                 254 {
257   if (theFCALMaterialConsultant == NULL) {        255   if (theFCALMaterialConsultant == NULL) {
258     theFCALMaterialConsultant = new FCALMateri    256     theFCALMaterialConsultant = new FCALMaterialConsultant();
259   }                                               257   }
260   return theFCALMaterialConsultant;               258   return theFCALMaterialConsultant;
261 }                                                 259 }
262                                                   260 
263 G4Material * FCALMaterialConsultant::Material(    261 G4Material * FCALMaterialConsultant::Material(G4String what)
264 {                                                 262 {
265   G4Material* material = 0;                       263   G4Material* material = 0;
266   if(what == "Air")               material = A    264   if(what == "Air")               material = Air;
267   if(what == "Vacuum")            material = V    265   if(what == "Vacuum")            material = Vacuum;
268   if(what == "LiquidArgon")       material = L    266   if(what == "LiquidArgon")       material = LiquidArgon;
269   if(what == "Aluminium")         material = A    267   if(what == "Aluminium")         material = Aluminium;
270   if(what == "Iron")              material = I    268   if(what == "Iron")              material = Iron;
271   if(what == "Copper")            material = C    269   if(what == "Copper")            material = Copper;
272   if(what == "Tungsten")          material = T    270   if(what == "Tungsten")          material = Tungsten;
273   if(what == "Lead")              material = L    271   if(what == "Lead")              material = Lead;
274   if(what == "CO2")               material = C    272   if(what == "CO2")               material = CO2;
275   if(what == "ArgonGas")          material = A    273   if(what == "ArgonGas")          material = ArgonGas;
276   if(what == "ShieldingConcrete") material = S    274   if(what == "ShieldingConcrete") material = ShieldingConcrete;
277   if(what == "Polystyrene")       material = P    275   if(what == "Polystyrene")       material = Polystyrene;
278   if(what == "StainlessSteel")    material = S    276   if(what == "StainlessSteel")    material = StainlessSteel;
279   if(what == "Nickel")            material = N    277   if(what == "Nickel")            material = Nickel;
280   if(what == "FCAL1CuArKap")      material = F    278   if(what == "FCAL1CuArKap")      material = FCAL1CuArKap;
281   if(what == "FCAL1CuAr")         material = F    279   if(what == "FCAL1CuAr")         material = FCAL1CuAr;
282   if(what == "FCAL2CuArKap")      material = F    280   if(what == "FCAL2CuArKap")      material = FCAL2CuArKap;
283   if(what == "FCAL2WFeNi")        material = F    281   if(what == "FCAL2WFeNi")        material = FCAL2WFeNi;
284   if(what == "FCAL2WFeNiCuAr")    material = F    282   if(what == "FCAL2WFeNiCuAr")    material = FCAL2WFeNiCuAr;
285   if(what == "MWPCArCO2")         material = M    283   if(what == "MWPCArCO2")         material = MWPCArCO2;
286   if(what == "RhoaCell")          material = R    284   if(what == "RhoaCell")          material = RhoaCell;
287                                                   285 
288   return material;                                286   return material;
289 }                                                 287 }
290                                                   288           
291                                                   289