Geant4
9.6.p02
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
geant4_9_6_p02
source
processes
hadronic
models
pre_equilibrium
exciton_model
include
G4VPreCompoundFragment.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
//
28
// J. M. Quesada (August 2008).
29
// Based on previous work by V. Lara
30
//
31
// Modif (03 September 2008) by J. M. Quesada for external choice of inverse
32
// cross section option
33
// JMQ (06 September 2008) Also external choice has been added for:
34
// - superimposed Coulomb barrier (if useSICB=true)
35
// 20.08.2010 V.Ivanchenko added int Z and A and cleanup; added
36
// G4ParticleDefinition to constructor,
37
// inline method to build G4ReactionProduct;
38
// remove string name
39
//
40
41
#ifndef G4VPreCompoundFragment_h
42
#define G4VPreCompoundFragment_h 1
43
44
#include "
G4ios.hh
"
45
#include <iomanip>
46
#include "
G4ParticleDefinition.hh
"
47
#include "
G4IonTable.hh
"
48
#include "
G4Fragment.hh
"
49
#include "
G4VCoulombBarrier.hh
"
50
#include "
G4ReactionProduct.hh
"
51
#include "
G4PreCompoundParameters.hh
"
52
#include "
G4Pow.hh
"
53
54
class
G4VPreCompoundFragment
55
{
56
public
:
57
58
// ============================
59
// Constructors and destructor
60
// ============================
61
62
G4VPreCompoundFragment
(
const
G4ParticleDefinition
*,
63
G4VCoulombBarrier
* aCoulombBarrier);
64
65
virtual
~G4VPreCompoundFragment
();
66
67
// ==========
68
// operators
69
// ==========
70
71
friend
std::ostream&
72
operator<<
(std::ostream&,
const
G4VPreCompoundFragment
*);
73
friend
std::ostream&
74
operator<<
(std::ostream&,
const
G4VPreCompoundFragment
&);
75
76
// =====================
77
// Pure Virtual methods
78
// =====================
79
80
// Initialization method
81
void
Initialize
(
const
G4Fragment
& aFragment);
82
83
// Methods for calculating the emission probability
84
// ------------------------------------------------
85
86
// Calculates the total (integrated over kinetic energy) emission
87
// probability of a fragment
88
virtual
G4double
CalcEmissionProbability
(
const
G4Fragment
& aFragment) = 0;
89
90
virtual
G4double
GetKineticEnergy
(
const
G4Fragment
& aFragment) = 0;
91
92
inline
G4ReactionProduct
*
GetReactionProduct
()
const
;
93
94
inline
G4int
GetA
()
const
;
95
96
inline
G4int
GetZ
()
const
;
97
98
inline
G4int
GetRestA
()
const
;
99
100
inline
G4int
GetRestZ
()
const
;
101
102
inline
G4double
ResidualA13
()
const
;
103
104
inline
G4double
GetCoulombBarrier
()
const
;
105
106
inline
G4double
GetBindingEnergy
()
const
;
107
108
inline
G4double
GetMaximalKineticEnergy
()
const
;
109
110
inline
G4double
GetEnergyThreshold
()
const
;
111
112
inline
G4double
GetEmissionProbability
()
const
;
113
114
inline
G4double
GetNuclearMass
()
const
;
115
116
inline
G4double
GetRestNuclearMass
()
const
;
117
118
inline
G4double
GetReducedMass
()
const
;
119
120
inline
const
G4LorentzVector
&
GetMomentum
()
const
;
121
122
inline
void
SetMomentum
(
const
G4LorentzVector
&
value
);
123
124
inline
const
G4String
GetName
()
const
;
125
126
//for inverse cross section choice
127
inline
void
SetOPTxs
(
G4int
);
128
//for superimposed Coulomb Barrier for inverse cross sections
129
inline
void
UseSICB
(
G4bool
);
130
131
protected
:
132
133
inline
G4bool
IsItPossible
(
const
G4Fragment
& aFragment)
const
;
134
135
private
:
136
137
// default constructor
138
G4VPreCompoundFragment
();
139
// copy constructor
140
G4VPreCompoundFragment
(
const
G4VPreCompoundFragment
&
right
);
141
const
G4VPreCompoundFragment
&
142
operator= (
const
G4VPreCompoundFragment
&right);
143
G4int
operator==(
const
G4VPreCompoundFragment
&right)
const
;
144
G4int
operator!=(
const
G4VPreCompoundFragment
&right)
const
;
145
146
// =============
147
// Data members
148
// =============
149
150
const
G4ParticleDefinition
* particle;
151
G4VCoulombBarrier
* theCoulombBarrierPtr;
152
153
G4int
theA;
154
G4int
theZ;
155
G4int
theRestNucleusA;
156
G4int
theRestNucleusZ;
157
158
G4double
theRestNucleusA13;
159
G4double
theBindingEnergy;
160
G4double
theMaximalKineticEnergy;
161
G4double
theRestNucleusMass;
162
G4double
theReducedMass;
163
G4double
theMass;
164
165
G4LorentzVector
theMomentum;
166
167
protected
:
168
169
G4PreCompoundParameters
*
theParameters
;
170
G4Pow
*
g4pow
;
171
172
G4double
theEmissionProbability
;
173
G4double
theCoulombBarrier
;
174
175
//for inverse cross section choice
176
G4int
OPTxs
;
177
//for superimposed Coulomb Barrier for inverse cross sections
178
G4bool
useSICB
;
179
};
180
181
#include "G4VPreCompoundFragment.icc"
182
183
#endif
Generated on Sat May 25 2013 14:34:06 for Geant4 by
1.8.4