ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4DensityEffectCalculator.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file G4DensityEffectCalculator.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  * Interface to calculation of the Fermi density effect as per the method
28  * described in:
29  *
30  * R. M. Sternheimer, M. J. Berger, and S. M. Seltzer. Density
31  * effect for the ionization loss of charged particles in various sub-
32  * stances. Atom. Data Nucl. Data Tabl., 30:261, 1984.
33  *
34  * Which (among other Sternheimer references) builds on:
35  *
36  * R. M. Sternheimer. The density effect for ionization loss in
37  * materials. Phys. Rev., 88:851­859, 1952.
38  *
39  * The returned values of delta are directly from the Sternheimer calculation,
40  * and not Sternheimer's popular three-part approximate parameterization
41  * introduced in the same paper.
42  *
43  * Author: Matthew Strait <straitm@umn.edu> 2019
44  */
45 
46 #ifndef G4DensityEffectCalculator_HH
47 #define G4DensityEffectCalculator_HH
48 
49 #include "globals.hh"
50 
51 class G4Material;
52 
54 {
55 public:
56 
59 
60  // The Sternheimer 'x' defined as log10(p/m) == log10(beta*gamma).
62 
63 private:
64 
65  /*
66  * Given a material defined in 'par' with a plasma energy, mean excitation
67  * energy, and set of atomic energy levels ("oscillator frequencies") with
68  * occupation fractions ("oscillation strengths"), solve for the Sternheimer
69  * adjustment factor (Sternheimer 1984 eq 8) and record (into 'par') the values
70  * of the adjusted oscillator frequencies and Sternheimer constants l_i.
71  * After doing this, 'par' is ready for a calculation of delta for an
72  * arbitrary particle energy. Returns true on success, false on failure.
73  */
75 
76  G4double Newton(G4double x0, G4bool first);
77 
79 
81 
83 
85 
87 
91 
92  // Number of energy levels. If a single element, this is the number
93  // of subshells. If several elements, this is the sum of the number
94  // of subshells. In principle, could include levels for molecular
95  // orbitals or other non-atomic states. The last level is always
96  // the conduction band. If the material is an insulator, set the
97  // oscillator strength for that level to zero and the energy to
98  // any value.
99  const G4int nlev;
100 
102 
103  // Current Sternheimer 'x' defined as log10(p/m) == log10(beta*gamma).
105 
106  // The plasma energy of the material in eV, which is simply
107  // 28.816 sqrt(density Z/A), with density in g/cc.
109 
110  // The mean excitation energy of the material in eV, i.e. the 'I' in the
111  // Bethe energy loss formula.
113 
114  // Sternheimer's "oscillator strengths", which are simply the fraction
115  // of electrons in a given energy level. For a single element, this is
116  // the fraction of electrons in a subshell. For a compound or mixture,
117  // it is weighted by the number fraction of electrons contributed by
118  // each element, e.g. for water, oxygen's electrons are given 8/10 of the
119  // weight.
121 
122  // Energy levels. Can be found for free atoms in, e.g., T. A. Carlson.
123  // Photoelectron and Auger Spectroscopy. Plenum Press, New York and London,
124  // 1985. Available in a convenient form in G4AtomicShells.cc.
125  //
126  // Sternheimer 1984 implies that the energy level for conduction electrons
127  // (the final element of this array) should be set to zero, although the
128  // computation could be run with other values.
130 
131  /***** Results of intermediate calculations *****/
132 
133  // The Sternheimer parameters l_i which appear in Sternheimer 1984 eq(1).
135 
136  // The adjusted energy levels, as found using Sternheimer 1984 eq(8).
138 };
139 
140 #endif