ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
G4ParticleHPPhotonDist.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4ParticleHPPhotonDist.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
// Hadronic Process: Very Low Energy Neutron X-Sections
28
// original by H.P. Wellisch, TRIUMF, 14-Feb-97
29
//
30
// 070606 fix for Valgrind error by T. Koi
31
// 070612 fix memory leaking by T. Koi
32
// 070615 fix memory leaking by T. Koi
33
// 080625 fix memory leaking by T. Koi
34
//
35
// P. Arce, June-2014 Conversion neutron_hp to particle_hp
36
//
37
#ifndef G4ParticleHPPhotonDist_h
38
#define G4ParticleHPPhotonDist_h 1
39
40
#include <fstream>
41
42
#include "
globals.hh
"
43
#include "
G4ios.hh
"
44
#include "
globals.hh
"
45
#include "
G4ParticleHPVector.hh
"
46
#include "
G4ParticleHPLegendreTable.hh
"
47
#include "
G4ParticleHPAngularP.hh
"
48
#include "
G4ParticleHPPartial.hh
"
49
#include "
G4ParticleHPFastLegendre.hh
"
50
#include "
G4ParticleHPInterpolator.hh
"
51
#include "
G4ReactionProductVector.hh
"
52
#include "
G4ReactionProduct.hh
"
53
#include "
G4Gamma.hh
"
54
#include "
G4InterpolationManager.hh
"
55
#include "
G4Cache.hh
"
56
57
class
G4ParticleHPPhotonDist
58
{
59
public
:
60
61
G4ParticleHPPhotonDist
()
62
:
repFlag
( 0 )
63
,
targetMass
( 0.0 )
64
,
nDiscrete
( 0 )
65
,
isoFlag
( 0 )
66
,
tabulationType
( 0 )
67
,
nDiscrete2
( 0 )
68
,
nIso
( 0 )
69
,
nPartials
( 0 )
70
,
theInternalConversionFlag
( 0 )
71
,
nGammaEnergies
( 0 )
72
,
theBaseEnergy
( 0.0 )
73
{
74
75
disType
= 0;
76
energy
= 0;
77
theYield
= 0;
78
thePartialXsec
= 0;
79
theReactionXsec
= 0;
80
isPrimary
= 0;
81
theShells
= 0;
82
theGammas
= 0;
83
nNeu
= 0;
84
theLegendre
= 0;
85
theAngular
= 0;
86
distribution
= 0;
87
probs
= 0;
88
partials
= 0;
89
actualMult
.
Put
( 0 );
90
91
theLevelEnergies
= 0;
92
theTransitionProbabilities
= 0;
93
thePhotonTransitionFraction
= 0;
94
95
}
96
97
~G4ParticleHPPhotonDist
()
98
{
99
delete
[]
disType
;
100
delete
[]
energy
;
101
delete
[]
theYield
;
102
delete
[]
thePartialXsec
;
103
// delete [] theReactionXsec;
104
// DHW: not created in this class
105
delete
[]
isPrimary
;
106
delete
[]
theShells
;
107
delete
[]
theGammas
;
108
delete
[]
nNeu
;
109
delete
[]
theAngular
;
110
delete
[]
distribution
;
111
delete
[]
probs
;
112
113
if
(
theLegendre
!= 0 )
114
{
115
for
(
G4int
i = 0 ; i < (
nDiscrete2
-
nIso
) ; i++ )
116
if
(
theLegendre
[i] != 0 )
delete
[]
theLegendre
[i];
117
118
delete
[]
theLegendre
;
119
}
120
121
if
(
partials
!= 0 )
122
{
123
for
(
G4int
i = 0 ; i <
nPartials
; i++ )
124
{
delete
partials
[i]; }
125
126
delete
[]
partials
;
127
}
128
129
delete
[]
theLevelEnergies
;
130
delete
[]
theTransitionProbabilities
;
131
delete
[]
thePhotonTransitionFraction
;
132
if
(
actualMult
.
Get
() != 0)
delete
actualMult
.
Get
();
133
}
134
135
G4bool
InitMean
(std::istream & aDataFile);
136
137
void
InitAngular
(std::istream & aDataFile);
138
139
void
InitEnergies
(std::istream & aDataFile);
140
141
void
InitPartials
(std::istream& aDataFile,
G4ParticleHPVector
* theXsec = 0);
142
143
G4ReactionProductVector
*
GetPhotons
(
G4double
anEnergy);
144
145
inline
G4double
GetTargetMass
() {
return
targetMass
;}
146
147
inline
G4bool
NeedsCascade
() {
return
repFlag
==2;}
148
149
inline
G4double
GetLevelEnergy
() {
return
theBaseEnergy
;}
150
151
private
:
152
153
G4int
repFlag
;
//representation as multiplicities or transition probability arrays.
154
G4double
targetMass
;
155
156
G4int
nDiscrete
;
//number of discrete photons
157
G4int
*
disType
;
// discrete, or continuum photons
158
G4double
*
energy
;
// photon energies
159
G4ParticleHPVector
*
theYield
;
// multiplicity as a function of neutron energy.
160
G4ParticleHPVector
theTotalXsec
;
161
G4ParticleHPVector
*
thePartialXsec
;
162
G4ParticleHPVector
*
theReactionXsec
;
163
G4int
*
isPrimary
;
164
165
G4int
isoFlag
;
// isotropic or not?
166
G4int
tabulationType
;
167
G4int
nDiscrete2
;
168
G4int
nIso
;
169
G4double
*
theShells
;
170
G4double
*
theGammas
;
171
G4int
*
nNeu
;
172
G4InterpolationManager
theLegendreManager
;
173
G4ParticleHPLegendreTable
**
theLegendre
;
174
G4ParticleHPAngularP
**
theAngular
;
175
176
G4int
*
distribution
;
// not used for the moment.
177
G4int
nPartials
;
178
G4ParticleHPVector
*
probs
;
// probabilities for the partial distributions.
179
G4ParticleHPPartial
**
partials
;
// the partials, parallel to the above
180
181
G4Cache< std::vector<G4int>
* >
actualMult
;
182
183
// for transition prob arrays start
184
G4int
theInternalConversionFlag
;
185
G4int
nGammaEnergies
;
186
G4double
theBaseEnergy
;
187
G4double
*
theLevelEnergies
;
188
G4double
*
theTransitionProbabilities
;
189
G4double
*
thePhotonTransitionFraction
;
190
// for transition prob arrays end
191
192
G4ParticleHPFastLegendre
theLegend
;
// fast look-up for leg-integrals
193
G4ParticleHPInterpolator
theInt
;
// interpolation
194
};
195
196
#endif
geant4
tree
geant4-10.6-release
source
processes
hadronic
models
particle_hp
include
G4ParticleHPPhotonDist.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:47
using
1.8.2 with
ECCE GitHub integration