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


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