Import Geant4 2.0.0 source tree
This commit is contained in:
@@ -5,12 +5,23 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4AtomicShells.hh,v 1.1.10.1 1999/12/07 20:49:15 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
// $Id: G4AtomicShells.hh,v 1.3 1999/12/16 18:11:07 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
|
||||
// class description
|
||||
//
|
||||
// Class consists of atomic subshell binding energies in eV !!!
|
||||
// for first 100 elements
|
||||
// Class consists of atomic subshell binding energies for first 100 elements.
|
||||
//
|
||||
// The data were given from:
|
||||
//
|
||||
// I from Janni J.F. 1982 (I for F from estimation with formula).
|
||||
//
|
||||
// I(i) from T.A.Carlson, Photoelectron and Auger Spectroscopy,
|
||||
// Plenum, New York, 1976, p.337.
|
||||
//
|
||||
// a) CRC, Handbook of Chemistry and Physics, 73rd Edition,
|
||||
// 1992-1993
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
|
||||
|
||||
// 24-04-98, implementation of the first version, V. Grichine
|
||||
@@ -29,7 +40,7 @@
|
||||
|
||||
class G4AtomicShells
|
||||
{
|
||||
public :
|
||||
public : //with description
|
||||
|
||||
static G4int GetNumberOfShells(G4int Z);
|
||||
static G4double GetBindingEnergy (G4int Z, G4int SubshellNb);
|
||||
|
||||
@@ -5,13 +5,11 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4Element.hh,v 1.2.6.1.2.1.2.1 1999/12/08 17:34:04 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
// $Id: G4Element.hh,v 1.5 1999/12/16 18:11:08 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
//
|
||||
//
|
||||
// ------------------- class G4Element -------------------
|
||||
//
|
||||
// Torre Wenaus, November 1995
|
||||
|
||||
// class description
|
||||
//
|
||||
// An element is a chemical element either directly defined in terms of
|
||||
// its charactaristics: its name, symbol,
|
||||
@@ -29,6 +27,7 @@
|
||||
//
|
||||
// Elements can be assembled singly or in mixtures into materials used
|
||||
// in volume definitions via the G4Material class.
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
|
||||
|
||||
@@ -69,7 +68,7 @@ typedef G4RWTPtrOrderedVector<G4Element> G4ElementTable;
|
||||
|
||||
class G4Element
|
||||
{
|
||||
public:
|
||||
public: // with description
|
||||
|
||||
//
|
||||
// Constructor to Build an element directly; no reference to isotopes
|
||||
@@ -100,32 +99,52 @@ public:
|
||||
//
|
||||
G4String GetName() const {return fName;};
|
||||
G4String GetSymbol() const {return fSymbol;};
|
||||
G4double GetZ() const {return fZeff;};
|
||||
G4double GetN() const {return fNeff;};
|
||||
G4double GetA() const {return fAeff;};
|
||||
G4double GetZ() const {return fZeff;}; //atomic number
|
||||
G4double GetN() const {return fNeff;}; //number of nucleons
|
||||
G4double GetA() const {return fAeff;}; //mass of a mole
|
||||
|
||||
//the number of atomic shells in this element:
|
||||
G4int GetNbOfAtomicShells() const {return fNbOfAtomicShells;};
|
||||
//the binding energy of the shell :
|
||||
G4double GetAtomicShell(G4int) const;
|
||||
|
||||
|
||||
//number of isotopes constituing this element:
|
||||
size_t GetNumberOfIsotopes() const {return fNumberOfIsotopes;};
|
||||
|
||||
//vector of pointers to isotopes constituing this element:
|
||||
G4IsotopeVector* GetIsotopeVector() const {return theIsotopeVector;};
|
||||
size_t GetNumberOfIsotopes() const {return fNumberOfIsotopes;};
|
||||
|
||||
//vector of relative abundance of each isotope:
|
||||
G4double* GetRelativeAbundanceVector() const {return fRelativeAbundanceVector;};
|
||||
|
||||
const G4Isotope* GetIsotope(G4int iso) const {return (*theIsotopeVector)[iso];};
|
||||
|
||||
//the (static) Table of Elements:
|
||||
static const G4ElementTable* GetElementTable() {return &theElementTable;};
|
||||
static size_t GetNumberOfElements() {return theElementTable.length();};
|
||||
//the index of this element in the Table:
|
||||
size_t GetIndex() const {return fIndexInTable;};
|
||||
|
||||
//return pointer to an element, given its name:
|
||||
static G4Element* GetElement(G4String name);
|
||||
|
||||
|
||||
//Coulomb correction factor:
|
||||
G4double GetfCoulomb() const {return fCoulomb;};
|
||||
|
||||
//Tsai formula for the radiation length:
|
||||
G4double GetfRadTsai() const {return fRadTsai;};
|
||||
|
||||
|
||||
//pointer to ionisation parameters:
|
||||
G4IonisParamElm* GetIonisation() const {return fIonisation;};
|
||||
|
||||
|
||||
//
|
||||
// printing methods
|
||||
//
|
||||
friend G4std::ostream& operator<<(G4std::ostream&, G4Element*);
|
||||
friend G4std::ostream& operator<<(G4std::ostream&, G4Element&);
|
||||
friend G4std::ostream& operator<<(G4std::ostream&, G4ElementTable);
|
||||
|
||||
public: // without description
|
||||
|
||||
G4int operator==(const G4Element&) const;
|
||||
G4int operator!=(const G4Element&) const;
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4ElementTable.hh,v 1.1.10.1 1999/12/07 20:49:16 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
// $Id: G4ElementTable.hh,v 1.2 1999/12/15 14:50:49 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4ElementVector.hh,v 1.1.10.1 1999/12/07 20:49:16 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
// $Id: G4ElementVector.hh,v 1.2 1999/12/15 14:50:49 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -5,12 +5,16 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IonisParamElm.hh,v 1.2.8.1 1999/12/07 20:49:16 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
// $Id: G4IonisParamElm.hh,v 1.4 1999/12/16 18:11:08 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
//
|
||||
|
||||
// class description
|
||||
//
|
||||
// ------------------- class G4IonisParamElm -------------------
|
||||
// The class contains few (physical) quantities related to the Ionisation
|
||||
// process, for the Element defined by its atomic number Z
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
|
||||
|
||||
// 09-07-98, data moved from G4Element. M.Maire
|
||||
@@ -27,25 +31,35 @@
|
||||
|
||||
class G4IonisParamElm
|
||||
{
|
||||
public:
|
||||
public: // with description
|
||||
|
||||
G4IonisParamElm(G4double Z);
|
||||
~G4IonisParamElm();
|
||||
|
||||
// retrieval methods
|
||||
|
||||
G4double GetZ() const {return fZ;};
|
||||
G4double GetZ3() const {return fZ3;};
|
||||
G4double GetZZ3() const {return fZZ3;};
|
||||
G4double GetlogZ3() const {return flogZ3;};
|
||||
G4double GetZ() const {return fZ;}; // atomic number Z
|
||||
G4double GetZ3() const {return fZ3;}; // pow (Z,1/3)
|
||||
G4double GetZZ3() const {return fZZ3;}; // pow (Z(Z+1),1/3)
|
||||
G4double GetlogZ3() const {return flogZ3;}; // log(Z)/3
|
||||
|
||||
G4double GetTau0() const {return fTau0;};
|
||||
G4double GetTaul() const {return fTaul;};
|
||||
// 0.1*pow(Z,1/3)*MeV/proton_mass_c2
|
||||
|
||||
G4double GetTaul() const {return fTaul;}; // 2*MeV/proton mass
|
||||
|
||||
G4double GetAlow() const {return fAlow;};
|
||||
G4double GetBlow() const {return fBlow;};
|
||||
G4double GetClow() const {return fClow;};
|
||||
G4double GetMeanExcitationEnergy() const {return fMeanExcitationEnergy;};
|
||||
// parameters for the low energy ion.loss
|
||||
|
||||
G4double GetMeanExcitationEnergy() const {return fMeanExcitationEnergy;};
|
||||
// 16*pow(Z,0.9)*eV
|
||||
|
||||
G4double* GetShellCorrectionVector() const {return fShellCorrectionVector;};
|
||||
// shell correction coefficients
|
||||
|
||||
public: // without description
|
||||
|
||||
G4int operator==(const G4IonisParamElm&) const;
|
||||
G4int operator!=(const G4IonisParamElm&) const;
|
||||
|
||||
@@ -5,9 +5,16 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IonisParamMat.hh,v 1.2.8.1 1999/12/07 20:49:16 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
// $Id: G4IonisParamMat.hh,v 1.4 1999/12/16 18:11:09 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
//
|
||||
|
||||
// class description
|
||||
//
|
||||
// The class contains few (physical) quantities related to the Ionisation
|
||||
// process, for a material defined by its pointer G4Material*
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
|
||||
|
||||
// 09-07-98, data moved from G4Material, M.Maire
|
||||
@@ -24,7 +31,7 @@ class G4Material; // forward declaration
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
|
||||
|
||||
class G4IonisParamMat
|
||||
class G4IonisParamMat // with description
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -33,19 +40,22 @@ public:
|
||||
|
||||
//
|
||||
// retrieval methods
|
||||
//
|
||||
|
||||
//
|
||||
|
||||
// parameters for mean energy loss calculation:
|
||||
G4double GetMeanExcitationEnergy() const {return fMeanExcitationEnergy;};
|
||||
G4double GetLogMeanExcEnergy() const {return fLogMeanExcEnergy;};
|
||||
G4double* GetShellCorrectionVector() const {return fShellCorrectionVector;};
|
||||
G4double GetTaul() const {return fTaul;};
|
||||
|
||||
|
||||
// parameters of the density correction:
|
||||
G4double GetCdensity() const {return fCdensity;};
|
||||
G4double GetMdensity() const {return fMdensity;};
|
||||
G4double GetAdensity() const {return fAdensity;};
|
||||
G4double GetX0density() const {return fX0density;};
|
||||
G4double GetX1density() const {return fX1density;};
|
||||
|
||||
// parameters of the energy loss fluctuation model:
|
||||
G4double GetF1fluct() const {return fF1fluct;};
|
||||
G4double GetF2fluct() const {return fF2fluct;};
|
||||
G4double GetEnergy1fluct() const {return fEnergy1fluct;};
|
||||
@@ -54,6 +64,8 @@ public:
|
||||
G4double GetLogEnergy2fluct() const {return fLogEnergy2fluct;};
|
||||
G4double GetEnergy0fluct() const {return fEnergy0fluct;};
|
||||
G4double GetRateionexcfluct() const {return fRateionexcfluct;};
|
||||
|
||||
public: // without description
|
||||
|
||||
G4int operator==(const G4IonisParamMat&) const;
|
||||
G4int operator!=(const G4IonisParamMat&) const;
|
||||
@@ -79,7 +91,7 @@ private:
|
||||
//
|
||||
G4Material* fMaterial; // this material
|
||||
|
||||
// parameters for energy loss calculation
|
||||
// parameters for mean energy loss calculation
|
||||
G4double fMeanExcitationEnergy; //
|
||||
G4double fLogMeanExcEnergy; //
|
||||
G4double* fShellCorrectionVector; // shell correction coefficients
|
||||
@@ -92,7 +104,7 @@ private:
|
||||
G4double fX0density; //
|
||||
G4double fX1density; //
|
||||
|
||||
// parameters of the energy fluctuation model
|
||||
// parameters of the energy loss fluctuation model
|
||||
G4double fF1fluct;
|
||||
G4double fF2fluct;
|
||||
G4double fEnergy1fluct;
|
||||
|
||||
@@ -5,19 +5,12 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4Isotope.hh,v 1.1.8.1.2.1.2.1 1999/12/08 17:34:04 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
//
|
||||
// $Id: G4Isotope.hh,v 1.4 1999/12/16 18:11:09 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, CN Division, ASD group
|
||||
//
|
||||
// ----------------- class G4Isotope ------------------
|
||||
//
|
||||
// Torre Wenaus, November 1995
|
||||
|
||||
// class description
|
||||
//
|
||||
// An isotope is a chemical isotope defined by its name,
|
||||
// Z (atomic number),
|
||||
@@ -28,6 +21,7 @@
|
||||
// isotopes (an ordered vector of isotopes).
|
||||
//
|
||||
// Isotopes can be assembled into elements via the G4Element class.
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
|
||||
|
||||
@@ -51,7 +45,7 @@ typedef G4RWTPtrOrderedVector<G4Isotope> G4IsotopeTable;
|
||||
|
||||
class G4Isotope
|
||||
{
|
||||
public:
|
||||
public: // with description
|
||||
|
||||
// Make an isotope
|
||||
G4Isotope(const G4String& name, //its name
|
||||
@@ -83,6 +77,8 @@ class G4Isotope
|
||||
friend
|
||||
G4std::ostream& operator<<(G4std::ostream&, G4IsotopeTable);
|
||||
|
||||
public: // without description
|
||||
|
||||
G4int operator==(const G4Isotope &right) const;
|
||||
G4int operator!=(const G4Isotope &right) const;
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4IsotopeVector.hh,v 1.1.10.1 1999/12/07 20:49:17 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
// $Id: G4IsotopeVector.hh,v 1.2 1999/12/15 14:50:49 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4MPVEntry.hh,v 1.3.2.1 1999/11/11 14:30:14 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
// $Id: G4MPVEntry.hh,v 1.4 1999/11/11 15:36:09 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
//
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -5,13 +5,11 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4Material.hh,v 1.4.6.1.2.1.2.1 1999/12/08 17:34:04 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
// $Id: G4Material.hh,v 1.7 1999/12/16 18:11:09 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
//
|
||||
//
|
||||
// ------------------- class G4Material ---------------------
|
||||
//
|
||||
// Torre Wenaus, November 1995
|
||||
|
||||
// class description
|
||||
//
|
||||
// Materials defined via the G4Material class are used to define the
|
||||
// composition of Geant volumes.
|
||||
@@ -20,14 +18,17 @@
|
||||
// its name,
|
||||
// density,
|
||||
// state informations,
|
||||
// and Z,A of the underlying Element.
|
||||
// and Z,A of the underlying Element.
|
||||
//
|
||||
// or in terms of a collection of constituent Elements with specified weights
|
||||
// (composition specified either by fractional mass or atom counts).
|
||||
//
|
||||
// Quantities, with physical meaning or not, which are constant in a given
|
||||
// material are computed and stored here as Derived data members.
|
||||
// The class contains as a private static member the table of defined
|
||||
//
|
||||
// The class contains as a private static member the Table of defined
|
||||
// materials (an ordered vector of materials).
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
|
||||
|
||||
@@ -78,7 +79,7 @@ enum G4State { kStateUndefined, kStateSolid, kStateLiquid, kStateGas };
|
||||
|
||||
class G4Material
|
||||
{
|
||||
public:
|
||||
public: // with description
|
||||
|
||||
//
|
||||
// Constructor to create a material from scratch.
|
||||
@@ -156,33 +157,29 @@ public:
|
||||
G4double GetTemperature() const {return fTemp;};
|
||||
G4double GetPressure() const {return fPressure;};
|
||||
|
||||
//number of elements constituing this material:
|
||||
size_t GetNumberOfElements() const {return fNumberOfElements;};
|
||||
|
||||
//vector of pointers to elements constituing this material:
|
||||
const
|
||||
G4ElementVector* GetElementVector() const {return theElementVector;};
|
||||
size_t GetNumberOfElements() const {return fNumberOfElements;};
|
||||
|
||||
//vector of fractional mass of each element:
|
||||
const G4double* GetFractionVector() const {return fMassFractionVector;};
|
||||
|
||||
//vector of atom count of each element:
|
||||
const G4int* GetAtomsVector() const {return fAtomsVector;};
|
||||
|
||||
//return a pointer to an element, given its index in the material:
|
||||
const
|
||||
G4Element* GetElement(G4int iel) const {return (*theElementVector)[iel];};
|
||||
|
||||
void SetMaterialPropertiesTable(G4MaterialPropertiesTable* anMPT)
|
||||
{fMaterialPropertiesTable = anMPT;};
|
||||
|
||||
G4MaterialPropertiesTable* GetMaterialPropertiesTable() const
|
||||
{return fMaterialPropertiesTable;};
|
||||
|
||||
static
|
||||
const G4MaterialTable* GetMaterialTable() {return &theMaterialTable;};
|
||||
|
||||
static
|
||||
size_t GetNumberOfMaterials() {return theMaterialTable.length();};
|
||||
size_t GetIndex() const {return fIndexInTable;};
|
||||
|
||||
static G4Material* GetMaterial(G4String name);
|
||||
|
||||
//vector of nb of atoms per volume of each element in this material:
|
||||
const
|
||||
G4double* GetVecNbOfAtomsPerVolume() const {return VecNbOfAtomsPerVolume;};
|
||||
//total number of atoms per volume:
|
||||
G4double GetTotNbOfAtomsPerVolume() const {return TotNbOfAtomsPerVolume;};
|
||||
//total number of electrons per volume:
|
||||
G4double GetTotNbOfElectPerVolume() const {return TotNbOfElectPerVolume;};
|
||||
|
||||
//obsolete names (5-10-98) see the 2 functions above
|
||||
@@ -190,22 +187,46 @@ public:
|
||||
G4double* GetAtomicNumDensityVector() const {return VecNbOfAtomsPerVolume;};
|
||||
G4double GetElectronDensity() const {return TotNbOfElectPerVolume;};
|
||||
|
||||
// Radiation length:
|
||||
G4double GetRadlen() const {return fRadlen;};
|
||||
|
||||
// ionisation parameters:
|
||||
G4IonisParamMat* GetIonisation() const {return fIonisation;};
|
||||
|
||||
// Sandia table:
|
||||
G4SandiaTable* GetSandiaTable() const {return fSandiaTable;};
|
||||
|
||||
//meaningful only for single material:
|
||||
G4double GetZ() const;
|
||||
G4double GetA() const;
|
||||
|
||||
friend
|
||||
G4std::ostream& operator<<(G4std::ostream&, G4Material*);
|
||||
//the MaterialPropertiesTable (if any) attached to this material:
|
||||
void SetMaterialPropertiesTable(G4MaterialPropertiesTable* anMPT)
|
||||
{fMaterialPropertiesTable = anMPT;};
|
||||
|
||||
G4MaterialPropertiesTable* GetMaterialPropertiesTable() const
|
||||
{return fMaterialPropertiesTable;};
|
||||
|
||||
//the (static) Table of Materials:
|
||||
static
|
||||
const G4MaterialTable* GetMaterialTable() {return &theMaterialTable;};
|
||||
static
|
||||
size_t GetNumberOfMaterials() {return theMaterialTable.length();};
|
||||
//the index of this material in the Table:
|
||||
size_t GetIndex() const {return fIndexInTable;};
|
||||
|
||||
friend
|
||||
G4std::ostream& operator<<(G4std::ostream&, G4Material&);
|
||||
//return pointer to a material, given its name:
|
||||
static G4Material* GetMaterial(G4String name);
|
||||
|
||||
friend
|
||||
G4std::ostream& operator<<(G4std::ostream&, G4MaterialTable);
|
||||
|
||||
//
|
||||
//printing methods
|
||||
//
|
||||
friend G4std::ostream& operator<<(G4std::ostream&, G4Material*);
|
||||
friend G4std::ostream& operator<<(G4std::ostream&, G4Material&);
|
||||
friend G4std::ostream& operator<<(G4std::ostream&, G4MaterialTable);
|
||||
|
||||
public: // without description
|
||||
|
||||
G4int operator==(const G4Material&) const;
|
||||
G4int operator!=(const G4Material&) const;
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4MaterialPropertiesTable.hh,v 1.7.4.1 1999/12/09 10:28:47 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
// $Id: G4MaterialPropertiesTable.hh,v 1.9 2000/03/03 10:21:00 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
//
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
@@ -88,28 +88,28 @@ public: // Without description
|
||||
|
||||
public: // With description
|
||||
|
||||
void AddProperty(char *key,
|
||||
void AddProperty(const char *key,
|
||||
G4double *PhotonMomenta,
|
||||
G4double *PropertyValues,
|
||||
G4int NumEntries);
|
||||
// Add a new property to the table by giving a key-name and the
|
||||
// arrays x and y of size NumEntries.
|
||||
|
||||
void AddProperty(char *key, G4MaterialPropertyVector *opv);
|
||||
void AddProperty(const char *key, G4MaterialPropertyVector *opv);
|
||||
// Add a new property to the table by giving a key-name and an
|
||||
// already constructed G4MaterialPropertyVector.
|
||||
|
||||
void RemoveProperty(char *key);
|
||||
void RemoveProperty(const char *key);
|
||||
// Remove a property from the table.
|
||||
|
||||
G4MaterialPropertyVector* GetProperty(char *key);
|
||||
G4MaterialPropertyVector* GetProperty(const char *key);
|
||||
// Get the property from the table corresponding to the key-name.
|
||||
|
||||
void AddEntry(char *key, G4double aPhotonMomentum,
|
||||
void AddEntry(const char *key, G4double aPhotonMomentum,
|
||||
G4double aPropertyValue);
|
||||
// Add a new entry (pair of numbers) to the table for a given key.
|
||||
|
||||
void RemoveEntry(char *key, G4double aPhotonMomentum);
|
||||
void RemoveEntry(const char *key, G4double aPhotonMomentum);
|
||||
// Remove an entry from the table for a given key and x-value.
|
||||
|
||||
void DumpTable();
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4MaterialPropertyVector.hh,v 1.3.2.1 1999/11/11 14:30:15 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
// $Id: G4MaterialPropertyVector.hh,v 1.4 1999/11/11 15:36:09 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
//
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4MaterialTable.hh,v 1.1.10.1 1999/12/07 20:49:17 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
// $Id: G4MaterialTable.hh,v 1.2 1999/12/15 14:50:50 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4OpticalSurface.hh,v 1.4 1999/11/05 21:12:05 gum Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
//
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -5,9 +5,16 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4SandiaTable.hh,v 1.3.8.1 1999/12/07 20:49:17 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
// $Id: G4SandiaTable.hh,v 1.6 2000/06/15 17:35:25 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
|
||||
// class description
|
||||
//
|
||||
// This class is an interface to G4StaticSandiaData.
|
||||
// it provides - Sandia coeff for an element, given its Z
|
||||
// - sandia coeff for a material, given a pointer to it
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
|
||||
//
|
||||
// 18.11.98 simplified public interface; new methods for materials. mma
|
||||
@@ -29,21 +36,25 @@ class G4Material;
|
||||
|
||||
class G4SandiaTable
|
||||
{
|
||||
public:
|
||||
public: // with description
|
||||
|
||||
G4SandiaTable(G4int);
|
||||
G4SandiaTable(G4Material*);
|
||||
~G4SandiaTable();
|
||||
|
||||
|
||||
//per atom of an Element:
|
||||
static G4int GetNbOfIntervals (G4int Z);
|
||||
static G4double GetSandiaCofPerAtom(G4int Z, G4int, G4int);
|
||||
static G4double* GetSandiaCofPerAtom(G4int Z, G4double energy);
|
||||
static G4double GetIonizationPot (G4int Z);
|
||||
static G4double GetZtoA (G4int Z);
|
||||
|
||||
//per volume of a material:
|
||||
G4int GetMatNbOfIntervals() {return fMatNbOfIntervals;};
|
||||
G4double GetSandiaCofForMaterial(G4int,G4int);
|
||||
G4double* GetSandiaCofForMaterial(G4double energy);
|
||||
|
||||
public: // without description
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
@@ -128,7 +139,7 @@ G4double G4SandiaTable::GetSandiaCofPerAtom(G4int Z, G4int interval, G4int j)
|
||||
G4int row = fCumulInterval[Z-1] + interval;
|
||||
if (j==0) return fSandiaTable[row][0]*keV;
|
||||
G4double AoverAvo = Z/(fZtoAratio[Z]*Avogadro*mole);
|
||||
return fSandiaTable[row][j]*AoverAvo*cm2*pow(keV,(int)j);
|
||||
return fSandiaTable[row][j]*AoverAvo*cm2*pow(keV,G4double(j));
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
|
||||
|
||||
@@ -5,13 +5,10 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G4StaticSandiaData.hh,v 1.2.8.1 1999/12/07 20:49:17 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-01 $
|
||||
//
|
||||
// file G4StaticSandiaData.hh
|
||||
// File for static data of PhotoAbsorption cross section coefficients
|
||||
// according Sandia parametrisation
|
||||
// $Id: G4StaticSandiaData.hh,v 1.4 1999/12/16 18:11:09 maire Exp $
|
||||
// GEANT4 tag $Name: geant4-02-00 $
|
||||
//
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
|
||||
//
|
||||
// 09.11.98 simplified public interface; removed mixting stuf. MMA
|
||||
@@ -22,6 +19,13 @@
|
||||
#include"G4SandiaTable.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
|
||||
|
||||
// class description
|
||||
//
|
||||
// File for static data of PhotoAbsorption cross section coefficients
|
||||
// according Sandia parametrisation
|
||||
//
|
||||
// const G4double G4SandiaTable::fSandiaTable[981][5]
|
||||
//
|
||||
// These are the coefficients from F. Biggs, R. Lighthill 'Analytical
|
||||
// Approximation for X-ray Cross Sections III', SAND-0070, May 1990.
|
||||
@@ -55,7 +59,19 @@
|
||||
// Absolute Photoionization Cross-section Tables for Helium, Neon, Argon,
|
||||
// and Krypton in the VUV Spectral Regions, Atomic Data and Nuclear Data
|
||||
// Tables, 18(1976)497-508.
|
||||
//------------------------------------------------------------------------------
|
||||
//
|
||||
// Ionization potentials of first 100 elements in eV
|
||||
//
|
||||
// const G4double G4SandiaTable::fIonizationPotentials[101]
|
||||
//
|
||||
// The most of ionization energies are taken from S. Ruben, Handbook of the
|
||||
// Elements, 3rd ed. (Open Court, La Salle, IL, 1985). 28 of the ionization
|
||||
// energies have been changed slightly to bring them up to date (changes
|
||||
// from W.C. Martin and B.N. Taylor of the National Institute os Standards
|
||||
// and Technology, January 1990). Here the ionization energy is the least
|
||||
// energy necessary to remove to infinity one electron from an atom of the
|
||||
// element.
|
||||
|
||||
const G4double G4SandiaTable::fSandiaTable[981][5] =
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user