Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
G4NeutronHPFissionERelease.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// $Id$
28//
29// 070606 fix for Valgrind by T. Koi
30//
31#ifndef G4NeutronHPFissionERelease_h
32#define G4NeutronHPFissionERelease_h 1
33
34#include <fstream>
36
37#include "globals.hh"
38#include "G4ios.hh"
39
41{
42 public:
44 : totalEnergy( 0.0 )
45 , fragmentKinetic( 0.0 )
46 , promptNeutronKinetic( 0.0 )
47 , delayedNeutronKinetic( 0.0 )
48 , promptGammaEnergy( 0.0 )
49 , delayedGammaEnergy( 0.0 )
50 , neutrinoEnergy( 0.0 )
51 , reducedTotalEnergy( 0.0 )
52 {
53 }
55
56 inline void Init(std::ifstream & aDataFile)
57 {
58 G4double dummy;
59
60 aDataFile >>dummy
61 >>fragmentKinetic
62 >>promptNeutronKinetic
63 >>delayedNeutronKinetic
64 >>promptGammaEnergy
65 >>delayedGammaEnergy
66 >>delayedBetaEnergy
67 >>neutrinoEnergy
68 >>reducedTotalEnergy
69 >>totalEnergy;
70
71 fragmentKinetic*=CLHEP::eV;
72 promptNeutronKinetic*=CLHEP::eV;
73 delayedNeutronKinetic*=CLHEP::eV;
74 promptGammaEnergy*=CLHEP::eV;
75 delayedGammaEnergy*=CLHEP::eV;
76 delayedBetaEnergy*=CLHEP::eV;
77 neutrinoEnergy*=CLHEP::eV;
78 reducedTotalEnergy*=CLHEP::eV;
79 totalEnergy*=CLHEP::eV;
80 }
81
82 inline G4double GetTotalEnergy(G4double deltaNNeu, G4double anEnergy)
83 {
84 G4double result, delta, energy;
85 energy = anEnergy/CLHEP::eV;
86 delta = -(1.057*energy - 8.07*deltaNNeu);
87 result = totalEnergy - delta*CLHEP::eV;
88 return result;
89 }
91 {
92 return fragmentKinetic;
93 }
95 {
96 G4double result, delta, energy;
97 energy = anEnergy/CLHEP::eV;
98 delta = -(1.307*energy - 8.07*deltaNNeu);
99 result = totalEnergy - delta*CLHEP::eV;
100 return result;
101 }
103 {
104 return delayedNeutronKinetic;
105 }
107 {
108 return promptGammaEnergy;
109 }
111 {
112 G4double delta = 0.075*anEnergy;
113 G4double result = delayedGammaEnergy-delta;
114 return result;
115 }
117 {
118 G4double delta = 0.075*anEnergy;
119 G4double result = delayedBetaEnergy-delta;
120 return result;
121 }
123 {
124 G4double delta = 0.1*anEnergy;
125 G4double result = neutrinoEnergy-delta;
126 return result;
127 }
128 inline G4double GetReducedTotal(G4double deltaNNeu, G4double anEnergy)
129 {
130 return GetTotalEnergy(deltaNNeu, anEnergy) - GetNeutrinoEnergy(anEnergy);
131 }
132 private:
133
134 G4double totalEnergy;
135 G4double fragmentKinetic;
136 G4double promptNeutronKinetic;
137 G4double delayedNeutronKinetic;
138 G4double promptGammaEnergy;
139 G4double delayedGammaEnergy;
140 G4double delayedBetaEnergy;
141 G4double neutrinoEnergy;
142 G4double reducedTotalEnergy; // total - neutrino
143};
144
145#endif
double G4double
Definition: G4Types.hh:64
G4double GetTotalEnergy(G4double deltaNNeu, G4double anEnergy)
G4double GetDelayedBetaEnergy(G4double anEnergy)
G4double GetNeutrinoEnergy(G4double anEnergy)
void Init(std::ifstream &aDataFile)
G4double GetDelayedGammaEnergy(G4double anEnergy)
G4double GetReducedTotal(G4double deltaNNeu, G4double anEnergy)
G4double GetPromptNeutronKinetic(G4double deltaNNeu, G4double anEnergy)