Ignore:
Timestamp:
Sep 10, 2008, 5:40:37 PM (17 years ago)
Author:
garnier
Message:

geant4.8.2 beta

Location:
trunk/source/materials/include
Files:
21 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/materials/include/G4AtomicShells.hh

    r822 r850  
    2626//
    2727// $Id: G4AtomicShells.hh,v 1.7 2006/10/17 15:15:46 vnivanch Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: HEAD $
    2929
    3030// class description
  • trunk/source/materials/include/G4Element.hh

    r822 r850  
    2626//
    2727// $Id: G4Element.hh,v 1.22 2006/10/17 15:15:46 vnivanch Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: HEAD $
    2929//
    3030
  • trunk/source/materials/include/G4ElementTable.hh

    r822 r850  
    2626//
    2727// $Id: G4ElementTable.hh,v 1.6 2006/06/29 19:10:58 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: HEAD $
    2929//
    3030//
  • trunk/source/materials/include/G4ElementVector.hh

    r822 r850  
    2626//
    2727// $Id: G4ElementVector.hh,v 1.6 2006/06/29 19:11:00 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: HEAD $
    2929//
    3030//
  • trunk/source/materials/include/G4IonisParamElm.hh

    r822 r850  
    2525//
    2626//
    27 // $Id: G4IonisParamElm.hh,v 1.9 2006/06/29 19:11:02 gunter Exp $
    28 // GEANT4 tag $Name: $
     27// $Id: G4IonisParamElm.hh,v 1.10 2008/06/03 14:30:10 vnivanch Exp $
     28// GEANT4 tag $Name: HEAD $
    2929//
    3030
     
    7575   
    7676    G4double  GetMeanExcitationEnergy()  const {return fMeanExcitationEnergy;}
    77                                         // 16*std::pow(Z,0.9)*eV
     77                       // ICRU'37 report
     78
     79    G4double  GetFermiVelocity()          const {return fVFermi;};
     80    G4double  GetLFactor()                const {return fLFactor;};
    7881     
    7982    G4double* GetShellCorrectionVector() const {return fShellCorrectionVector;}
     
    110113    G4double  fMeanExcitationEnergy;  //     
    111114    G4double* fShellCorrectionVector; // shell correction coefficients
     115
     116    // parameters for ion corrections computations
     117    G4double fVFermi;
     118    G4double fLFactor;
    112119};
    113120
  • trunk/source/materials/include/G4IonisParamMat.hh

    r822 r850  
    2525//
    2626//
    27 // $Id: G4IonisParamMat.hh,v 1.10 2007/09/27 14:05:47 vnivanch Exp $
    28 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     27// $Id: G4IonisParamMat.hh,v 1.12 2008/07/08 10:34:56 vnivanch Exp $
     28// GEANT4 tag $Name: HEAD $
    2929//
    3030
     
    4141// 28-10-02: add setMeanExcitationEnergy (V.Ivanchenko)
    4242// 27-09-07: add computation of parameters for ions (V.Ivanchenko)
     43// 04-03-08: add fBirks constant (mma)
    4344
    4445//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
     
    9495    G4double  GetFermiEnergy()            const {return fFermiEnergy;};
    9596    G4double  GetLFactor()                const {return fLfactor;};
     97   
     98    // parameters for Birks attenuation:
     99    void      SetBirksConstant(G4double value) {fBirks = value;};
     100    G4double  GetBirksConstant()         const {return fBirks;};
    96101
     102    // parameters for average energy per ion
     103    void      SetMeanEnergyPerIonPair(G4double value) {fMeanEnergyPerIon = value;};
     104    G4double  GetMeanEnergyPerIonPair()         const {return fMeanEnergyPerIon;};
     105     
    97106public:  // without description
    98107
     
    155164    G4double fFermiEnergy;
    156165    G4double fLfactor;
     166   
     167    // parameter for Birks attenuation
     168    G4double fBirks;
     169    // average energy per ion pair
     170    G4double fMeanEnergyPerIon;
    157171};
    158172
  • trunk/source/materials/include/G4Isotope.hh

    r822 r850  
    2525//
    2626//
    27 // $Id: G4Isotope.hh,v 1.19 2006/06/29 19:11:07 gunter Exp $
    28 // GEANT4 tag $Name: $
     27// $Id: G4Isotope.hh,v 1.20 2008/08/11 11:53:11 vnivanch Exp $
     28// GEANT4 tag $Name: HEAD $
    2929//
    3030//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    3636//                                                 N: number of nucleons,
    3737//                                                 A: mass of a mole (optional).
     38// If A is not defined it is taken from Geant4 database
    3839//
    3940// The class contains as a private static member the table of defined
  • trunk/source/materials/include/G4IsotopeVector.hh

    r822 r850  
    2626//
    2727// $Id: G4IsotopeVector.hh,v 1.6 2006/06/29 19:11:09 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: HEAD $
    2929//
    3030//
  • trunk/source/materials/include/G4MPVEntry.hh

    r822 r850  
    2525//
    2626//
    27 // $Id: G4MPVEntry.hh,v 1.6 2006/06/29 19:11:11 gunter Exp $
    28 // GEANT4 tag $Name: $
     27// $Id: G4MPVEntry.hh,v 1.7 2008/06/05 23:36:56 gum Exp $
     28// GEANT4 tag $Name: HEAD $
    2929//
    3030//
     
    8484        ///////////////////////////////
    8585
    86         G4MPVEntry(G4double aPhotonMomentum, G4double aPropertyValue);
     86        G4MPVEntry(G4double aPhotonEnergy, G4double aPropertyValue);
    8787
    8888        G4MPVEntry(const G4MPVEntry &right);
     
    9494        ////////////
    9595
    96         G4double GetPhotonMomentum();
     96        G4double GetPhotonEnergy();
    9797
    9898        G4double GetProperty();
     
    110110        /////////////////////////
    111111
    112         G4double thePhotonMomentum;
     112        G4double thePhotonEnergy;
    113113        G4double theProperty;
    114114};
     
    118118////////////////////
    119119
    120 // GetPhotonMomentum
    121 // -----------------
     120// GetPhotonEnergy
     121// ---------------
    122122//
    123123
    124124inline
    125 G4double G4MPVEntry::GetPhotonMomentum()
     125G4double G4MPVEntry::GetPhotonEnergy()
    126126{
    127         return thePhotonMomentum;
     127        return thePhotonEnergy;
    128128}
    129129
  • trunk/source/materials/include/G4Material.hh

    r822 r850  
    2525//
    2626//
    27 // $Id: G4Material.hh,v 1.25 2006/06/29 19:11:13 gunter Exp $
    28 // GEANT4 tag $Name: $
     27// $Id: G4Material.hh,v 1.26 2008/08/13 16:06:42 vnivanch Exp $
     28// GEANT4 tag $Name: HEAD $
    2929//
    3030
     
    273273
    274274  G4int            maxNbComponents;       // totalNbOfComponentsInTheMaterial
     275  G4int            fArrayLength;          // the length of FAtomVector
    275276  size_t           fNumberOfComponents;   // Nb of components declared so far
    276277
  • trunk/source/materials/include/G4MaterialPropertiesTable.hh

    r822 r850  
    2525//
    2626//
    27 // $Id: G4MaterialPropertiesTable.hh,v 1.18 2006/06/29 19:11:15 gunter Exp $
    28 // GEANT4 tag $Name: $
     27// $Id: G4MaterialPropertiesTable.hh,v 1.19 2008/06/05 23:38:03 gum Exp $
     28// GEANT4 tag $Name: HEAD $
    2929//
    3030//
     
    101101
    102102        void AddProperty(const char     *key,
    103                          G4double *PhotonMomenta,
     103                         G4double *PhotonEnergies,
    104104                         G4double *PropertyValues,
    105105                         G4int     NumEntries);
     
    126126        // Get the property from the table corresponding to the key-name.
    127127
    128         void AddEntry(const char *key, G4double aPhotonMomentum,
     128        void AddEntry(const char *key, G4double aPhotonEnergy,
    129129                                 G4double  aPropertyValue);
    130130        // Add a new entry (pair of numbers) to the table for a given key.
    131131
    132         void RemoveEntry(const char *key, G4double  aPhotonMomentum);
     132        void RemoveEntry(const char *key, G4double  aPhotonEnergy);
    133133        // Remove an entry from the table for a given key and x-value.
    134134
  • trunk/source/materials/include/G4MaterialPropertyVector.hh

    r822 r850  
    2525//
    2626//
    27 // $Id: G4MaterialPropertyVector.hh,v 1.10 2006/06/29 19:11:17 gunter Exp $
    28 // GEANT4 tag $Name: $
     27// $Id: G4MaterialPropertyVector.hh,v 1.11 2008/06/05 23:37:37 gum Exp $
     28// GEANT4 tag $Name: HEAD $
    2929//
    3030//
     
    3535// File:        G4MaterialPropertyVector.hh
    3636//
    37 // Description: A one-to-one mapping from Photon Momentum to some
     37// Description: A one-to-one mapping from Photon Energy to some
    3838//              optical property
    3939// Version:     1.0
     
    5959
    6060// Class Description:
    61 // A one-to-one mapping from Photon Momentum to some optical property.
     61// A one-to-one mapping from Photon Energy to some optical property.
    6262// Class Description - End:
    6363
     
    9696public: // With description
    9797       
    98         G4MaterialPropertyVector(G4double *PhotonMomenta,
     98        G4MaterialPropertyVector(G4double *PhotonEnergies,
    9999                                 G4double *PropertyValues,
    100100                                 G4int     NumElements);
     
    119119        void ResetIterator();
    120120
    121         void AddElement(G4double aPhotonMomentum,
     121        void AddElement(G4double aPhotonEnergy,
    122122                        G4double aPropertyValue);
    123123        // Add a new element (pair of numbers) to the G4MaterialPropertyVector.
    124         void RemoveElement(G4double aPhotonMomentum);
     124        void RemoveElement(G4double aPhotonEnergy);
    125125        // Remove the element with given x-value.
    126126
    127         G4double GetProperty(G4double aPhotonMomentum) const;
     127        G4double GetProperty(G4double aPhotonEnergy) const;
    128128        // Returns the y-value for given x-value (with interpolation).
    129         G4double GetPhotonMomentum(G4double aProperty) const;
     129        G4double GetPhotonEnergy(G4double aProperty) const;
    130130        // Returns the x-value for given y-value (with interpolation).
    131131        // NOTE: Assumes that the y-value is an increasing function of
     
    135135        //       x-value in the vector that corresponds to that value.
    136136        // For use with G4MaterialPropertyVector iterator: return
    137         // property (or Photon momentum) at current point of iterator.
     137        // property (or Photon Energy) at current point of iterator.
    138138
    139139        G4double GetProperty() const;
    140         G4double GetPhotonMomentum() const;
     140        G4double GetPhotonEnergy() const;
    141141
    142142        G4double GetMaxProperty() const;
    143143        G4double GetMinProperty() const;
    144         G4double GetMaxPhotonMomentum() const;
    145         G4double GetMinPhotonMomentum() const;
     144        G4double GetMaxPhotonEnergy() const;
     145        G4double GetMinPhotonEnergy() const;
    146146               
    147147        //////////
     
    159159        G4MPVEntry GetEntry(G4int i) const;
    160160
    161         void GetAdjacentBins(G4double aPhotonMomentum,
     161        void GetAdjacentBins(G4double aPhotonEnergy,
    162162                             G4int *left,G4int *right) const;
    163163
     
    188188
    189189inline
    190 G4double G4MaterialPropertyVector::GetMaxPhotonMomentum() const
    191 {
    192   return MPV.back()->GetPhotonMomentum();
     190G4double G4MaterialPropertyVector::GetMaxPhotonEnergy() const
     191{
     192  return MPV.back()->GetPhotonEnergy();
    193193}
    194194
    195195inline
    196 G4double G4MaterialPropertyVector::GetMinPhotonMomentum() const
    197 {
    198   return MPV.front()->GetPhotonMomentum();
     196G4double G4MaterialPropertyVector::GetMinPhotonEnergy() const
     197{
     198  return MPV.front()->GetPhotonEnergy();
    199199}
    200200
  • trunk/source/materials/include/G4MaterialTable.hh

    r822 r850  
    2626//
    2727// $Id: G4MaterialTable.hh,v 1.6 2006/06/29 19:11:19 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: HEAD $
    2929//
    3030//
  • trunk/source/materials/include/G4NistElementBuilder.hh

    r822 r850  
    2424// ********************************************************************
    2525//
    26 // $Id: G4NistElementBuilder.hh,v 1.13 2007/07/26 18:52:12 vnivanch Exp $
    27 // GEANT4 tag $Name: $
     26// $Id: G4NistElementBuilder.hh,v 1.18 2008/08/07 10:15:16 vnivanch Exp $
     27// GEANT4 tag $Name: HEAD $
    2828
    2929#ifndef G4NistElementBuilder_h
     
    4141// Modifications:
    4242// 27.02.06 V.Ivanchenko Return m=0 if Z&N combination is out of NIST 
    43 // 27.02.06 V.Ivanchneko add GetAtomicMassAmu
    44 // 17.10.06 V.Ivanchneko add GetAtomicMass and GetNistElementNames methods
    45 // 02.05.07 V.Ivanchneko add GetNistFirstIsotopeN and GetNumberOfNistIsotopes
     43// 27.02.06 V.Ivanchenko add GetAtomicMassAmu
     44// 17.10.06 V.Ivanchenko add GetAtomicMass and GetNistElementNames methods
     45// 02.05.07 V.Ivanchenko add GetNistFirstIsotopeN and GetNumberOfNistIsotopes
     46// 06.08.08 V.Ivanchenko add binding energy parameterisation and use isotope
     47//                       mass in G4 units
    4648//
    4749//----------------------------------------------------------------------------
     
    5557
    5658#include "globals.hh"
    57 #include "G4AtomicShells.hh"
    5859#include <vector>
    5960
     
    6869{
    6970public:
     71
    7072  G4NistElementBuilder(G4int vb);
    7173  ~G4NistElementBuilder();
    7274
    73   G4int    GetZ           (const G4String& symb);
    74   G4double GetA           (G4int Z);
    75   G4double GetIsotopeMass (G4int Z, G4int N);
    76   G4double GetAtomicMass  (G4int Z, G4int N);
    77 
    78   G4double GetIsotopeAbundance (G4int Z, G4int N);
    79 
    80   G4int    GetNistFirstIsotopeN(G4int Z);
    81   G4int    GetNumberOfNistIsotopes(G4int Z);
    82 
    83   G4int    GetMaxNumElements();
    84 
    85   void SetVerbose   (G4int);
    86   void PrintElement (G4int Z);
     75  // Get atomic number by element symbol
     76  G4int GetZ(const G4String& symb);
    8777
    8878  // Find or build a G4Element by atomic number
     
    9282  G4Element* FindOrBuildElement (const G4String& symb,
    9383                                 G4bool buildIsotopes = true);
    94 
    95   // Return reference to vector of element names
     84  // print element information
     85  void PrintElement (G4int Z);
     86
     87  // Access to the vector of Geant4 predefined element names
    9688  const std::vector<G4String>& GetElementNames() const;
    9789
     90  // Get the mass of the element in amu for the natuaral isotope composition
     91  // with electron shell
     92  inline G4double GetA (G4int Z);
     93
     94  // Get the mass of the isotope in G4 units (without electron shell)
     95  inline G4double GetIsotopeMass (G4int Z, G4int N);
     96
     97  // Get the atomic mass of the isotope in G4 units (with electron shell)
     98  inline G4double GetAtomicMass  (G4int Z, G4int N);
     99
     100  // Get total ionisation energy of an atom
     101  inline G4double GetTotalElectronBindingEnergy(G4int Z) const;
     102
     103  // Get natural isotope abandance
     104  inline G4double GetIsotopeAbundance (G4int Z, G4int N);
     105
     106  // Get N for the first natural isotope
     107  inline G4int GetNistFirstIsotopeN(G4int Z);
     108
     109  // Get number of natural isotopes
     110  inline G4int GetNumberOfNistIsotopes(G4int Z);
     111
     112  inline G4int GetMaxNumElements();
     113
     114  inline void SetVerbose   (G4int);
     115
    98116private:
    99117
    100118  void Initialise();
    101119
    102   void AddElement(const G4String& symbol, G4int Z, G4int nc, const G4int& N,
    103                   const G4double& A, const G4double& sA, const G4double& W);
    104 
    105   // Build a G4Element from dataBase
     120  // Add element parameters to internal G4 database:
     121  // Z - atomic number, N - number of nucleons, A - atomic mass (amu),
     122  // sigmaA - accuracy of mass in last digits, W - natural abandances (percent)
     123  void AddElement(const G4String& symbol, G4int Z, G4int NumberOfIsotopes,
     124                  const G4int& N, const G4double& A, const G4double& sigmaA,
     125                  const G4double& W);
     126
     127  // Build a G4Element from the G4 dataBase
    106128  G4Element* BuildElement(G4int Z, G4bool buildIsotopes);
    107129
     
    109131
    110132  G4String   elmSymbol     [maxNumElements];
    111   G4double   atomicMass    [maxNumElements];
     133  G4double   atomicMass    [maxNumElements];  // amu
     134  G4double   bindingEnergy [maxNumElements];
    112135  G4int      nIsotopes     [maxNumElements];
    113136  G4int      nFirstIsotope [maxNumElements];
     
    116139  G4int      elmIndex      [maxNumElements];
    117140
    118   G4double   massIsotopes  [maxAbundance];
    119   G4double   sigMass       [maxAbundance];
     141  G4double   massIsotopes  [maxAbundance];    // G4 units
     142  G4double   sigMass       [maxAbundance];    // G4 units
    120143  G4double   relAbundance  [maxAbundance];
    121144
     
    126149
    127150  std::vector<G4String>    elmNames;
    128   G4AtomicShells           aShell;
    129151};
    130152
    131153//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    132 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    133 
    134 inline G4int G4NistElementBuilder::GetZ(const G4String& name)
    135 {
    136   G4int Z = maxNumElements;
    137   do {Z--;} while( Z>0 && elmSymbol[Z] != name);
    138   return Z;
    139 }
    140 
    141154//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    142155
     
    154167  G4double m = 0.0;
    155168  G4int i = N - nFirstIsotope[Z];
    156   if(i >= 0 && i <nIsotopes[Z])
    157     m = massIsotopes[i + idxIsotopes[Z]]*amu_c2
    158       - Z*electron_mass_c2 + aShell.GetTotalBindingEnergy(Z);
     169  if(i >= 0 && i <nIsotopes[Z]) {m = massIsotopes[i + idxIsotopes[Z]];}
    159170  return m;
    160171}
     
    166177  G4double m = 0.0;
    167178  G4int i = N - nFirstIsotope[Z];
    168   if(i >= 0 && i <nIsotopes[Z])
    169     m = massIsotopes[i + idxIsotopes[Z]]*amu_c2;
     179  if(i >= 0 && i <nIsotopes[Z]) {
     180    m = massIsotopes[i + idxIsotopes[Z]] + Z*electron_mass_c2 - bindingEnergy[Z];
     181  }
    170182  return m;
    171183}
     184
     185//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     186
     187inline
     188G4double G4NistElementBuilder::GetTotalElectronBindingEnergy(G4int Z) const
     189{
     190  return bindingEnergy[Z];
     191}
     192
    172193
    173194//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    177198  G4double x = 0.0;
    178199  G4int i = N - nFirstIsotope[Z];
    179   if(i >= 0 && i <nIsotopes[Z]) x = relAbundance[i + idxIsotopes[Z]];
     200  if(i >= 0 && i <nIsotopes[Z]) {x = relAbundance[i + idxIsotopes[Z]];}
    180201  return x;
    181202}
  • trunk/source/materials/include/G4NistManager.hh

    r822 r850  
    2424// ********************************************************************
    2525//
    26 // $Id: G4NistManager.hh,v 1.17 2007/12/11 13:32:08 gcosmo Exp $
    27 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     26// $Id: G4NistManager.hh,v 1.23 2008/08/07 10:15:16 vnivanch Exp $
     27// GEANT4 tag $Name: HEAD $
    2828//
    2929//
     
    8484  ~G4NistManager();
    8585
    86   // Elements
     86  // Get G4Element by index
    8787  //
    8888  inline G4Element* GetElement(size_t index);
    8989 
    9090  // Find or build G4Element by atomic number
     91  //
    9192  inline G4Element* FindOrBuildElement(G4int Z, G4bool isotopes=true);
    9293 
    9394  // Find or build G4Element by symbol
     95  //
    9496  inline G4Element* FindOrBuildElement(const G4String& symb,
    9597                                       G4bool isotopes=true);
    9698
    97   inline size_t   GetNumberOfElements() const;
    98   inline G4int    GetZ(const G4String& symb) const;
    99 
    100   // Mass in amu
     99  // Get number of elements
     100  //
     101  inline size_t GetNumberOfElements() const;
     102
     103  // Get atomic number by element symbol
     104  //
     105  inline G4int GetZ(const G4String& symb) const;
     106
     107  // Get the mass of the element in amu for the natuaral isotope composition
     108  // with electron shell
     109  //
    101110  inline G4double GetAtomicMassAmu(G4int Z) const;
    102111
    103   // Mass in Geant4 units
     112  // Get mass of the isotope in Geant4 units without electron shell
     113  //
    104114  inline G4double GetIsotopeMass(G4int Z, G4int N) const;
     115
     116  // Get mass of the isotope in Geant4 units with electron shell
     117  //
    105118  inline G4double GetAtomicMass(G4int Z, G4int N) const;
    106119
    107   // Number of isotopes
    108   inline G4int    GetNistFirstIsotopeN(G4int Z) const;
    109   inline G4int    GetNumberOfNistIsotopes(G4int Z) const;
    110 
     120  // Get total ionisation energy of an atom
     121  //
     122  inline G4double GetTotalElectronBindingEnergy(G4int Z) const;
     123
     124  // Get N for the first natural isotope
     125  //
     126  inline G4int GetNistFirstIsotopeN(G4int Z) const;
     127
     128  // Get number of natural isotopes
     129  //
     130  inline G4int GetNumberOfNistIsotopes(G4int Z) const;
     131
     132  // Get natural isotope abandance
     133  //
    111134  inline G4double GetIsotopeAbundance(G4int Z, G4int N) const;
    112135
     136  // Print element by Z
     137  //
    113138  inline void PrintElement(G4int Z); 
    114139
     140  // Print element from internal DB by symbol, if "all" - print all elements
     141  //
    115142  void PrintElement(const G4String&);   
     143
     144  // Print G4Element by name, if "all" - print all G4Elements
     145  //
    116146  void PrintG4Element(const G4String&); 
    117147
     148  // Access to the vector of Geant4 predefined element names
     149  //
    118150  inline const std::vector<G4String>& GetNistElementNames() const;
    119151
    120   // Materials
     152  // Get G4Material by index
    121153  //
    122154  inline G4Material* GetMaterial(size_t index);
    123155 
    124   // Find or build a G4Material by name, from the dataBase
     156  // Find or build a G4Material by name, from the Geant4 dataBase
    125157  //
    126158  inline G4Material* FindOrBuildMaterial(const G4String& name,
     
    128160                                         G4bool warning=false);
    129161 
    130   // construct a G4Material from scratch by atome count
     162  // Construct a G4Material from scratch by atome count
    131163  //
    132164  inline G4Material* ConstructNewMaterial(
     
    140172                                  G4double  pressure = STP_Pressure);
    141173                                     
    142   // construct a G4Material from scratch by fraction mass
     174  // Construct a G4Material from scratch by fraction mass
    143175  //
    144176  inline G4Material* ConstructNewMaterial(
     
    152184                                  G4double  pressure = STP_Pressure);
    153185
    154   // construct a gas G4Material from scratch by atome count
     186  // Construct a gas G4Material from scratch by atome count
    155187  //
    156188  inline G4Material* ConstructNewGasMaterial(const G4String& name,
     
    160192                                             G4bool isotopes=true);
    161193
     194  // Get number of G4Materials
     195  //
    162196  inline size_t GetNumberOfMaterials();
    163197 
     
    166200  void SetVerbose(G4int);
    167201
     202  // Print G4Material by name
     203  //
    168204  void PrintG4Material(const G4String&);
    169205
     206  // Print predefined Geant4 materials:
     207  // "simple" - only pure materials in basic state (Z = 1, ..., 98)
     208  // "compound" - NIST compounds
     209  // "hep" - HEP materials and compounds
     210  // "all" - all
     211  //
    170212  inline void ListMaterials(const G4String&);
    171213
     214  // Access to the list of names of Geant4 predefined materials
     215  //
    172216  inline const std::vector<G4String>& GetNistMaterialNames() const;
    173217
    174   G4double GetZ13(G4double Z);
    175 
    176   G4double GetLOGA(G4double A);
     218  // Fast computation of Z^1/3
     219  //
     220  inline G4double GetZ13(G4double Z);
     221  inline G4double GetZ13(G4int Z);
     222
     223  // Fast computation of A^0.27 for natuaral abandances
     224  //
     225  inline G4double GetA27(G4int Z);
     226
     227  // Fast computation of log(A)
     228  //
     229  inline G4double GetLOGA(G4double A);
     230  inline G4double GetLOGZ(G4int Z);
     231
     232  // Fast computation of log(A) for natuaral abandances
     233  //
     234  inline G4double GetLOGA(G4int Z);
    177235
    178236private:
     
    181239  static G4NistManager* instance;
    182240
    183   static G4double POWERZ13[256];
    184   static G4double LOGA[256];
     241  G4double POWERZ13[256];
     242  G4double LOGA[256];
     243  G4double POWERA27[101];
     244  G4double LOGAZ[101];
    185245 
    186246  std::vector<G4Element*>   elements;
     
    201261//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    202262
    203 inline
    204 size_t G4NistManager::GetNumberOfMaterials()
     263inline size_t G4NistManager::GetNumberOfMaterials()
    205264{
    206265  return nMaterials;
     
    209268//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    210269
    211 inline
    212 G4Element* G4NistManager::GetElement(size_t index)
     270inline G4Element* G4NistManager::GetElement(size_t index)
    213271{
    214272  G4Element* elm = 0;
     
    237295//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    238296
    239 inline
    240 size_t G4NistManager::GetNumberOfElements() const
     297inline size_t G4NistManager::GetNumberOfElements() const
    241298{
    242299  return nElements;
     
    245302//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    246303
    247 inline
    248 G4int G4NistManager::GetZ(const G4String& symb) const
     304inline G4int G4NistManager::GetZ(const G4String& symb) const
    249305{
    250306  return elmBuilder->GetZ(symb);
     
    253309//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    254310
    255 inline
    256 G4double G4NistManager::GetAtomicMassAmu(G4int Z) const
     311inline G4double G4NistManager::GetAtomicMassAmu(G4int Z) const
    257312{
    258313  return elmBuilder->GetA(Z);
     
    278333
    279334inline
     335G4double G4NistManager::GetTotalElectronBindingEnergy(G4int Z) const
     336{
     337  return elmBuilder->GetTotalElectronBindingEnergy(Z);
     338}
     339
     340//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     341
     342inline
    280343G4double G4NistManager::GetIsotopeAbundance(G4int Z, G4int N) const
    281344{
     
    309372//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    310373
    311 inline
    312 void G4NistManager::PrintElement(G4int Z)
     374inline void G4NistManager::PrintElement(G4int Z)
    313375{
    314376  elmBuilder->PrintElement(Z);
     
    317379//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    318380
    319 inline
    320 G4Material* G4NistManager::GetMaterial(size_t index)
     381inline G4Material* G4NistManager::GetMaterial(size_t index)
    321382{
    322383  const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable();
     
    328389//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    329390
    330 inline
    331 G4int G4NistManager::GetVerbose()
     391inline G4int G4NistManager::GetVerbose()
    332392{
    333393  return verbose;
     
    346406//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    347407
    348 inline
    349 G4Material* G4NistManager::ConstructNewMaterial(
     408inline G4Material* G4NistManager::ConstructNewMaterial(
    350409                                      const G4String& name,
    351410                                      const std::vector<G4String>& elm,
     
    364423//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    365424
    366 inline
    367 G4Material* G4NistManager::ConstructNewMaterial(
     425inline G4Material* G4NistManager::ConstructNewMaterial(
    368426                                      const G4String& name,
    369427                                      const std::vector<G4String>& elm,
     
    380438//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    381439
    382 inline
    383 G4Material* G4NistManager::ConstructNewGasMaterial(
     440inline G4Material* G4NistManager::ConstructNewGasMaterial(
    384441                                      const G4String& name,
    385442                                      const G4String& nameNist,
     
    393450//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    394451
    395 inline
    396 void G4NistManager::ListMaterials(const G4String& list)
     452inline void G4NistManager::ListMaterials(const G4String& list)
    397453{
    398454  matBuilder->ListMaterials(list);
     
    409465//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    410466
     467inline G4double G4NistManager::GetZ13(G4double Z)
     468{
     469  G4int iz = G4int(Z);
     470  G4double x = (Z - G4double(iz))/(3.0*Z);
     471  if(iz > 255) iz = 255;
     472  else if(iz < 0) iz = 0;
     473  return POWERZ13[iz]*(1.0 + x);
     474}
     475
     476//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     477
     478inline G4double G4NistManager::GetZ13(G4int Z)
     479{
     480  return POWERZ13[Z];
     481}
     482
     483//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     484
     485inline G4double G4NistManager::GetA27(G4int Z)
     486{
     487  G4double res = 0.0;
     488  if(Z < 101) res = POWERA27[Z];
     489  return res;
     490}
     491
     492//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     493
     494inline G4double G4NistManager::GetLOGZ(G4int Z)
     495{
     496  G4double res = 0.0;
     497  if(Z < 256) res = LOGA[Z];
     498  return res;
     499}
     500
     501//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     502
     503inline G4double G4NistManager::GetLOGA(G4double A)
     504{
     505  G4int ia = G4int(A);
     506  G4double x = (A - G4double(ia))/A;
     507  if(ia > 255) ia = 255;
     508  else if(ia < 0) ia = 0;
     509  return LOGA[ia] + x*(1.0 - 0.5*x);
     510}
     511
     512//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     513
     514inline G4double G4NistManager::GetLOGA(G4int Z)
     515{
     516  G4double res = 0.0;
     517  if(Z < 101) res = LOGAZ[Z];
     518  return res;
     519}
     520
     521//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     522
    411523#endif
    412524
  • trunk/source/materials/include/G4NistMaterialBuilder.hh

    r822 r850  
    2424// ********************************************************************
    2525//
    26 // $Id: G4NistMaterialBuilder.hh,v 1.12 2007/10/30 10:05:52 vnivanch Exp $
    27 // GEANT4 tag $Name: $
     26// $Id: G4NistMaterialBuilder.hh,v 1.13 2008/04/28 08:51:29 vnivanch Exp $
     27// GEANT4 tag $Name: HEAD $
    2828
    2929#ifndef G4NistMaterialBuilder_h
     
    108108                                      G4bool isotopes=true);
    109109
     110  // verbosity level defined by G4NistManager
     111  //
    110112  void SetVerbose(G4int val);
     113
     114  // cout predefined materials:
     115  // "simple" - only pure materials in basic state (Z = 1, ..., 98)
     116  // "compound" - NIST compounds
     117  // "hep" - HEP materials and compounds
     118  // "all" - all
     119  //
    111120  void ListMaterials(const G4String&);
     121
     122  // cout lists of predefined materials
     123  //
    112124  void ListNistSimpleMaterials();
    113125  void ListNistCompoundMaterials();
    114126  void ListHepMaterials();
    115127
     128  // access to the list of names of Geant4 predefined materials
     129  //
    116130  const std::vector<G4String>& GetMaterialNames() const;
    117131
     
    123137  void HepAndNuclearMaterials();
    124138
     139  // add parameters of material from NIST DB to internal vectors
     140  // density in g/cm3, mean ionisation potential in eV
     141  //
    125142  void AddMaterial(const G4String& nameMat, G4double dens, G4int Z=0,
    126143                         G4double pot=0.0, G4int ncomp=1,
  • trunk/source/materials/include/G4NistMessenger.hh

    r822 r850  
    2626//
    2727// $Id: G4NistMessenger.hh,v 1.4 2007/05/02 10:48:52 vnivanch Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: HEAD $
    2929//
    3030// File name:     G4NistMessenger
  • trunk/source/materials/include/G4OpticalSurface.hh

    r822 r850  
    2525//
    2626//
    27 // $Id: G4OpticalSurface.hh,v 1.8 2006/06/29 19:12:31 gunter Exp $
    28 // GEANT4 tag $Name: $
     27// $Id: G4OpticalSurface.hh,v 1.10 2008/07/21 20:54:57 gum Exp $
     28// GEANT4 tag $Name: HEAD $
    2929//
    3030//
     
    111111public: // Without description
    112112
    113         ~G4OpticalSurface();
     113        virtual ~G4OpticalSurface();
    114114
    115115        ////////////
     
    120120
    121121public: // With description
     122
     123        virtual void Overwrite() {G4cout << "G4OpticalSurface" << G4endl;};
    122124
    123125        G4OpticalSurfaceFinish GetFinish() const {return theFinish;};
  • trunk/source/materials/include/G4SandiaTable.hh

    r822 r850  
    2626//
    2727// $Id: G4SandiaTable.hh,v 1.21 2007/10/02 10:13:33 vnivanch Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: HEAD $
    2929
    3030// class description
  • trunk/source/materials/include/G4StaticSandiaData.hh

    r822 r850  
    2626//
    2727// $Id: G4StaticSandiaData.hh,v 1.7 2006/06/29 19:12:35 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: HEAD $
    2929//
    3030
  • trunk/source/materials/include/G4SurfaceProperty.hh

    r822 r850  
    2525//
    2626//
    27 // $Id: G4SurfaceProperty.hh,v 1.4 2007/04/25 16:18:34 gum Exp $
    28 // GEANT4 tag $Name: $
     27// $Id: G4SurfaceProperty.hh,v 1.7 2008/07/21 20:55:16 gum Exp $
     28// GEANT4 tag $Name: HEAD $
    2929//
    3030//
     
    9797        ////////////////////////////////
    9898
    99         G4SurfaceProperty(const G4String& name,
    100                           G4SurfaceType type = x_ray)
    101           : theName(name), theType(type)
    102         {
    103           theSurfacePropertyTable.push_back(this);
    104         }
     99        G4SurfaceProperty(const G4String& name, G4SurfaceType type = x_ray);
    105100        // Constructor of a X-ray optical surface object.
    106101
    107102public: // Without description
    108103
    109         ~G4SurfaceProperty(){};
     104        virtual ~G4SurfaceProperty();
    110105
    111106        ////////////
     
    116111
    117112public: // With description
     113
     114        virtual void Overwrite() {G4cout << "G4SurfaceProperty" << G4endl;};
    118115
    119116        G4String GetName() const { return theName; };
     
    130127        static const G4SurfacePropertyTable* GetSurfacePropertyTable();
    131128        static size_t GetNumberOfSurfaceProperties();
    132         static void DumpInfo();
     129        static void DumpTableInfo();
    133130        // To handle the table of surface properties.
    134131
Note: See TracChangeset for help on using the changeset viewer.