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
G4VStatMFMacroCluster.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4VStatMFMacroCluster.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
32
#ifndef G4VStatMFMacroCluster_h
33
#define G4VStatMFMacroCluster_h 1
34
35
#include "
G4StatMFParameters.hh
"
36
#include "
G4HadronicException.hh
"
37
38
class
G4VStatMFMacroCluster
{
39
40
public
:
41
// Constructor
42
G4VStatMFMacroCluster
(
const
G4int
Size) :
43
theA
(Size),
44
_InvLevelDensity
(0.0),
45
_Entropy
(0.0),
46
theZARatio
(0.0),
47
_MeanMultiplicity
(0.0),
48
_Energy
(0.0)
49
{
50
if
(
theA
<= 0)
throw
G4HadronicException
(__FILE__, __LINE__,
51
"G4VStatMFMacroCluster::Constructor: Cluster's size must be >= 1"
);
52
_InvLevelDensity
=
CalcInvLevelDensity
();
53
}
54
55
56
// Destructor
57
virtual
~G4VStatMFMacroCluster
() {};
58
59
60
private
:
61
62
// Default constructor
63
G4VStatMFMacroCluster
() {};
64
65
// Copy constructor
66
G4VStatMFMacroCluster
(
const
G4VStatMFMacroCluster
&
right
);
67
68
// operators
69
G4VStatMFMacroCluster
&
operator=
(
const
G4VStatMFMacroCluster
&
right
);
70
71
public
:
72
G4bool
operator==
(
const
G4VStatMFMacroCluster
&
right
)
const
;
73
G4bool
operator!=
(
const
G4VStatMFMacroCluster
&
right
)
const
;
74
75
private
:
76
G4double
CalcInvLevelDensity
(
void
);
77
78
public
:
79
80
virtual
G4double
CalcMeanMultiplicity
(
const
G4double
FreeVol,
const
G4double
mu,
81
const
G4double
nu,
const
G4double
T
) = 0;
82
83
virtual
G4double
CalcZARatio
(
const
G4double
nu) = 0;
84
85
G4double
GetMeanMultiplicity
(
void
)
const
{
return
_MeanMultiplicity
; }
86
87
virtual
G4double
CalcEnergy
(
const
G4double
T
) = 0;
88
89
virtual
G4double
CalcEntropy
(
const
G4double
T
,
const
G4double
FreeVol) = 0;
90
91
protected
:
92
// Number of nucleons in the cluster
93
G4int
theA
;
94
95
// Inverse level density
96
G4double
_InvLevelDensity
;
97
98
// Entropy
99
G4double
_Entropy
;
100
101
// Z/A ratio
102
G4double
theZARatio
;
103
104
// Mean Multiplicity
105
G4double
_MeanMultiplicity
;
106
107
// Energy
108
G4double
_Energy
;
109
110
// *************************************************************************
111
public
:
112
113
G4double
GetInvLevelDensity
(
void
)
const
114
{
return
_InvLevelDensity
; }
115
116
void
SetZARatio
(
const
G4double
value
)
117
{
theZARatio
=
value
; }
118
119
G4double
GetZARatio
(
void
)
const
120
{
return
theZARatio
; }
121
122
123
void
SetSize
(
const
G4double
value
)
124
{
125
if
(value <= 0.0)
throw
G4HadronicException
(__FILE__, __LINE__,
"G4VStatMFMacroCluster::SetSize: Cluster's size must be >= 1"
);
126
theA
=
G4int
(value);
127
_InvLevelDensity
=
CalcInvLevelDensity
();
128
}
129
130
G4double
GetSize
(
void
)
const
131
{
return
theA
; }
132
133
134
135
136
137
};
138
139
#endif
geant4
tree
geant4-10.6-release
source
processes
hadronic
models
de_excitation
multifragmentation
include
G4VStatMFMacroCluster.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:42
using
1.8.2 with
ECCE GitHub integration