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
G4VPreCompoundFragment.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4VPreCompoundFragment.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
// J. M. Quesada (August 2008).
28
// Based on previous work by V. Lara
29
//
30
// Modif (03 September 2008) by J. M. Quesada for external choice of inverse
31
// cross section option
32
// JMQ (06 September 2008) Also external choice has been added for:
33
// - superimposed Coulomb barrier (if useSICB=true)
34
// 20.08.2010 V.Ivanchenko added int Z and A and cleanup; added
35
// G4ParticleDefinition to constructor,
36
// inline method to build G4ReactionProduct;
37
// remove string name
38
//
39
40
#ifndef G4VPreCompoundFragment_h
41
#define G4VPreCompoundFragment_h 1
42
43
#include "
G4ios.hh
"
44
#include <iomanip>
45
#include "
G4ParticleDefinition.hh
"
46
#include "
G4IonTable.hh
"
47
#include "
G4Fragment.hh
"
48
#include "
G4VCoulombBarrier.hh
"
49
#include "
G4ReactionProduct.hh
"
50
#include "
G4Pow.hh
"
51
52
class
G4NuclearLevelData
;
53
class
G4DeexPrecoParameters
;
54
55
class
G4VPreCompoundFragment
56
{
57
public
:
58
59
explicit
G4VPreCompoundFragment
(
const
G4ParticleDefinition
*,
60
G4VCoulombBarrier
* aCoulombBarrier);
61
62
virtual
~G4VPreCompoundFragment
();
63
64
friend
std::ostream&
65
operator<<
(std::ostream&,
const
G4VPreCompoundFragment
*);
66
friend
std::ostream&
67
operator<<
(std::ostream&,
const
G4VPreCompoundFragment
&);
68
69
// =====================
70
// Pure Virtual methods
71
// =====================
72
73
// Initialization method
74
void
Initialize
(
const
G4Fragment
& aFragment);
75
76
// Methods for calculating the emission probability
77
// ------------------------------------------------
78
79
// Calculates the total (integrated over kinetic energy) emission
80
// probability of a fragment
81
virtual
G4double
CalcEmissionProbability
(
const
G4Fragment
& aFragment) = 0;
82
83
// sample kinetic energy of emitted fragment
84
virtual
G4double
SampleKineticEnergy
(
const
G4Fragment
& aFragment) = 0;
85
86
inline
G4bool
IsItPossible
(
const
G4Fragment
& aFragment)
const
;
87
88
inline
G4ReactionProduct
*
GetReactionProduct
()
const
;
89
90
inline
G4int
GetA
()
const
;
91
92
inline
G4int
GetZ
()
const
;
93
94
inline
G4int
GetRestA
()
const
;
95
96
inline
G4int
GetRestZ
()
const
;
97
98
inline
G4double
GetBindingEnergy
()
const
;
99
100
inline
G4double
GetEnergyThreshold
()
const
;
101
102
inline
G4double
GetEmissionProbability
()
const
;
103
104
inline
G4double
GetNuclearMass
()
const
;
105
106
inline
G4double
GetRestNuclearMass
()
const
;
107
108
inline
const
G4LorentzVector
&
GetMomentum
()
const
;
109
110
inline
void
SetMomentum
(
const
G4LorentzVector
&
value
);
111
112
//for inverse cross section choice
113
inline
void
SetOPTxs
(
G4int
);
114
//for superimposed Coulomb Barrier for inverse cross sections
115
inline
void
UseSICB
(
G4bool
);
116
117
protected
:
118
119
virtual
G4double
GetAlpha
()
const
= 0;
120
121
virtual
G4double
GetBeta
()
const
= 0;
122
123
private
:
124
125
G4VPreCompoundFragment
(
const
G4VPreCompoundFragment
&
right
) =
delete
;
126
const
G4VPreCompoundFragment
&
127
operator=
(
const
G4VPreCompoundFragment
&right) =
delete
;
128
G4bool
operator==
(
const
G4VPreCompoundFragment
&right)
const
=
delete
;
129
G4bool
operator!=
(
const
G4VPreCompoundFragment
&right)
const
=
delete
;
130
131
// =============
132
// Data members
133
// =============
134
135
const
G4ParticleDefinition
*
particle
;
136
G4VCoulombBarrier
*
theCoulombBarrierPtr
;
137
138
G4LorentzVector
theMomentum
;
139
140
protected
:
141
142
G4NuclearLevelData
*
fNucData
;
143
G4DeexPrecoParameters
*
theParameters
;
144
G4Pow
*
g4calc
;
145
146
G4int
theA
;
147
G4int
theZ
;
148
G4int
theResA
;
149
G4int
theResZ
;
150
G4int
theFragA
;
151
G4int
theFragZ
;
152
153
G4double
theResA13
;
154
G4double
theBindingEnergy
;
155
G4double
theMinKinEnergy
;
156
G4double
theMaxKinEnergy
;
157
G4double
theResMass
;
158
G4double
theReducedMass
;
159
G4double
theMass
;
160
161
G4double
theEmissionProbability
;
162
G4double
theCoulombBarrier
;
163
164
//for inverse cross section choice
165
G4int
OPTxs
;
166
//for superimposed Coulomb Barrier for inverse cross sections
167
G4bool
useSICB
;
168
};
169
170
#include "G4VPreCompoundFragment.icc"
171
172
#endif
geant4
tree
geant4-10.6-release
source
processes
hadronic
models
pre_equilibrium
exciton_model
include
G4VPreCompoundFragment.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:49
using
1.8.2 with
ECCE GitHub integration