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
collider.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file collider.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 COLLIDER_H
7
#define COLLIDER_H
8
9
#include <memory>
10
11
#include "
fwd_decl.h
"
12
#include "
event.h
"
13
#include "
nucleon.h
"
14
#include "
output.h
"
15
16
namespace
trento {
17
30
31
struct
records
{
32
int
i
;
33
double
b
;
34
double
npart
;
35
double
mult
;
36
};
37
38
class
Collider
{
39
public
:
41
explicit
Collider
(
const
VarMap
& var_map);
42
49
~Collider
();
50
52
void
run_events
();
53
const
std::vector<records> &
all_records
()
const
{
54
return
all_records_
;
55
}
56
const
Event
&
expose_event
()
const
{
57
return
event_
;
58
}
59
60
private
:
61
// Most of these are pretty self-explanatory...
62
64
double
sample_impact_param
();
66
std::unique_ptr<Nucleus>
nucleusA_
,
nucleusB_
;
67
69
NucleonProfile
nucleon_profile_
;
70
72
const
int
nevents_
;
73
75
int
ntrys_
;
76
78
const
double
bmin_
,
bmax_
;
79
81
const
int
npartmin_
,
npartmax_
;
82
84
const
double
stotmin_
,
stotmax_
;
85
102
const
double
asymmetry_
;
103
105
Event
event_
;
106
108
Output
output_
;
109
111
bool
with_ncoll_
;
112
113
// take down id, b, npart, ncoll, mult for each event.
114
std::vector<records>
all_records_
;
115
};
116
117
}
// namespace trento
118
119
#endif // COLLIDER_H
JETSCAPE
blob
main
external_packages
trento
src
collider.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:24
using
1.8.2 with
sPHENIX GitHub integration