Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4IonisParamElm.hh
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26//
27//
28
29// class description
30//
31// The class contains few (physical) quantities related to the Ionisation
32// process, for the Element defined by its atomic number Z
33//
34
35//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
36
37// 09.03.01: copy constructor and assignement operator in public (mma)
38// 09.07.98: data moved from G4Element (mma)
39
40//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
41
42#ifndef G4IonisParamElm_HH
43#define G4IonisParamElm_HH
44
45#include "G4ios.hh"
46#include "globals.hh"
47
48//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
49
51{
52public: // with description
53
56
57 // retrieval methods
58
59 G4double GetZ() const {return fZ;} // atomic number Z
60 G4double GetZ3() const {return fZ3;} // std::pow (Z,1/3)
61 G4double GetZZ3() const {return fZZ3;} // std::pow (Z(Z+1),1/3)
62 G4double GetlogZ3() const {return flogZ3;} // std::log(Z)/3
63
64 G4double GetTau0() const {return fTau0;};
65 // 0.1*std::pow(Z,1/3)*MeV/proton_mass_c2
66
67 G4double GetTaul() const {return fTaul;} // 2*MeV/proton mass
68
69 G4double GetAlow() const {return fAlow;}
70 G4double GetBlow() const {return fBlow;}
71 G4double GetClow() const {return fClow;}
72 // parameters for the low energy ion.loss
73
74 G4double GetMeanExcitationEnergy() const {return fMeanExcitationEnergy;}
75 // ICRU'37 report
76
77 G4double GetFermiVelocity() const {return fVFermi;};
78 G4double GetLFactor() const {return fLFactor;};
79
80 G4double* GetShellCorrectionVector() const {return fShellCorrectionVector;}
81 // shell correction coefficients
82
83 G4IonisParamElm(__void__&);
84 // Fake default constructor for usage restricted to direct object
85 // persistency for clients requiring preallocation of memory for
86 // persistifiable objects.
87
88 // operators
90 G4bool operator==(const G4IonisParamElm&) const = delete;
91 G4bool operator!=(const G4IonisParamElm&) const = delete;
93
94private:
95
96 //
97 // data members
98 //
99 G4double fZ; // effective Z
100 G4double fZ3; // std::pow (Z,1/3)
101 G4double fZZ3; // std::pow (Z(Z+1),1/3)
102 G4double flogZ3; // std::log(Z)/3
103
104 // ------ ionisation loss ---------------------------------
105
106 G4double fTau0 ; // 0.1*std::pow(Z,1/3)*MeV/proton_mass_c2
107 G4double fTaul ; // 2*MeV/proton mass
108 G4double fBetheBlochLow; // Bethe-Bloch at fTaul*particle mass
109 G4double fAlow,fBlow,fClow; // parameters for the low energy ion.loss
110 G4double fMeanExcitationEnergy; //
111 G4double* fShellCorrectionVector; // shell correction coefficients
112
113 // parameters for ion corrections computations
114 G4double fVFermi;
115 G4double fLFactor;
116};
117
118#endif
double G4double
Definition: G4Types.hh:83
bool G4bool
Definition: G4Types.hh:86
const G4int Z[17]
G4double GetFermiVelocity() const
G4double GetAlow() const
G4double GetZ() const
G4bool operator==(const G4IonisParamElm &) const =delete
G4double GetClow() const
G4IonisParamElm & operator=(const G4IonisParamElm &)=delete
G4bool operator!=(const G4IonisParamElm &) const =delete
G4double GetlogZ3() const
G4double GetTaul() const
G4double GetTau0() const
G4double GetLFactor() const
G4IonisParamElm(G4IonisParamElm &)=delete
G4double * GetShellCorrectionVector() const
G4double GetZ3() const
G4double GetZZ3() const
G4double GetMeanExcitationEnergy() const
G4double GetBlow() const