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
G4VEvaporation.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4VEvaporation.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: Nuclear De-excitations interface
28
//
29
// by V. Lara (Oct 1998) written from G4Evaporation.hh (May 1998)
30
//
31
// Modifications:
32
// 03 September 2008 by J. M. Quesada for external choice of inverse
33
// cross section option
34
// 06 September 2008 (JMQ) Also external choices have been added for
35
// superimposed Coulomb barrier (if useSICBis set true, by default is false)
36
// 23 January 2012 by V.Ivanchenko added pointer of G4VPhotonEvaporation to
37
// the constructor
38
//
39
40
#ifndef G4VEvaporation_h
41
#define G4VEvaporation_h 1
42
43
#include "
globals.hh
"
44
#include "
G4Fragment.hh
"
45
#include "
G4VEvaporationFactory.hh
"
46
#include "
G4VEvaporationChannel.hh
"
47
#include <vector>
48
49
class
G4VEvaporationChannel
;
50
class
G4VFermiBreakUp
;
51
52
class
G4VEvaporation
53
{
54
public
:
55
56
explicit
G4VEvaporation
();
57
virtual
~G4VEvaporation
();
58
59
// vector of products is added to the provided vector
60
// primary fragment is deleted or is modified and added to the list
61
// of products
62
virtual
void
BreakFragment
(
G4FragmentVector
*,
G4Fragment
* theNucleus);
63
64
// definition of options
65
virtual
void
InitialiseChannels
();
66
67
virtual
void
SetPhotonEvaporation
(
G4VEvaporationChannel
* ptr);
68
69
inline
void
SetFermiBreakUp
(
G4VFermiBreakUp
* ptr);
70
71
inline
G4VFermiBreakUp
*
GetFermiBreakUp
()
const
;
72
inline
G4VEvaporationChannel
*
GetPhotonEvaporation
();
73
inline
G4VEvaporationChannel
*
GetFissionChannel
();
74
75
// for inverse cross section choice
76
inline
void
SetOPTxs
(
G4int
opt);
77
// for superimposed Coulomb Barrier for inverse cross sections
78
inline
void
UseSICB
(
G4bool
use);
79
80
inline
size_t
GetNumberOfChannels
()
const
;
81
82
protected
:
83
84
void
CleanChannels
();
85
86
G4VEvaporationChannel
*
thePhotonEvaporation
;
87
G4VFermiBreakUp
*
theFBU
;
88
89
G4int
OPTxs
;
90
G4bool
useSICB
;
91
92
std::vector<G4VEvaporationChannel*> *
theChannels
;
93
G4VEvaporationFactory
*
theChannelFactory
;
94
95
private
:
96
G4VEvaporation
(
const
G4VEvaporation
&
right
) =
delete
;
97
const
G4VEvaporation
&
operator=
(
const
G4VEvaporation
&
right
) =
delete
;
98
G4bool
operator==
(
const
G4VEvaporation
&
right
)
const
=
delete
;
99
G4bool
operator!=
(
const
G4VEvaporation
&
right
)
const
=
delete
;
100
101
};
102
103
inline
void
G4VEvaporation::SetFermiBreakUp
(
G4VFermiBreakUp
* ptr)
104
{
105
theFBU
= ptr;
106
}
107
108
inline
G4VFermiBreakUp
*
G4VEvaporation::GetFermiBreakUp
()
const
109
{
110
return
theFBU
;
111
}
112
113
inline
G4VEvaporationChannel
*
G4VEvaporation::GetPhotonEvaporation
()
114
{
115
return
thePhotonEvaporation
;
116
}
117
118
inline
G4VEvaporationChannel
*
G4VEvaporation::GetFissionChannel
()
119
{
120
return
(
theChannels
&&
theChannels
->size() > 1) ? (*
theChannels
)[1] :
nullptr
;
121
}
122
123
inline
void
G4VEvaporation::SetOPTxs
(
G4int
opt)
124
{
125
OPTxs
= opt;
126
}
127
128
inline
void
G4VEvaporation::UseSICB
(
G4bool
use)
129
{
130
useSICB
= use;
131
}
132
133
inline
size_t
G4VEvaporation::GetNumberOfChannels
()
const
134
{
135
return
theChannels
?
theChannels
->size() : 0;
136
}
137
138
#endif
geant4
tree
geant4-10.6-release
source
processes
hadronic
models
de_excitation
evaporation
include
G4VEvaporation.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:41
using
1.8.2 with
ECCE GitHub integration