ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4eIonisationSpectrum.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file G4eIonisationSpectrum.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 // GEANT4 Class file
30 //
31 //
32 // File name: G4eIonisationSpectrum
33 //
34 // Author: V.Ivanchenko (Vladimir.Ivantchenko@cern.ch)
35 //
36 // Creation date: 27 September 2001
37 //
38 // Modifications:
39 // 10.10.01 MGP Revision to improve code quality and
40 // consistency with design
41 // 29.11.01 V.Ivanchenko Parametrisation is updated
42 // 30.05.02 VI Add inline functions
43 //
44 // -------------------------------------------------------------------
45 
46 // Class Description:
47 // Provides various integration over delta-electron spectrum for e-
48 // ionisation process. Spectrum is parametrised accourding to
49 // EEDL database, details are described in the Physics Reference Manual
50 // Further documentation available from http://www.ge.infn.it/geant4/lowE
51 
52 // -------------------------------------------------------------------
53 
54 #ifndef G4EIONISATIONSPECTRUM_HH
55 #define G4EIONISATIONSPECTRUM_HH 1
56 
57 #include "G4VEnergySpectrum.hh"
59 
60 //class G4eIonisationParameters;
61 class G4DataVector;
62 
64 {
65 
66 public:
67 
69 
71 
73  G4double kineticEnergy, G4int shell,
74  const G4ParticleDefinition* pd=0) const;
75 
77  G4double kineticEnergy, G4int shell,
78  const G4ParticleDefinition* pd=0) const;
79 
81  G4double kineticEnergy, G4int shell,
82  const G4ParticleDefinition* pd=0) const;
83 
85  G4int Z = 0,
86  const G4ParticleDefinition* pd=0) const;
87 
89 
90  void PrintData() const;
91 
92 protected:
93 
94 private:
95 
97  const G4DataVector& p) const;
98 
100  const G4DataVector& p) const;
101 
102  G4double Function(G4double x, const G4DataVector& p) const;
103 
104  // Hide copy constructor and assignment operator
107 
108 private:
109 
115 };
116 
117 
119  const G4DataVector& p) const
120 {
121  G4double f = 1.0 - p[0] - p[iMax]*x
122  + x*x*(1.0 - p[iMax] + (1.0/(1.0 - x) - p[iMax])/(1.0 - x))
123  + 0.5*p[0]/x;
124 
125  return f;
126 }
127 
129 {
130  return theParam->Excitation(Z, e);
131 }
132 
133 
134 #endif