LDMX Software
LHEEvent.h
Go to the documentation of this file.
1
8#ifndef SIMCORE_LHEEVENT_H_
9#define SIMCORE_LHEEVENT_H_
10
11// LDMX
13
14// STL
15#include <vector>
16
17namespace simcore::lhe {
18
29class LHEEvent {
30 public:
35 LHEEvent(std::string& data);
36
40 virtual ~LHEEvent();
41
46 int getNUP() const;
47
52 int getIDPRUP() const;
53
58 double getXWGTUP() const;
59
64 double getSCALUP() const;
65
70 double getAQEDUP() const;
71
76 double getAQCDUP() const;
77
81 void setVertex(double x, double y, double z);
82
86 void setVertex(const std::string& line);
87
92 const double* getVertex() const;
93
98 double getVertexTime() const;
99
104 void addParticle(LHEParticle* particle);
105
110 const std::vector<LHEParticle*>& getParticles();
111
112 private:
116 int nup_;
117
122
126 double xwgtup_;
127
131 double scalup_;
132
136 double aqedup_;
137
141 double aqcdup_;
142
146 double vtx_[3];
147
151 double vtxt_{0.};
152
156 std::vector<LHEParticle*> particles_;
157};
158
159} // namespace simcore::lhe
160
161#endif
Class defining a single particle record in an LHE event.
LHE event with a list of particles and information from the header block.
Definition LHEEvent.h:29
double vtx_[3]
Vertex location.
Definition LHEEvent.h:146
double getXWGTUP() const
Get the event weight (XWGTUP).
Definition LHEEvent.cxx:54
void addParticle(LHEParticle *particle)
Add a particle to the event.
Definition LHEEvent.cxx:66
int nup_
Number of particles.
Definition LHEEvent.h:116
double getAQCDUP() const
Get the value of the QED coupling (AQCDUP).
Definition LHEEvent.cxx:60
int idprup_
The physics process ID.
Definition LHEEvent.h:121
double aqedup_
QCD coupling value.
Definition LHEEvent.h:136
double aqcdup_
QCD coupling value.
Definition LHEEvent.h:141
double getVertexTime() const
Get the vertex time.
Definition LHEEvent.cxx:64
double scalup_
Scale Q of parton distributions.
Definition LHEEvent.h:131
int getIDPRUP() const
Get the ID of the physics process (IDRUP).
Definition LHEEvent.cxx:52
const std::vector< LHEParticle * > & getParticles()
Get the list of particles in the event.
Definition LHEEvent.cxx:70
double getSCALUP() const
Get the scale Q of parton distributions (SCALUP).
Definition LHEEvent.cxx:56
double xwgtup_
The event weight.
Definition LHEEvent.h:126
int getNUP() const
Get the number of particles (NUP) in the event.
Definition LHEEvent.cxx:50
double getAQEDUP() const
Get the value of the QED coupling (AQEDUP).
Definition LHEEvent.cxx:58
const double * getVertex() const
Get the vertex location (careful to match units as expected!)
Definition LHEEvent.cxx:62
std::vector< LHEParticle * > particles_
The list of particles.
Definition LHEEvent.h:156
void setVertex(double x, double y, double z)
Set the vertex location (careful to match units as expected!)
Definition LHEEvent.cxx:72
double vtxt_
Vertex time.
Definition LHEEvent.h:151
virtual ~LHEEvent()
Class destructor.
Definition LHEEvent.cxx:42
Single particle record in an LHE event.
Definition LHEParticle.h:20