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
G4StatMFChannel.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4StatMFChannel.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
//
28
// Hadronic Process: Nuclear De-excitations
29
// by V. Lara
30
31
#ifndef G4StatMFChannel_h
32
#define G4StatMFChannel_h 1
33
34
#include <deque>
35
36
#include "
G4StatMFParameters.hh
"
37
#include "
G4StatMFFragment.hh
"
38
39
40
class
G4StatMFChannel
{
41
42
public
:
43
// Default Constructor
44
G4StatMFChannel
();
45
46
// Destructor
47
~G4StatMFChannel
();
48
49
private
:
50
51
// Copy constructor
52
G4StatMFChannel
(
const
G4StatMFChannel
&
right
);
53
54
// operators
55
G4StatMFChannel
&
operator=
(
const
G4StatMFChannel
& right);
56
57
G4bool
operator==
(
const
G4StatMFChannel
& right)
const
;
58
G4bool
operator!=
(
const
G4StatMFChannel
& right)
const
;
59
60
public
:
61
62
void
CreateFragment
(
G4int
A
,
G4int
Z
);
63
64
inline
size_t
GetMultiplicity
(
void
) {
return
_theFragments
.size();}
65
66
// Return false if there is some unphysical fragment
67
G4bool
CheckFragments
(
void
);
68
69
G4double
GetFragmentsCoulombEnergy
(
void
);
70
71
G4double
GetFragmentsEnergy
(
G4double
T
)
const
;
72
73
G4FragmentVector
*
GetFragments
(
G4int
anA,
G4int
anZ,
G4double
T
);
74
75
private
:
76
77
// This method calculates asymptotic fragments momenta.
78
void
CoulombImpulse
(
G4int
anA,
G4int
anZ,
G4double
T
);
79
80
void
PlaceFragments
(
G4int
anA);
81
82
void
SolveEqOfMotion
(
G4int
anA,
G4int
anZ,
G4double
T
);
83
84
// Calculates fragments momentum components at the breakup instant.
85
// Fragment kinetic energies will be calculated according to the
86
// Boltzamann distribution at given temperature.
87
void
FragmentsMomenta
(
G4int
NF,
G4int
idx
,
G4double
T
);
88
89
// Rotates a 3-vector P to close momentum triangle Pa + V + P = 0
90
G4ThreeVector
RotateMomentum
(
G4ThreeVector
Pa,
G4ThreeVector
V,
91
G4ThreeVector
P
);
92
93
private
:
94
95
std::deque<G4StatMFFragment*>
_theFragments
;
96
97
G4int
_NumOfNeutralFragments
;
98
99
G4int
_NumOfChargedFragments
;
100
101
struct
DeleteFragment
102
{
103
template
<
typename
T>
104
void
operator()
(
const
T
* ptr)
const
105
{
106
delete
ptr;
107
}
108
};
109
110
};
111
112
#endif
113
114
115
116
117
118
119
geant4
tree
geant4-10.6-release
source
processes
hadronic
models
de_excitation
multifragmentation
include
G4StatMFChannel.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:42
using
1.8.2 with
ECCE GitHub integration