LDMX Software
LHEParticle.h
Go to the documentation of this file.
1
8#ifndef SIMCORE_LHEPARTICLE_H_
9#define SIMCORE_LHEPARTICLE_H_
10
11// LDMX
12#include "Framework/Exception/Exception.h"
13
14// STL
15#include <stdlib.h>
16
17#include <iostream>
18#include <sstream>
19#include <string>
20#include <vector>
21
22// Geant4
23#include "globals.hh"
24
25namespace simcore {
26namespace lhe {
27
33 public:
38 LHEParticle(std::string& data);
39
44 int getPdgId() const;
45
50 int getStatus() const;
51
56 int getMother(int) const;
57
62 int getColor(int) const;
63
69 double getMomentum(int) const;
70
75 double getLifetime() const;
76
81 double getSpin() const;
82
88 void setMother(int i, LHEParticle* particle);
89
95
99 void print() const;
100
106 friend std::ostream& operator<<(std::ostream& stream,
107 const LHEParticle& particle);
108
109 private:
114
119
124
128 int mother_[2];
129
133 int color_[2];
134
138 double momentum_[5];
139
143 double lifetime_;
144
148 int spin_;
149};
150
151} // namespace lhe
152} // namespace simcore
153
154#endif
Single particle record in an LHE event.
Definition LHEParticle.h:32
double lifetime_
The proper time.
int getColor(int) const
Get the particle color (ICOLUP) by index_.
int spin_
The particle's spin.
int getMother(int) const
Get a mother particle index (MOTHUP) by index_.
double getSpin() const
Get the particle's spin (SPINUP).
LHEParticle(std::string &data)
Class constructor.
void setMother(int i, LHEParticle *particle)
Set a mother particle by index_.
int color_[2]
The particle color.
LHEParticle * mothers_[2]
The mother particles.
void print() const
Print particle information to an output stream.
double momentum_[5]
The momentum components.
double getLifetime() const
Get the proper lifetime (VTIMUP).
LHEParticle * getMotherParticle(int) const
Get a mother particle by index_.
double getMomentum(int) const
Get a momentum component (PUP) by index_.
friend std::ostream & operator<<(std::ostream &stream, const LHEParticle &particle)
Overloaded stream operator.
int getPdgId() const
Get the PDG code (IDUP).
int pdg_id_
The PDG code.
int getStatus() const
Get the status code (ISTUP).
int status_
The status code.
int mother_[2]
The mother particle indices.
Dynamically loadable photonuclear models either from SimCore or external libraries implementing this ...