Analysis Software
Documentation for
sPHENIX
simulation software
Home page
Related Pages
Modules
Namespaces
Classes
Files
Examples
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
event.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file event.h
1
// TRENTO: Reduced Thickness Event-by-event Nuclear Topology
2
// Copyright 2015 Jonah E. Bernhard, J. Scott Moreland
3
// TRENTO3D: Three-dimensional extension of TRENTO by Weiyao Ke
4
// MIT License
5
6
#ifndef EVENT_H
7
#define EVENT_H
8
9
#include <functional>
10
#include <map>
11
12
#ifdef NDEBUG
13
#define BOOST_DISABLE_ASSERTS
14
#endif
15
#include <boost/multi_array.hpp>
16
17
#include "
fwd_decl.h
"
18
#include "
rapidity_profile.h
"
19
#include "
nucleon.h
"
20
21
namespace
trento {
22
23
class
NucleonProfile;
24
45
46
class
Event
{
47
public
:
49
explicit
Event
(
const
VarMap
& var_map);
50
57
void
compute
(
const
Nucleus
& nucleusA,
const
Nucleus
& nucleusB,
58
NucleonProfile
&
profile
);
59
61
using
Grid
= boost::multi_array<double, 2>;
62
64
using
Grid3D
= boost::multi_array<double, 3>;
65
67
const
int
&
npart
()
const
68
{
return
npart_
; }
69
71
const
int
&
ncoll
()
const
72
{
return
ncoll_
; }
73
78
const
double
&
multiplicity
()
const
79
{
return
multiplicity_
; }
80
88
const
std::map<int, double>&
eccentricity
()
const
89
{
return
eccentricity_
; }
90
92
const
Grid3D
&
density_grid
()
const
{
93
if
(
is3D
())
94
return
density_
;
95
else
96
return
TR_
;
97
}
98
100
const
double
&
dxy
()
const
101
{
return
dxy_
; }
102
103
const
double
&
deta
()
const
104
{
return
deta_
; }
105
106
const
std::map<int, double>&
participant_plane
()
const
107
{
return
psi_
; }
108
109
111
const
Grid
&
TAB_grid
()
const
112
{
return
TAB_
; }
113
115
void
clear_TAB
(
void
);
116
void
accumulate_TAB
(
Nucleon
&
A
,
Nucleon
& B,
NucleonProfile
& profile);
117
119
const
bool
&
with_ncoll
()
const
120
{
return
with_ncoll_
; }
121
122
const
std::pair<double, double>
mass_center_index
()
const
123
{
return
std::make_pair(
ixcm_
,
iycm_
); }
124
125
private
:
129
void
compute_nuclear_thickness
(
130
const
Nucleus
& nucleus,
NucleonProfile
& profile,
Grid
& TX);
131
135
template
<
typename
GenMean>
136
void
compute_reduced_thickness
(GenMean gen_mean);
137
142
std::function<void()>
compute_reduced_thickness_
;
143
145
void
compute_observables
();
146
147
// Returns true if running in 3D mode, false otherwise.
148
bool
is3D
()
const
;
149
151
const
double
norm_
;
152
154
const
double
beam_energy_
,
exp_ybeam_
;
155
157
const
double
mean_coeff_
,
std_coeff_
,
skew_coeff_
;
158
const
int
skew_type_
;
159
161
const
double
dxy_
,
deta_
;
162
164
const
int
nsteps_
,
neta_
;
165
167
const
double
xymax_
,
etamax_
;
168
170
fast_eta2y
eta2y_
;
171
173
cumulant_generating
cgf_
;
174
176
Grid3D
TR_
,
density_
;
177
179
Grid
TA_
,
TB_
,
TAB_
;
180
182
double
ixcm_
,
iycm_
;
183
185
int
npart_
;
186
188
int
ncoll_
;
189
191
double
multiplicity_
;
192
194
std::map<int, double>
eccentricity_
;
195
197
std::map<int, double>
psi_
;
198
200
bool
with_ncoll_
;
201
};
202
203
}
// namespace trento
204
205
#endif // EVENT_H
JETSCAPE
blob
main
external_packages
trento
src
event.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:24
using
1.8.2 with
sPHENIX GitHub integration