LDMX Software
SimCore
include
SimCore
LHE
LHEEvent.h
Go to the documentation of this file.
1
9
#ifndef SIMCORE_LHEEVENT_H_
10
#define SIMCORE_LHEEVENT_H_
11
12
// LDMX
13
#include "
SimCore/LHE/LHEParticle.h
"
14
15
// Geant4
16
17
// STL
18
#include <memory>
19
#include <vector>
20
21
namespace
simcore::lhe {
22
33
class
LHEEvent
{
34
public
:
39
LHEEvent
(std::string& data);
40
44
virtual
~LHEEvent
() =
default
;
45
50
int
getNumParticles
()
const
;
51
56
int
getProcessID
()
const
;
57
62
double
getEventWeight
()
const
;
63
68
double
getScaleQ
()
const
;
69
74
double
getCouplingQed
()
const
;
75
80
double
getCouplingQcd
()
const
;
81
85
void
setVertex
(
double
x_,
double
y_,
double
z_);
86
90
void
setVertex
(
const
std::string& line);
91
96
const
double
*
getVertex
()
const
;
97
102
double
getVertexTime
()
const
;
103
108
void
addParticle
(std::unique_ptr<LHEParticle> particle);
109
114
const
std::vector<std::unique_ptr<LHEParticle>>&
getParticles
()
const
;
115
116
private
:
120
int
num_particles_
;
121
125
int
process_id_
;
126
130
double
event_weight_
;
131
135
double
scale_q_
;
136
140
double
coupling_qed_
;
141
145
double
coupling_qcd_
;
146
150
double
vtx_
[3];
151
155
double
vtxt_
{0.};
156
160
std::vector<std::unique_ptr<LHEParticle>>
particles_
;
161
};
162
163
}
// namespace simcore::lhe
164
165
#endif
LHEParticle.h
Class defining a single particle record in an LHE event.
simcore::lhe::LHEEvent
LHE event with a list of particles and information from the header block.
Definition
LHEEvent.h:33
simcore::lhe::LHEEvent::getEventWeight
double getEventWeight() const
Get the event weight (XWGTUP).
Definition
LHEEvent.cxx:47
simcore::lhe::LHEEvent::LHEEvent
LHEEvent(std::string &data)
Class constructor.
Definition
LHEEvent.cxx:10
simcore::lhe::LHEEvent::vtx_
double vtx_[3]
Vertex location.
Definition
LHEEvent.h:150
simcore::lhe::LHEEvent::getProcessID
int getProcessID() const
Get the ID of the physics process (IDRUP).
Definition
LHEEvent.cxx:45
simcore::lhe::LHEEvent::addParticle
void addParticle(std::unique_ptr< LHEParticle > particle)
Add a particle to the event.
Definition
LHEEvent.cxx:59
simcore::lhe::LHEEvent::getCouplingQed
double getCouplingQed() const
Get the value of the QED coupling (AQEDUP).
Definition
LHEEvent.cxx:51
simcore::lhe::LHEEvent::num_particles_
int num_particles_
Number of particles.
Definition
LHEEvent.h:120
simcore::lhe::LHEEvent::getVertexTime
double getVertexTime() const
Get the vertex time.
Definition
LHEEvent.cxx:57
simcore::lhe::LHEEvent::setVertex
void setVertex(double x_, double y_, double z_)
Set the vertex location (careful to match units as expected!)
Definition
LHEEvent.cxx:68
simcore::lhe::LHEEvent::getCouplingQcd
double getCouplingQcd() const
Get the value of the QCD coupling (AQCDUP).
Definition
LHEEvent.cxx:53
simcore::lhe::LHEEvent::event_weight_
double event_weight_
The event weight.
Definition
LHEEvent.h:130
simcore::lhe::LHEEvent::~LHEEvent
virtual ~LHEEvent()=default
Class destructor.
simcore::lhe::LHEEvent::getScaleQ
double getScaleQ() const
Get the scale Q of parton distributions (SCALUP).
Definition
LHEEvent.cxx:49
simcore::lhe::LHEEvent::coupling_qcd_
double coupling_qcd_
QCD coupling value.
Definition
LHEEvent.h:145
simcore::lhe::LHEEvent::getNumParticles
int getNumParticles() const
Get the number of particles (NUP) in the event.
Definition
LHEEvent.cxx:43
simcore::lhe::LHEEvent::getVertex
const double * getVertex() const
Get the vertex location (careful to match units as expected!)
Definition
LHEEvent.cxx:55
simcore::lhe::LHEEvent::particles_
std::vector< std::unique_ptr< LHEParticle > > particles_
The list of particles.
Definition
LHEEvent.h:160
simcore::lhe::LHEEvent::getParticles
const std::vector< std::unique_ptr< LHEParticle > > & getParticles() const
Get the list of particles in the event.
Definition
LHEEvent.cxx:63
simcore::lhe::LHEEvent::scale_q_
double scale_q_
Scale Q of parton distributions.
Definition
LHEEvent.h:135
simcore::lhe::LHEEvent::vtxt_
double vtxt_
Vertex time.
Definition
LHEEvent.h:155
simcore::lhe::LHEEvent::process_id_
int process_id_
The physics process ID.
Definition
LHEEvent.h:125
simcore::lhe::LHEEvent::coupling_qed_
double coupling_qed_
QED coupling value.
Definition
LHEEvent.h:140
Generated by
1.12.0