ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4IonisParamElm.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file G4IonisParamElm.hh
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 {
52 public: // 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 
75  // ICRU'37 report
76 
77  G4double GetFermiVelocity() const {return fVFermi;};
78  G4double GetLFactor() const {return fLFactor;};
79 
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 private:
89 
90  // operators
91  G4IonisParamElm& operator=(const G4IonisParamElm&) = delete;
92  G4bool operator==(const G4IonisParamElm&) const = delete;
93  G4bool operator!=(const G4IonisParamElm&) const = delete;
95  //
96  // data members
97  //
98  G4double fZ; // effective Z
99  G4double fZ3; // std::pow (Z,1/3)
100  G4double fZZ3; // std::pow (Z(Z+1),1/3)
101  G4double flogZ3; // std::log(Z)/3
102 
103  // ------ ionisation loss ---------------------------------
104 
105  G4double fTau0 ; // 0.1*std::pow(Z,1/3)*MeV/proton_mass_c2
106  G4double fTaul ; // 2*MeV/proton mass
107  G4double fBetheBlochLow; // Bethe-Bloch at fTaul*particle mass
108  G4double fAlow,fBlow,fClow; // parameters for the low energy ion.loss
110  G4double* fShellCorrectionVector; // shell correction coefficients
111 
112  // parameters for ion corrections computations
115 };
116 
117 #endif