Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4RDeBremsstrahlungSpectrum.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 // $Id$
27 // GEANT4 tag $Name: geant4-09-01-ref-00 $
28 //
29 // -------------------------------------------------------------------
30 //
31 // GEANT4 Class file
32 //
33 //
34 // File name: G4EBremsstrahlungSpectrum
35 //
36 // Author: V.Ivanchenko (Vladimir.Ivantchenko@cern.ch)
37 //
38 // Creation date: 27 September 2001
39 //
40 // Modifications:
41 // 10.10.01 MGP Revision to improve code quality and consistency with design
42 // 29.11.01 V.Ivanchenko Parametrisation is updated
43 // 21.02.03 V.Ivanchenko Energy bins are defined in the constructor
44 // 28.02.03 V.Ivanchenko Filename is defined in the constructor
45 // 25.05.03 MGP Data member xp contained by value, not a reference
46 //
47 // -------------------------------------------------------------------
48 
49 // Class Description:
50 // Provides various integration over gamma spectrum of e- Bremsstrahlung.
51 // Parametrisation is described in Physics Reference Manual based on
52 // data from EEDL database.
53 // Further documentation available from http://www.ge.infn.it/geant4/lowE
54 
55 // -------------------------------------------------------------------
56 
57 #ifndef G4RDEBREMSSTRAHLUNGSPECTRUM_HH
58 #define G4RDEBREMSSTRAHLUNGSPECTRUM_HH 1
59 
60 #include "globals.hh"
61 #include "G4DataVector.hh"
62 #include "G4RDVEnergySpectrum.hh"
63 
65 
67 {
68 public:
69 
71 
73 
75  G4double tMin,
76  G4double tMax,
77  G4double kineticEnergy,
78  G4int shell=0,
79  const G4ParticleDefinition* pd=0) const;
80 
82  G4double tMin,
83  G4double tMax,
84  G4double kineticEnergy,
85  G4int shell=0,
86  const G4ParticleDefinition* pd=0) const;
87 
89  G4double tMin,
90  G4double tMax,
91  G4double kineticEnergy,
92  G4int shell=0,
93  const G4ParticleDefinition* pd=0) const;
94 
96  G4int Z = 0,
97  const G4ParticleDefinition* pd=0) const;
98 
99  G4double Excitation(G4int Z, G4double kineticEnergy) const;
100 
101  void PrintData() const;
102 
103 private:
104 
105  G4double IntSpectrum(G4double xMin, G4double xMax,
106  const G4DataVector& p) const;
107 
108  G4double AverageValue(G4double xMin, G4double xMax,
109  const G4DataVector& p) const;
110 
111  G4double Function(G4double x, const G4DataVector& p) const;
112 
113 
114  // Hide copy constructor and assignment operator
117 
118  G4RDBremsstrahlungParameters* theBRparam;
119  G4double lowestE;
120  size_t length;
121  G4int verbose;
122  // const G4DataVector& xp;
123  const G4DataVector xp;
124 };
125 
126 #endif
const char * p
Definition: xmltok.h:285
const XML_Char * name
int G4int
Definition: G4Types.hh:78
G4double Probability(G4int Z, G4double tMin, G4double tMax, G4double kineticEnergy, G4int shell=0, const G4ParticleDefinition *pd=0) const
G4double Excitation(G4int Z, G4double kineticEnergy) const
G4double SampleEnergy(G4int Z, G4double tMin, G4double tMax, G4double kineticEnergy, G4int shell=0, const G4ParticleDefinition *pd=0) const
G4double AverageEnergy(G4int Z, G4double tMin, G4double tMax, G4double kineticEnergy, G4int shell=0, const G4ParticleDefinition *pd=0) const
G4double MaxEnergyOfSecondaries(G4double kineticEnergy, G4int Z=0, const G4ParticleDefinition *pd=0) const
double G4double
Definition: G4Types.hh:76
G4RDeBremsstrahlungSpectrum(const G4DataVector &bins, const G4String &name)