Changeset 850 for trunk/source/materials/include
- Timestamp:
- Sep 10, 2008, 5:40:37 PM (17 years ago)
- Location:
- trunk/source/materials/include
- Files:
-
- 21 edited
-
G4AtomicShells.hh (modified) (1 diff)
-
G4Element.hh (modified) (1 diff)
-
G4ElementTable.hh (modified) (1 diff)
-
G4ElementVector.hh (modified) (1 diff)
-
G4IonisParamElm.hh (modified) (3 diffs)
-
G4IonisParamMat.hh (modified) (4 diffs)
-
G4Isotope.hh (modified) (2 diffs)
-
G4IsotopeVector.hh (modified) (1 diff)
-
G4MPVEntry.hh (modified) (5 diffs)
-
G4Material.hh (modified) (2 diffs)
-
G4MaterialPropertiesTable.hh (modified) (3 diffs)
-
G4MaterialPropertyVector.hh (modified) (8 diffs)
-
G4MaterialTable.hh (modified) (1 diff)
-
G4NistElementBuilder.hh (modified) (11 diffs)
-
G4NistManager.hh (modified) (22 diffs)
-
G4NistMaterialBuilder.hh (modified) (3 diffs)
-
G4NistMessenger.hh (modified) (1 diff)
-
G4OpticalSurface.hh (modified) (3 diffs)
-
G4SandiaTable.hh (modified) (1 diff)
-
G4StaticSandiaData.hh (modified) (1 diff)
-
G4SurfaceProperty.hh (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/materials/include/G4AtomicShells.hh
r822 r850 26 26 // 27 27 // $Id: G4AtomicShells.hh,v 1.7 2006/10/17 15:15:46 vnivanch Exp $ 28 // GEANT4 tag $Name: $28 // GEANT4 tag $Name: HEAD $ 29 29 30 30 // class description -
trunk/source/materials/include/G4Element.hh
r822 r850 26 26 // 27 27 // $Id: G4Element.hh,v 1.22 2006/10/17 15:15:46 vnivanch Exp $ 28 // GEANT4 tag $Name: $28 // GEANT4 tag $Name: HEAD $ 29 29 // 30 30 -
trunk/source/materials/include/G4ElementTable.hh
r822 r850 26 26 // 27 27 // $Id: G4ElementTable.hh,v 1.6 2006/06/29 19:10:58 gunter Exp $ 28 // GEANT4 tag $Name: $28 // GEANT4 tag $Name: HEAD $ 29 29 // 30 30 // -
trunk/source/materials/include/G4ElementVector.hh
r822 r850 26 26 // 27 27 // $Id: G4ElementVector.hh,v 1.6 2006/06/29 19:11:00 gunter Exp $ 28 // GEANT4 tag $Name: $28 // GEANT4 tag $Name: HEAD $ 29 29 // 30 30 // -
trunk/source/materials/include/G4IonisParamElm.hh
r822 r850 25 25 // 26 26 // 27 // $Id: G4IonisParamElm.hh,v 1. 9 2006/06/29 19:11:02 gunterExp $28 // GEANT4 tag $Name: $27 // $Id: G4IonisParamElm.hh,v 1.10 2008/06/03 14:30:10 vnivanch Exp $ 28 // GEANT4 tag $Name: HEAD $ 29 29 // 30 30 … … 75 75 76 76 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;}; 78 81 79 82 G4double* GetShellCorrectionVector() const {return fShellCorrectionVector;} … … 110 113 G4double fMeanExcitationEnergy; // 111 114 G4double* fShellCorrectionVector; // shell correction coefficients 115 116 // parameters for ion corrections computations 117 G4double fVFermi; 118 G4double fLFactor; 112 119 }; 113 120 -
trunk/source/materials/include/G4IonisParamMat.hh
r822 r850 25 25 // 26 26 // 27 // $Id: G4IonisParamMat.hh,v 1.1 0 2007/09/27 14:05:47vnivanch 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 $ 29 29 // 30 30 … … 41 41 // 28-10-02: add setMeanExcitationEnergy (V.Ivanchenko) 42 42 // 27-09-07: add computation of parameters for ions (V.Ivanchenko) 43 // 04-03-08: add fBirks constant (mma) 43 44 44 45 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... … … 94 95 G4double GetFermiEnergy() const {return fFermiEnergy;}; 95 96 G4double GetLFactor() const {return fLfactor;}; 97 98 // parameters for Birks attenuation: 99 void SetBirksConstant(G4double value) {fBirks = value;}; 100 G4double GetBirksConstant() const {return fBirks;}; 96 101 102 // parameters for average energy per ion 103 void SetMeanEnergyPerIonPair(G4double value) {fMeanEnergyPerIon = value;}; 104 G4double GetMeanEnergyPerIonPair() const {return fMeanEnergyPerIon;}; 105 97 106 public: // without description 98 107 … … 155 164 G4double fFermiEnergy; 156 165 G4double fLfactor; 166 167 // parameter for Birks attenuation 168 G4double fBirks; 169 // average energy per ion pair 170 G4double fMeanEnergyPerIon; 157 171 }; 158 172 -
trunk/source/materials/include/G4Isotope.hh
r822 r850 25 25 // 26 26 // 27 // $Id: G4Isotope.hh,v 1. 19 2006/06/29 19:11:07 gunterExp $28 // GEANT4 tag $Name: $27 // $Id: G4Isotope.hh,v 1.20 2008/08/11 11:53:11 vnivanch Exp $ 28 // GEANT4 tag $Name: HEAD $ 29 29 // 30 30 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... … … 36 36 // N: number of nucleons, 37 37 // A: mass of a mole (optional). 38 // If A is not defined it is taken from Geant4 database 38 39 // 39 40 // The class contains as a private static member the table of defined -
trunk/source/materials/include/G4IsotopeVector.hh
r822 r850 26 26 // 27 27 // $Id: G4IsotopeVector.hh,v 1.6 2006/06/29 19:11:09 gunter Exp $ 28 // GEANT4 tag $Name: $28 // GEANT4 tag $Name: HEAD $ 29 29 // 30 30 // -
trunk/source/materials/include/G4MPVEntry.hh
r822 r850 25 25 // 26 26 // 27 // $Id: G4MPVEntry.hh,v 1. 6 2006/06/29 19:11:11 gunterExp $28 // GEANT4 tag $Name: $27 // $Id: G4MPVEntry.hh,v 1.7 2008/06/05 23:36:56 gum Exp $ 28 // GEANT4 tag $Name: HEAD $ 29 29 // 30 30 // … … 84 84 /////////////////////////////// 85 85 86 G4MPVEntry(G4double aPhoton Momentum, G4double aPropertyValue);86 G4MPVEntry(G4double aPhotonEnergy, G4double aPropertyValue); 87 87 88 88 G4MPVEntry(const G4MPVEntry &right); … … 94 94 //////////// 95 95 96 G4double GetPhoton Momentum();96 G4double GetPhotonEnergy(); 97 97 98 98 G4double GetProperty(); … … 110 110 ///////////////////////// 111 111 112 G4double thePhoton Momentum;112 G4double thePhotonEnergy; 113 113 G4double theProperty; 114 114 }; … … 118 118 //////////////////// 119 119 120 // GetPhoton Momentum121 // --------------- --120 // GetPhotonEnergy 121 // --------------- 122 122 // 123 123 124 124 inline 125 G4double G4MPVEntry::GetPhoton Momentum()125 G4double G4MPVEntry::GetPhotonEnergy() 126 126 { 127 return thePhoton Momentum;127 return thePhotonEnergy; 128 128 } 129 129 -
trunk/source/materials/include/G4Material.hh
r822 r850 25 25 // 26 26 // 27 // $Id: G4Material.hh,v 1.2 5 2006/06/29 19:11:13 gunterExp $28 // GEANT4 tag $Name: $27 // $Id: G4Material.hh,v 1.26 2008/08/13 16:06:42 vnivanch Exp $ 28 // GEANT4 tag $Name: HEAD $ 29 29 // 30 30 … … 273 273 274 274 G4int maxNbComponents; // totalNbOfComponentsInTheMaterial 275 G4int fArrayLength; // the length of FAtomVector 275 276 size_t fNumberOfComponents; // Nb of components declared so far 276 277 -
trunk/source/materials/include/G4MaterialPropertiesTable.hh
r822 r850 25 25 // 26 26 // 27 // $Id: G4MaterialPropertiesTable.hh,v 1.1 8 2006/06/29 19:11:15 gunterExp $28 // GEANT4 tag $Name: $27 // $Id: G4MaterialPropertiesTable.hh,v 1.19 2008/06/05 23:38:03 gum Exp $ 28 // GEANT4 tag $Name: HEAD $ 29 29 // 30 30 // … … 101 101 102 102 void AddProperty(const char *key, 103 G4double *Photon Momenta,103 G4double *PhotonEnergies, 104 104 G4double *PropertyValues, 105 105 G4int NumEntries); … … 126 126 // Get the property from the table corresponding to the key-name. 127 127 128 void AddEntry(const char *key, G4double aPhoton Momentum,128 void AddEntry(const char *key, G4double aPhotonEnergy, 129 129 G4double aPropertyValue); 130 130 // Add a new entry (pair of numbers) to the table for a given key. 131 131 132 void RemoveEntry(const char *key, G4double aPhoton Momentum);132 void RemoveEntry(const char *key, G4double aPhotonEnergy); 133 133 // Remove an entry from the table for a given key and x-value. 134 134 -
trunk/source/materials/include/G4MaterialPropertyVector.hh
r822 r850 25 25 // 26 26 // 27 // $Id: G4MaterialPropertyVector.hh,v 1.1 0 2006/06/29 19:11:17 gunterExp $28 // GEANT4 tag $Name: $27 // $Id: G4MaterialPropertyVector.hh,v 1.11 2008/06/05 23:37:37 gum Exp $ 28 // GEANT4 tag $Name: HEAD $ 29 29 // 30 30 // … … 35 35 // File: G4MaterialPropertyVector.hh 36 36 // 37 // Description: A one-to-one mapping from Photon Momentumto some37 // Description: A one-to-one mapping from Photon Energy to some 38 38 // optical property 39 39 // Version: 1.0 … … 59 59 60 60 // Class Description: 61 // A one-to-one mapping from Photon Momentumto some optical property.61 // A one-to-one mapping from Photon Energy to some optical property. 62 62 // Class Description - End: 63 63 … … 96 96 public: // With description 97 97 98 G4MaterialPropertyVector(G4double *Photon Momenta,98 G4MaterialPropertyVector(G4double *PhotonEnergies, 99 99 G4double *PropertyValues, 100 100 G4int NumElements); … … 119 119 void ResetIterator(); 120 120 121 void AddElement(G4double aPhoton Momentum,121 void AddElement(G4double aPhotonEnergy, 122 122 G4double aPropertyValue); 123 123 // Add a new element (pair of numbers) to the G4MaterialPropertyVector. 124 void RemoveElement(G4double aPhoton Momentum);124 void RemoveElement(G4double aPhotonEnergy); 125 125 // Remove the element with given x-value. 126 126 127 G4double GetProperty(G4double aPhoton Momentum) const;127 G4double GetProperty(G4double aPhotonEnergy) const; 128 128 // Returns the y-value for given x-value (with interpolation). 129 G4double GetPhoton Momentum(G4double aProperty) const;129 G4double GetPhotonEnergy(G4double aProperty) const; 130 130 // Returns the x-value for given y-value (with interpolation). 131 131 // NOTE: Assumes that the y-value is an increasing function of … … 135 135 // x-value in the vector that corresponds to that value. 136 136 // 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. 138 138 139 139 G4double GetProperty() const; 140 G4double GetPhoton Momentum() const;140 G4double GetPhotonEnergy() const; 141 141 142 142 G4double GetMaxProperty() const; 143 143 G4double GetMinProperty() const; 144 G4double GetMaxPhoton Momentum() const;145 G4double GetMinPhoton Momentum() const;144 G4double GetMaxPhotonEnergy() const; 145 G4double GetMinPhotonEnergy() const; 146 146 147 147 ////////// … … 159 159 G4MPVEntry GetEntry(G4int i) const; 160 160 161 void GetAdjacentBins(G4double aPhoton Momentum,161 void GetAdjacentBins(G4double aPhotonEnergy, 162 162 G4int *left,G4int *right) const; 163 163 … … 188 188 189 189 inline 190 G4double G4MaterialPropertyVector::GetMaxPhoton Momentum() const191 { 192 return MPV.back()->GetPhoton Momentum();190 G4double G4MaterialPropertyVector::GetMaxPhotonEnergy() const 191 { 192 return MPV.back()->GetPhotonEnergy(); 193 193 } 194 194 195 195 inline 196 G4double G4MaterialPropertyVector::GetMinPhoton Momentum() const197 { 198 return MPV.front()->GetPhoton Momentum();196 G4double G4MaterialPropertyVector::GetMinPhotonEnergy() const 197 { 198 return MPV.front()->GetPhotonEnergy(); 199 199 } 200 200 -
trunk/source/materials/include/G4MaterialTable.hh
r822 r850 26 26 // 27 27 // $Id: G4MaterialTable.hh,v 1.6 2006/06/29 19:11:19 gunter Exp $ 28 // GEANT4 tag $Name: $28 // GEANT4 tag $Name: HEAD $ 29 29 // 30 30 // -
trunk/source/materials/include/G4NistElementBuilder.hh
r822 r850 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4NistElementBuilder.hh,v 1.1 3 2007/07/26 18:52:12vnivanch 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 $ 28 28 29 29 #ifndef G4NistElementBuilder_h … … 41 41 // Modifications: 42 42 // 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 46 48 // 47 49 //---------------------------------------------------------------------------- … … 55 57 56 58 #include "globals.hh" 57 #include "G4AtomicShells.hh"58 59 #include <vector> 59 60 … … 68 69 { 69 70 public: 71 70 72 G4NistElementBuilder(G4int vb); 71 73 ~G4NistElementBuilder(); 72 74 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); 87 77 88 78 // Find or build a G4Element by atomic number … … 92 82 G4Element* FindOrBuildElement (const G4String& symb, 93 83 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 96 88 const std::vector<G4String>& GetElementNames() const; 97 89 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 98 116 private: 99 117 100 118 void Initialise(); 101 119 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 106 128 G4Element* BuildElement(G4int Z, G4bool buildIsotopes); 107 129 … … 109 131 110 132 G4String elmSymbol [maxNumElements]; 111 G4double atomicMass [maxNumElements]; 133 G4double atomicMass [maxNumElements]; // amu 134 G4double bindingEnergy [maxNumElements]; 112 135 G4int nIsotopes [maxNumElements]; 113 136 G4int nFirstIsotope [maxNumElements]; … … 116 139 G4int elmIndex [maxNumElements]; 117 140 118 G4double massIsotopes [maxAbundance]; 119 G4double sigMass [maxAbundance]; 141 G4double massIsotopes [maxAbundance]; // G4 units 142 G4double sigMass [maxAbundance]; // G4 units 120 143 G4double relAbundance [maxAbundance]; 121 144 … … 126 149 127 150 std::vector<G4String> elmNames; 128 G4AtomicShells aShell;129 151 }; 130 152 131 153 //....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 141 154 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 142 155 … … 154 167 G4double m = 0.0; 155 168 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]];} 159 170 return m; 160 171 } … … 166 177 G4double m = 0.0; 167 178 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 } 170 182 return m; 171 183 } 184 185 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 186 187 inline 188 G4double G4NistElementBuilder::GetTotalElectronBindingEnergy(G4int Z) const 189 { 190 return bindingEnergy[Z]; 191 } 192 172 193 173 194 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... … … 177 198 G4double x = 0.0; 178 199 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]];} 180 201 return x; 181 202 } -
trunk/source/materials/include/G4NistManager.hh
r822 r850 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4NistManager.hh,v 1. 17 2007/12/11 13:32:08 gcosmoExp $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 $ 28 28 // 29 29 // … … 84 84 ~G4NistManager(); 85 85 86 // Elements86 // Get G4Element by index 87 87 // 88 88 inline G4Element* GetElement(size_t index); 89 89 90 90 // Find or build G4Element by atomic number 91 // 91 92 inline G4Element* FindOrBuildElement(G4int Z, G4bool isotopes=true); 92 93 93 94 // Find or build G4Element by symbol 95 // 94 96 inline G4Element* FindOrBuildElement(const G4String& symb, 95 97 G4bool isotopes=true); 96 98 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 // 101 110 inline G4double GetAtomicMassAmu(G4int Z) const; 102 111 103 // Mass in Geant4 units 112 // Get mass of the isotope in Geant4 units without electron shell 113 // 104 114 inline G4double GetIsotopeMass(G4int Z, G4int N) const; 115 116 // Get mass of the isotope in Geant4 units with electron shell 117 // 105 118 inline G4double GetAtomicMass(G4int Z, G4int N) const; 106 119 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 // 111 134 inline G4double GetIsotopeAbundance(G4int Z, G4int N) const; 112 135 136 // Print element by Z 137 // 113 138 inline void PrintElement(G4int Z); 114 139 140 // Print element from internal DB by symbol, if "all" - print all elements 141 // 115 142 void PrintElement(const G4String&); 143 144 // Print G4Element by name, if "all" - print all G4Elements 145 // 116 146 void PrintG4Element(const G4String&); 117 147 148 // Access to the vector of Geant4 predefined element names 149 // 118 150 inline const std::vector<G4String>& GetNistElementNames() const; 119 151 120 // Materials152 // Get G4Material by index 121 153 // 122 154 inline G4Material* GetMaterial(size_t index); 123 155 124 // Find or build a G4Material by name, from the dataBase156 // Find or build a G4Material by name, from the Geant4 dataBase 125 157 // 126 158 inline G4Material* FindOrBuildMaterial(const G4String& name, … … 128 160 G4bool warning=false); 129 161 130 // construct a G4Material from scratch by atome count162 // Construct a G4Material from scratch by atome count 131 163 // 132 164 inline G4Material* ConstructNewMaterial( … … 140 172 G4double pressure = STP_Pressure); 141 173 142 // construct a G4Material from scratch by fraction mass174 // Construct a G4Material from scratch by fraction mass 143 175 // 144 176 inline G4Material* ConstructNewMaterial( … … 152 184 G4double pressure = STP_Pressure); 153 185 154 // construct a gas G4Material from scratch by atome count186 // Construct a gas G4Material from scratch by atome count 155 187 // 156 188 inline G4Material* ConstructNewGasMaterial(const G4String& name, … … 160 192 G4bool isotopes=true); 161 193 194 // Get number of G4Materials 195 // 162 196 inline size_t GetNumberOfMaterials(); 163 197 … … 166 200 void SetVerbose(G4int); 167 201 202 // Print G4Material by name 203 // 168 204 void PrintG4Material(const G4String&); 169 205 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 // 170 212 inline void ListMaterials(const G4String&); 171 213 214 // Access to the list of names of Geant4 predefined materials 215 // 172 216 inline const std::vector<G4String>& GetNistMaterialNames() const; 173 217 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); 177 235 178 236 private: … … 181 239 static G4NistManager* instance; 182 240 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]; 185 245 186 246 std::vector<G4Element*> elements; … … 201 261 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 202 262 203 inline 204 size_t G4NistManager::GetNumberOfMaterials() 263 inline size_t G4NistManager::GetNumberOfMaterials() 205 264 { 206 265 return nMaterials; … … 209 268 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 210 269 211 inline 212 G4Element* G4NistManager::GetElement(size_t index) 270 inline G4Element* G4NistManager::GetElement(size_t index) 213 271 { 214 272 G4Element* elm = 0; … … 237 295 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 238 296 239 inline 240 size_t G4NistManager::GetNumberOfElements() const 297 inline size_t G4NistManager::GetNumberOfElements() const 241 298 { 242 299 return nElements; … … 245 302 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 246 303 247 inline 248 G4int G4NistManager::GetZ(const G4String& symb) const 304 inline G4int G4NistManager::GetZ(const G4String& symb) const 249 305 { 250 306 return elmBuilder->GetZ(symb); … … 253 309 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 254 310 255 inline 256 G4double G4NistManager::GetAtomicMassAmu(G4int Z) const 311 inline G4double G4NistManager::GetAtomicMassAmu(G4int Z) const 257 312 { 258 313 return elmBuilder->GetA(Z); … … 278 333 279 334 inline 335 G4double G4NistManager::GetTotalElectronBindingEnergy(G4int Z) const 336 { 337 return elmBuilder->GetTotalElectronBindingEnergy(Z); 338 } 339 340 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 341 342 inline 280 343 G4double G4NistManager::GetIsotopeAbundance(G4int Z, G4int N) const 281 344 { … … 309 372 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 310 373 311 inline 312 void G4NistManager::PrintElement(G4int Z) 374 inline void G4NistManager::PrintElement(G4int Z) 313 375 { 314 376 elmBuilder->PrintElement(Z); … … 317 379 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 318 380 319 inline 320 G4Material* G4NistManager::GetMaterial(size_t index) 381 inline G4Material* G4NistManager::GetMaterial(size_t index) 321 382 { 322 383 const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); … … 328 389 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 329 390 330 inline 331 G4int G4NistManager::GetVerbose() 391 inline G4int G4NistManager::GetVerbose() 332 392 { 333 393 return verbose; … … 346 406 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 347 407 348 inline 349 G4Material* G4NistManager::ConstructNewMaterial( 408 inline G4Material* G4NistManager::ConstructNewMaterial( 350 409 const G4String& name, 351 410 const std::vector<G4String>& elm, … … 364 423 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 365 424 366 inline 367 G4Material* G4NistManager::ConstructNewMaterial( 425 inline G4Material* G4NistManager::ConstructNewMaterial( 368 426 const G4String& name, 369 427 const std::vector<G4String>& elm, … … 380 438 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 381 439 382 inline 383 G4Material* G4NistManager::ConstructNewGasMaterial( 440 inline G4Material* G4NistManager::ConstructNewGasMaterial( 384 441 const G4String& name, 385 442 const G4String& nameNist, … … 393 450 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 394 451 395 inline 396 void G4NistManager::ListMaterials(const G4String& list) 452 inline void G4NistManager::ListMaterials(const G4String& list) 397 453 { 398 454 matBuilder->ListMaterials(list); … … 409 465 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 410 466 467 inline 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 478 inline G4double G4NistManager::GetZ13(G4int Z) 479 { 480 return POWERZ13[Z]; 481 } 482 483 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 484 485 inline 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 494 inline 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 503 inline 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 514 inline 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 411 523 #endif 412 524 -
trunk/source/materials/include/G4NistMaterialBuilder.hh
r822 r850 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4NistMaterialBuilder.hh,v 1.1 2 2007/10/30 10:05:52vnivanch 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 $ 28 28 29 29 #ifndef G4NistMaterialBuilder_h … … 108 108 G4bool isotopes=true); 109 109 110 // verbosity level defined by G4NistManager 111 // 110 112 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 // 111 120 void ListMaterials(const G4String&); 121 122 // cout lists of predefined materials 123 // 112 124 void ListNistSimpleMaterials(); 113 125 void ListNistCompoundMaterials(); 114 126 void ListHepMaterials(); 115 127 128 // access to the list of names of Geant4 predefined materials 129 // 116 130 const std::vector<G4String>& GetMaterialNames() const; 117 131 … … 123 137 void HepAndNuclearMaterials(); 124 138 139 // add parameters of material from NIST DB to internal vectors 140 // density in g/cm3, mean ionisation potential in eV 141 // 125 142 void AddMaterial(const G4String& nameMat, G4double dens, G4int Z=0, 126 143 G4double pot=0.0, G4int ncomp=1, -
trunk/source/materials/include/G4NistMessenger.hh
r822 r850 26 26 // 27 27 // $Id: G4NistMessenger.hh,v 1.4 2007/05/02 10:48:52 vnivanch Exp $ 28 // GEANT4 tag $Name: $28 // GEANT4 tag $Name: HEAD $ 29 29 // 30 30 // File name: G4NistMessenger -
trunk/source/materials/include/G4OpticalSurface.hh
r822 r850 25 25 // 26 26 // 27 // $Id: G4OpticalSurface.hh,v 1. 8 2006/06/29 19:12:31 gunterExp $28 // GEANT4 tag $Name: $27 // $Id: G4OpticalSurface.hh,v 1.10 2008/07/21 20:54:57 gum Exp $ 28 // GEANT4 tag $Name: HEAD $ 29 29 // 30 30 // … … 111 111 public: // Without description 112 112 113 ~G4OpticalSurface();113 virtual ~G4OpticalSurface(); 114 114 115 115 //////////// … … 120 120 121 121 public: // With description 122 123 virtual void Overwrite() {G4cout << "G4OpticalSurface" << G4endl;}; 122 124 123 125 G4OpticalSurfaceFinish GetFinish() const {return theFinish;}; -
trunk/source/materials/include/G4SandiaTable.hh
r822 r850 26 26 // 27 27 // $Id: G4SandiaTable.hh,v 1.21 2007/10/02 10:13:33 vnivanch Exp $ 28 // GEANT4 tag $Name: $28 // GEANT4 tag $Name: HEAD $ 29 29 30 30 // class description -
trunk/source/materials/include/G4StaticSandiaData.hh
r822 r850 26 26 // 27 27 // $Id: G4StaticSandiaData.hh,v 1.7 2006/06/29 19:12:35 gunter Exp $ 28 // GEANT4 tag $Name: $28 // GEANT4 tag $Name: HEAD $ 29 29 // 30 30 -
trunk/source/materials/include/G4SurfaceProperty.hh
r822 r850 25 25 // 26 26 // 27 // $Id: G4SurfaceProperty.hh,v 1. 4 2007/04/25 16:18:34gum 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 $ 29 29 // 30 30 // … … 97 97 //////////////////////////////// 98 98 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); 105 100 // Constructor of a X-ray optical surface object. 106 101 107 102 public: // Without description 108 103 109 ~G4SurfaceProperty(){};104 virtual ~G4SurfaceProperty(); 110 105 111 106 //////////// … … 116 111 117 112 public: // With description 113 114 virtual void Overwrite() {G4cout << "G4SurfaceProperty" << G4endl;}; 118 115 119 116 G4String GetName() const { return theName; }; … … 130 127 static const G4SurfacePropertyTable* GetSurfacePropertyTable(); 131 128 static size_t GetNumberOfSurfaceProperties(); 132 static void Dump Info();129 static void DumpTableInfo(); 133 130 // To handle the table of surface properties. 134 131
Note:
See TracChangeset
for help on using the changeset viewer.
