LDMX Software
ldmx::SimParticle Class Reference

Class representing a simulated particle. More...

#include <SimParticle.h>

Public Types

enum  ProcessType {
  unknown = 0 , annihil = 1 , compt = 2 , conv = 3 ,
  electronNuclear = 4 , eBrem = 5 , eIoni = 6 , msc = 7 ,
  phot = 8 , photonNuclear = 9 , GammaToMuPair = 10 , eDarkBrem = 11 ,
  Decay = 12 , Primary = 13 , muonNuclear = 14 , neutronInelastic = 15 ,
  neutronCapture = 16 , kaonInelastic = 17 , pionInelastic = 18 , protonInelastic = 19
}
 Enum for interesting process types. More...
 
typedef std::map< std::string, ProcessTypeProcessTypeMap
 Typedef for process map.
 

Public Member Functions

 SimParticle ()=default
 Constructor.
 
virtual ~SimParticle ()=default
 Destructor.
 
void clear ()
 Reset an instance of this class by clearing all of its data.
 
double getEnergy () const
 Get the energy of this particle [MeV].
 
double getKineticEnergy () const
 Get the kinetic energy of this particle [MeV].
 
int getPdgID () const
 Get the PDG ID of this particle.
 
int getGenStatus () const
 Get the generator status of this particle.
 
double getTime () const
 Get the global time of this particle's creation [ns].
 
std::vector< double > getVertex () const
 Get a vector containing the vertex of this particle in mm.
 
std::string getVertexVolume () const
 Get the volume name in which this particle was created in.
 
std::string getInteractionMaterial () const
 Get the material name in which this particle was created in.
 
std::vector< double > getEndPoint () const
 Get the end_point of this particle where it was destroyed or left the world volume [mm].
 
std::vector< double > getMomentum () const
 Get a vector containing the momentum of this particle [MeV].
 
double getMass () const
 Get the mass of this particle [GeV].
 
double getCharge () const
 Get the charge of this particle.
 
std::vector< int > getDaughters () const
 Get a vector containing the track IDs of all daughter particles.
 
std::vector< int > getParents () const
 Get a vector containing the track IDs of the parent particles.
 
void setEnergy (const double &energy)
 Set the energy of this particle [MeV].
 
void setPdgID (const int &pdg_id)
 Set the PDG ID of this particle.
 
void setGenStatus (const int &gen_status)
 Set the generator status of this particle.
 
void setTime (const double &time)
 Set the global time of this particle's creation [ns].
 
void setVertex (const double &vtx_x, const double &vtx_y, const double &vtx_z)
 Set the vertex of this particle [mm].
 
void setVertexVolume (const std::string &vertexVolume)
 Set the name of the volume that this particle was created in.
 
void setInteractionMaterial (const std::string &interaction_material)
 Set the name of the material that this particle was created in.
 
void setEndPoint (const double &end_x, const double &end_y, const double &end_z)
 Set the end point position of this particle [mm].
 
void setMomentum (const double &px, const double &py, const double &pz)
 Set the momentum of this particle [MeV].
 
void setMass (const double &mass)
 Set the mass of this particle [GeV].
 
void setCharge (const double &charge)
 Set the charge of this particle.
 
void addDaughter (const int &daughter_track_id)
 Add a reference to a daughter particle by its track ID.
 
void addParent (const int &parent_track_id)
 Add a reference to a parent particle by its track ID.
 
int getProcessType () const
 Get the creator process type of this particle.
 
void setProcessType (const int &process_type)
 Set the creator process type of this particle.
 
void setEndPointMomentum (const double &end_px, const double &end_py, const double &end_pz)
 Set the momentum at this particle's end point.
 
std::vector< double > getEndPointMomentum () const
 Get the momentum at this particle's end point.
 

Static Public Member Functions

static ProcessType findProcessType (std::string processName)
 Get the process type enum from a G4VProcess name.
 

Private Member Functions

 ClassDef (SimParticle, 8)
 

Static Private Member Functions

static ProcessTypeMap createProcessTypeMap ()
 

Private Attributes

double energy_ {0}
 The energy of this particle.
 
int pdg_id_ {0}
 The PDG ID of this particle.
 
int gen_status_ {-1}
 The generator status.
 
double time_ {0}
 The global creation time.
 
double vtx_x_ {0}
 The x component of the vertex.
 
double vtx_y_ {0}
 The y component of the vertex.
 
double vtx_z_ {0}
 The z component of the vertex.
 
double end_x_ {0}
 The x component of the end point.
 
double end_y_ {0}
 The y component of the end point.
 
double end_z_ {0}
 The z component of the end point.
 
double px_ {0}
 The x component of the momentum.
 
double py_ {0}
 The y component of the momentum.
 
double pz_ {0}
 The z component of the momentum.
 
double end_px_ {0}
 The x component of the end_point momentum.
 
double end_py_ {0}
 The y component of the end_point momentum.
 
double end_pz_ {0}
 The z component of the end_point momentum.
 
double mass_ {0}
 The particle's mass.
 
double charge_ {0}
 The particle's charge.
 
std::vector< int > daughters_
 The list of daughter particle track IDs.
 
std::vector< int > parents_
 The list of parent particles track IDs.
 
int process_type_ {-1}
 Encoding of Geant4 process type.
 
std::string vertex_volume_ {""}
 Volume the track was created in.
 
std::string interaction_material_ {""}
 Volume the track was created in.
 

Static Private Attributes

static ProcessTypeMap process_map
 Map containing the process types.
 

Friends

std::ostream & operator<< (std::ostream &o, const SimParticle &d)
 Print a string representation of this object.
 

Detailed Description

Class representing a simulated particle.

The particles are created from the tracks produced by simulation.

Definition at line 23 of file SimParticle.h.

Member Typedef Documentation

◆ ProcessTypeMap

Typedef for process map.

Definition at line 53 of file SimParticle.h.

Member Enumeration Documentation

◆ ProcessType

Enum for interesting process types.

Definition at line 28 of file SimParticle.h.

28 {
29 unknown = 0,
30 annihil = 1,
31 compt = 2,
32 conv = 3,
33 electronNuclear = 4,
34 eBrem = 5,
35 eIoni = 6,
36 msc = 7,
37 phot = 8,
38 photonNuclear = 9,
39 GammaToMuPair = 10,
40 eDarkBrem = 11,
41 Decay = 12,
42 Primary = 13,
43 muonNuclear = 14,
44 neutronInelastic = 15,
45 neutronCapture = 16,
46 kaonInelastic = 17,
47 pionInelastic = 18,
48 protonInelastic = 19,
49 // Only add additional processes to the end of this list!
50 };

Member Function Documentation

◆ addDaughter()

void ldmx::SimParticle::addDaughter ( const int & daughter_track_id)
inline

Add a reference to a daughter particle by its track ID.

This adds the track ID of the daughter particle to the vector of daughter particle IDs.

Parameters
[in]daughter_track_idThe daughter particle track ID.

Definition at line 290 of file SimParticle.h.

290 {
291 daughters_.push_back(daughter_track_id);
292 }
std::vector< int > daughters_
The list of daughter particle track IDs.

References daughters_.

◆ addParent()

void ldmx::SimParticle::addParent ( const int & parent_track_id)
inline

Add a reference to a parent particle by its track ID.

Parameters
[in]parent_track_idThe track ID of the parent particle.

Definition at line 299 of file SimParticle.h.

299 {
300 parents_.push_back(parent_track_id);
301 }
std::vector< int > parents_
The list of parent particles track IDs.

References parents_.

◆ clear()

void ldmx::SimParticle::clear ( )

Reset an instance of this class by clearing all of its data.

Definition at line 66 of file SimParticle.cxx.

66 {
67 daughters_.clear();
68 parents_.clear();
69
70 energy_ = 0;
71 pdg_id_ = 0;
72 gen_status_ = -1;
73 time_ = 0;
74 vtx_x_ = 0;
75 vtx_y_ = 0;
76 vtx_z_ = 0;
77 end_x_ = 0;
78 end_y_ = 0;
79 end_z_ = 0;
80 px_ = 0;
81 py_ = 0;
82 pz_ = 0;
83 end_px_ = 0;
84 end_py_ = 0;
85 end_pz_ = 0;
86 mass_ = 0;
87 charge_ = 0;
88 process_type_ = ProcessType::unknown;
89 vertex_volume_ = "";
90}
double end_py_
The y component of the end_point momentum.
double pz_
The z component of the momentum.
double py_
The y component of the momentum.
double vtx_x_
The x component of the vertex.
int process_type_
Encoding of Geant4 process type.
double end_x_
The x component of the end point.
double energy_
The energy of this particle.
double end_pz_
The z component of the end_point momentum.
double vtx_y_
The y component of the vertex.
double charge_
The particle's charge.
double end_y_
The y component of the end point.
double px_
The x component of the momentum.
double end_z_
The z component of the end point.
double mass_
The particle's mass.
double end_px_
The x component of the end_point momentum.
double vtx_z_
The z component of the vertex.
int pdg_id_
The PDG ID of this particle.
int gen_status_
The generator status.
double time_
The global creation time.
std::string vertex_volume_
Volume the track was created in.

References charge_, daughters_, end_px_, end_py_, end_pz_, end_x_, end_y_, end_z_, energy_, gen_status_, mass_, parents_, pdg_id_, process_type_, px_, py_, pz_, time_, vertex_volume_, vtx_x_, vtx_y_, and vtx_z_.

◆ createProcessTypeMap()

SimParticle::ProcessTypeMap ldmx::SimParticle::createProcessTypeMap ( )
staticprivate

Electromagnetic interactions e Z --> e Z gamma

gamma --> e+ e-

e+ e- --> gamma gamma

gamma e --> gamma e

gamma Z --> e- Z

Electron ionization

Multiple scattering

gamma Z --> Z + X

mu Z --> Z + X

e Z --> e Z + X

gamma --> mu+ mu-

e- Z --> e- Z A'

n + Z -> X

n + Z -> Z*

K + Z -> X

pi + Z -> X

p + Z -> X

Other Primary particle

Definition at line 11 of file SimParticle.cxx.

11 {
12 ProcessTypeMap proc_map;
15 proc_map["eBrem"] = ProcessType::eBrem;
17 proc_map["conv"] = ProcessType::conv;
19 proc_map["annihil"] = ProcessType::annihil;
21 proc_map["compt"] = ProcessType::compt;
23 proc_map["phot"] = ProcessType::phot;
25 proc_map["eIoni"] = ProcessType::eIoni;
27 proc_map["msc"] = ProcessType::msc;
29 proc_map["photonNuclear"] = ProcessType::photonNuclear;
31 proc_map["muonNuclear"] = ProcessType::muonNuclear;
33 proc_map["electronNuclear"] = ProcessType::electronNuclear;
35 proc_map["GammaToMuPair"] = ProcessType::GammaToMuPair;
37 proc_map["DarkBrem"] = ProcessType::eDarkBrem;
38
39 // Inelastic interactions
41 proc_map["neutronInelastic"] = ProcessType::neutronInelastic;
43 proc_map["neutronCapture"] = ProcessType::neutronCapture;
45 proc_map["kaon-Inelastic"] = ProcessType::kaonInelastic;
46 proc_map["kaon+Inelastic"] = ProcessType::kaonInelastic;
47 proc_map["kaon0LInelastic"] = ProcessType::kaonInelastic;
48 proc_map["kaon0SInelastic"] = ProcessType::kaonInelastic;
50 proc_map["pi-Inelastic"] = ProcessType::pionInelastic;
51 proc_map["pi+Inelastic"] = ProcessType::pionInelastic;
53 proc_map["protonInelastic"] = ProcessType::protonInelastic;
54
57 proc_map["Primary"] = ProcessType::Primary;
58 // Decay
59 proc_map["Decay"] = ProcessType::Decay;
60 return proc_map;
61}
std::map< std::string, ProcessType > ProcessTypeMap
Typedef for process map.
Definition SimParticle.h:53

◆ findProcessType()

SimParticle::ProcessType ldmx::SimParticle::findProcessType ( std::string processName)
static

Get the process type enum from a G4VProcess name.

Returns
The process type from the string.

Definition at line 108 of file SimParticle.cxx.

109 {
110 if (process_name.find("biasWrapper") != std::string::npos) {
111 std::size_t pos = process_name.find_first_of("(") + 1;
112 process_name = process_name.substr(pos, process_name.size() - pos - 1);
113 }
114
115 if (process_map.find(process_name) != process_map.end()) {
116 return process_map[process_name];
117 } else {
118 return ProcessType::unknown;
119 }
120}
static ProcessTypeMap process_map
Map containing the process types.

References process_map.

Referenced by simcore::TrackMap::save().

◆ getCharge()

double ldmx::SimParticle::getCharge ( ) const
inline

Get the charge of this particle.

Returns
The charge of this particle.

Definition at line 162 of file SimParticle.h.

162{ return charge_; }

References charge_.

Referenced by tracking::reco::TruthSeedProcessor::createTruthTrack(), and tracking::reco::TruthSeedProcessor::createTruthTrack().

◆ getDaughters()

std::vector< int > ldmx::SimParticle::getDaughters ( ) const
inline

Get a vector containing the track IDs of all daughter particles.

Returns
A vector containing the track IDs of all daughter particles.

Definition at line 170 of file SimParticle.h.

170{ return daughters_; }

References daughters_.

Referenced by dqm::SampleValidation::analyze(), analysis::doesParticleHavePNDaughters(), dqm::PhotoNuclearDQM::findDaughters(), and analysis::getPNGamma().

◆ getEndPoint()

std::vector< double > ldmx::SimParticle::getEndPoint ( ) const
inline

Get the end_point of this particle where it was destroyed or left the world volume [mm].

Returns
The end_point of this particle

Definition at line 139 of file SimParticle.h.

139{ return {end_x_, end_y_, end_z_}; }

References end_x_, end_y_, and end_z_.

Referenced by dqm::SampleValidation::analyze().

◆ getEndPointMomentum()

std::vector< double > ldmx::SimParticle::getEndPointMomentum ( ) const
inline

Get the momentum at this particle's end point.

Returns
The momentum at this particle's end point as a vector.

Definition at line 336 of file SimParticle.h.

336 {
337 return {end_px_, end_py_, end_pz_};
338 }

References end_px_, end_py_, and end_pz_.

◆ getEnergy()

double ldmx::SimParticle::getEnergy ( ) const
inline

Get the energy of this particle [MeV].

Returns
The energy of this particle.

Definition at line 72 of file SimParticle.h.

72{ return energy_; }

References energy_.

Referenced by dqm::SampleValidation::analyze(), dqm::PhotoNuclearDQM::classifyCompactEvent(), and dqm::PhotoNuclearDQM::findSubleadingKinematics().

◆ getGenStatus()

int ldmx::SimParticle::getGenStatus ( ) const
inline

Get the generator status of this particle.

A non-zero status indicates that this particle originates from an external generator (e.g. LHE).

Returns
The generator status.

Definition at line 94 of file SimParticle.h.

94{ return gen_status_; }

References gen_status_.

◆ getInteractionMaterial()

std::string ldmx::SimParticle::getInteractionMaterial ( ) const
inline

Get the material name in which this particle was created in.

The material names are set in the GDML detector description.

Returns
The material name in which this particle was created in.

Definition at line 131 of file SimParticle.h.

131{ return interaction_material_; }
std::string interaction_material_
Volume the track was created in.

References interaction_material_.

◆ getKineticEnergy()

double ldmx::SimParticle::getKineticEnergy ( ) const
inline

Get the kinetic energy of this particle [MeV].

Returns
The kinetic energy of this particle.

Definition at line 79 of file SimParticle.h.

79{ return energy_ - mass_; }

References energy_, and mass_.

◆ getMass()

double ldmx::SimParticle::getMass ( ) const
inline

Get the mass of this particle [GeV].

Returns
The mass of this particle in GeV.

Definition at line 155 of file SimParticle.h.

155{ return mass_; }

References mass_.

◆ getMomentum()

std::vector< double > ldmx::SimParticle::getMomentum ( ) const
inline

Get a vector containing the momentum of this particle [MeV].

The momentum of this particle is set at the time of its creation.

Returns
The momentum of this particle.

Definition at line 148 of file SimParticle.h.

148{ return {px_, py_, pz_}; }

References px_, py_, and pz_.

Referenced by dqm::SampleValidation::analyze(), tracking::reco::TruthSeedProcessor::createTruthTrack(), and dqm::DarkBremInteraction::produce().

◆ getParents()

std::vector< int > ldmx::SimParticle::getParents ( ) const
inline

Get a vector containing the track IDs of the parent particles.

Returns
A vector containing the track IDs the parent particles.

Definition at line 177 of file SimParticle.h.

177{ return parents_; }

References parents_.

Referenced by dqm::SampleValidation::analyze().

◆ getPdgID()

int ldmx::SimParticle::getPdgID ( ) const
inline

Get the PDG ID of this particle.

Returns
The PDG ID of this particle.

Definition at line 85 of file SimParticle.h.

85{ return pdg_id_; }

References pdg_id_.

Referenced by dqm::SampleValidation::analyze(), and tracking::reco::TruthSeedProcessor::createTruthTrack().

◆ getProcessType()

int ldmx::SimParticle::getProcessType ( ) const
inline

Get the creator process type of this particle.

Returns
The creator process type of this particle.

Definition at line 308 of file SimParticle.h.

308{ return process_type_; }

References process_type_.

◆ getTime()

double ldmx::SimParticle::getTime ( ) const
inline

Get the global time of this particle's creation [ns].

Returns
The global time of this particle's creation.

Definition at line 101 of file SimParticle.h.

101{ return time_; }

References time_.

◆ getVertex()

std::vector< double > ldmx::SimParticle::getVertex ( ) const
inline

Get a vector containing the vertex of this particle in mm.

In this case, the vertex refers to the position where the particle is first created in the simulation. For a particle with generator status equal to 1, this will equal the position from which this particle is fired from.

Returns
The vertex of this particle.

Definition at line 113 of file SimParticle.h.

113{ return {vtx_x_, vtx_y_, vtx_z_}; }

References vtx_x_, vtx_y_, and vtx_z_.

Referenced by dqm::SampleValidation::analyze(), tracking::reco::TruthSeedProcessor::createTruthTrack(), and dqm::PhotoNuclearDQM::findRecoilProperties().

◆ getVertexVolume()

std::string ldmx::SimParticle::getVertexVolume ( ) const
inline

Get the volume name in which this particle was created in.

The volumes names are set in the GDML detector description.

Returns
The volume name in which this particle was created in.

Definition at line 122 of file SimParticle.h.

122{ return vertex_volume_; }

References vertex_volume_.

◆ setCharge()

void ldmx::SimParticle::setCharge ( const double & charge)
inline

Set the charge of this particle.

Parameters
[in]chargeThe charge of this particle.

Definition at line 280 of file SimParticle.h.

280{ charge_ = charge; }

References charge_.

◆ setEndPoint()

void ldmx::SimParticle::setEndPoint ( const double & end_x,
const double & end_y,
const double & end_z )
inline

Set the end point position of this particle [mm].

Parameters
[in]end_xThe x position of the end point.
[in]end_yThe y position of the end point.
[in]end_zThe z position of the end point.

Definition at line 248 of file SimParticle.h.

249 {
250 end_x_ = end_x;
251 end_y_ = end_y;
252 end_z_ = end_z;
253 }

References end_x_, end_y_, and end_z_.

◆ setEndPointMomentum()

void ldmx::SimParticle::setEndPointMomentum ( const double & end_px,
const double & end_py,
const double & end_pz )
inline

Set the momentum at this particle's end point.

Parameters
[in]end_pxThe x component of the momentum.
[in]end_pyThe y component of the momentum.
[in]end_pzThe z component of the momentum.

Definition at line 324 of file SimParticle.h.

325 {
326 end_px_ = end_px;
327 end_py_ = end_py;
328 end_pz_ = end_pz;
329 }

References end_px_, end_py_, and end_pz_.

◆ setEnergy()

void ldmx::SimParticle::setEnergy ( const double & energy)
inline

Set the energy of this particle [MeV].

Parameters
[in]energythe energy of this particle.

Definition at line 184 of file SimParticle.h.

184{ energy_ = energy; }

References energy_.

◆ setGenStatus()

void ldmx::SimParticle::setGenStatus ( const int & gen_status)
inline

Set the generator status of this particle.

Parameters
[in]gen_statusthe generator status of the hit.

Definition at line 198 of file SimParticle.h.

198{ gen_status_ = gen_status; }

References gen_status_.

Referenced by simcore::TrackMap::save().

◆ setInteractionMaterial()

void ldmx::SimParticle::setInteractionMaterial ( const std::string & interaction_material)
inline

Set the name of the material that this particle was created in.

Parameters
[in]interaction_materialvolume name that this particle was created in.

Definition at line 237 of file SimParticle.h.

237 {
238 interaction_material_ = interaction_material;
239 }

References interaction_material_.

◆ setMass()

void ldmx::SimParticle::setMass ( const double & mass)
inline

Set the mass of this particle [GeV].

Parameters
[in]massThe mass of this particle.

Definition at line 273 of file SimParticle.h.

273{ mass_ = mass; }

References mass_.

◆ setMomentum()

void ldmx::SimParticle::setMomentum ( const double & px,
const double & py,
const double & pz )
inline

Set the momentum of this particle [MeV].

Parameters
[in]pxThe momentum x-component.
[in]pyThe momentum y-component.
[in]pzThe momentum z-component.

Definition at line 262 of file SimParticle.h.

262 {
263 px_ = px;
264 py_ = py;
265 pz_ = pz;
266 }

References px_, py_, and pz_.

◆ setPdgID()

void ldmx::SimParticle::setPdgID ( const int & pdg_id)
inline

Set the PDG ID of this particle.

Parameters
[in]pdg_idthe PDG ID of the hit.

Definition at line 191 of file SimParticle.h.

191{ pdg_id_ = pdg_id; }

References pdg_id_.

◆ setProcessType()

void ldmx::SimParticle::setProcessType ( const int & process_type)
inline

Set the creator process type of this particle.

Parameters
[in]process_typethe creator process type of this particle.

Definition at line 315 of file SimParticle.h.

315{ process_type_ = process_type; }

References process_type_.

◆ setTime()

void ldmx::SimParticle::setTime ( const double & time)
inline

Set the global time of this particle's creation [ns].

Parameters
[in]timeThe global time of this particle's creation.

Definition at line 205 of file SimParticle.h.

205{ time_ = time; }

References time_.

◆ setVertex()

void ldmx::SimParticle::setVertex ( const double & vtx_x,
const double & vtx_y,
const double & vtx_z )
inline

Set the vertex of this particle [mm].

Parameters
[in]xThe vertex x position.
[in]yThe vertex y position.
[in]zThe vertex z position.

Definition at line 214 of file SimParticle.h.

215 {
216 vtx_x_ = vtx_x;
217 vtx_y_ = vtx_y;
218 vtx_z_ = vtx_z;
219 }

References vtx_x_, vtx_y_, and vtx_z_.

◆ setVertexVolume()

void ldmx::SimParticle::setVertexVolume ( const std::string & vertexVolume)
inline

Set the name of the volume that this particle was created in.

Parameters
[in]vertexVolumevolume name that this particle was created in.

Definition at line 227 of file SimParticle.h.

227 {
228 vertex_volume_ = vertexVolume;
229 }

References vertex_volume_.

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream & o,
const SimParticle & d )
friend

Print a string representation of this object.

Definition at line 92 of file SimParticle.cxx.

92 {
93 return o << "SimParticle { " << "energy: " << sp.energy_ << ", "
94 << "pdg_id: " << sp.pdg_id_ << ", "
95 << "gen_status: " << sp.gen_status_ << ", " << "time: " << sp.time_
96 << ", " << "vertex: ( " << sp.vtx_x_ << ", " << sp.vtx_y_ << ", "
97 << sp.vtx_z_ << " ), " << "end_point: ( " << sp.end_x_ << ", "
98 << sp.end_y_ << ", " << sp.end_z_ << " ), " << "momentum: ( "
99 << sp.px_ << ", " << sp.py_ << ", " << sp.pz_ << " ), "
100 << "end_point_momentum: ( " << sp.end_px_ << ", " << sp.end_py_
101 << ", " << sp.end_pz_ << " ), " << "mass: " << sp.mass_ << ", "
102 << "n_daughters: " << sp.daughters_.size() << ", "
103 << "n_parents: " << sp.parents_.size() << ", "
104 << "process_type: " << sp.process_type_ << ", "
105 << "vertex_volume: " << sp.vertex_volume_ << " }";
106}

Member Data Documentation

◆ charge_

double ldmx::SimParticle::charge_ {0}
private

The particle's charge.

Definition at line 403 of file SimParticle.h.

403{0};

Referenced by clear(), getCharge(), and setCharge().

◆ daughters_

std::vector<int> ldmx::SimParticle::daughters_
private

The list of daughter particle track IDs.

Definition at line 406 of file SimParticle.h.

Referenced by addDaughter(), clear(), and getDaughters().

◆ end_px_

double ldmx::SimParticle::end_px_ {0}
private

The x component of the end_point momentum.

Definition at line 391 of file SimParticle.h.

391{0};

Referenced by clear(), getEndPointMomentum(), and setEndPointMomentum().

◆ end_py_

double ldmx::SimParticle::end_py_ {0}
private

The y component of the end_point momentum.

Definition at line 394 of file SimParticle.h.

394{0};

Referenced by clear(), getEndPointMomentum(), and setEndPointMomentum().

◆ end_pz_

double ldmx::SimParticle::end_pz_ {0}
private

The z component of the end_point momentum.

Definition at line 397 of file SimParticle.h.

397{0};

Referenced by clear(), getEndPointMomentum(), and setEndPointMomentum().

◆ end_x_

double ldmx::SimParticle::end_x_ {0}
private

The x component of the end point.

Definition at line 373 of file SimParticle.h.

373{0};

Referenced by clear(), getEndPoint(), and setEndPoint().

◆ end_y_

double ldmx::SimParticle::end_y_ {0}
private

The y component of the end point.

Definition at line 376 of file SimParticle.h.

376{0};

Referenced by clear(), getEndPoint(), and setEndPoint().

◆ end_z_

double ldmx::SimParticle::end_z_ {0}
private

The z component of the end point.

Definition at line 379 of file SimParticle.h.

379{0};

Referenced by clear(), getEndPoint(), and setEndPoint().

◆ energy_

double ldmx::SimParticle::energy_ {0}
private

The energy of this particle.

Definition at line 352 of file SimParticle.h.

352{0};

Referenced by clear(), getEnergy(), getKineticEnergy(), and setEnergy().

◆ gen_status_

int ldmx::SimParticle::gen_status_ {-1}
private

The generator status.

Definition at line 358 of file SimParticle.h.

358{-1};

Referenced by clear(), getGenStatus(), and setGenStatus().

◆ interaction_material_

std::string ldmx::SimParticle::interaction_material_ {""}
private

Volume the track was created in.

Definition at line 418 of file SimParticle.h.

418{""};

Referenced by getInteractionMaterial(), and setInteractionMaterial().

◆ mass_

double ldmx::SimParticle::mass_ {0}
private

The particle's mass.

Definition at line 400 of file SimParticle.h.

400{0};

Referenced by clear(), getKineticEnergy(), getMass(), and setMass().

◆ parents_

std::vector<int> ldmx::SimParticle::parents_
private

The list of parent particles track IDs.

Definition at line 409 of file SimParticle.h.

Referenced by addParent(), clear(), and getParents().

◆ pdg_id_

int ldmx::SimParticle::pdg_id_ {0}
private

The PDG ID of this particle.

Definition at line 355 of file SimParticle.h.

355{0};

Referenced by clear(), getPdgID(), and setPdgID().

◆ process_map

SimParticle::ProcessTypeMap ldmx::SimParticle::process_map
staticprivate
Initial value:
=
static ProcessTypeMap createProcessTypeMap()

Map containing the process types.

Definition at line 421 of file SimParticle.h.

Referenced by findProcessType().

◆ process_type_

int ldmx::SimParticle::process_type_ {-1}
private

Encoding of Geant4 process type.

Definition at line 412 of file SimParticle.h.

412{-1};

Referenced by clear(), getProcessType(), and setProcessType().

◆ px_

double ldmx::SimParticle::px_ {0}
private

The x component of the momentum.

Definition at line 382 of file SimParticle.h.

382{0};

Referenced by clear(), getMomentum(), and setMomentum().

◆ py_

double ldmx::SimParticle::py_ {0}
private

The y component of the momentum.

Definition at line 385 of file SimParticle.h.

385{0};

Referenced by clear(), getMomentum(), and setMomentum().

◆ pz_

double ldmx::SimParticle::pz_ {0}
private

The z component of the momentum.

Definition at line 388 of file SimParticle.h.

388{0};

Referenced by clear(), getMomentum(), and setMomentum().

◆ time_

double ldmx::SimParticle::time_ {0}
private

The global creation time.

Definition at line 361 of file SimParticle.h.

361{0};

Referenced by clear(), getTime(), and setTime().

◆ vertex_volume_

std::string ldmx::SimParticle::vertex_volume_ {""}
private

Volume the track was created in.

Definition at line 415 of file SimParticle.h.

415{""};

Referenced by clear(), getVertexVolume(), and setVertexVolume().

◆ vtx_x_

double ldmx::SimParticle::vtx_x_ {0}
private

The x component of the vertex.

Definition at line 364 of file SimParticle.h.

364{0};

Referenced by clear(), getVertex(), and setVertex().

◆ vtx_y_

double ldmx::SimParticle::vtx_y_ {0}
private

The y component of the vertex.

Definition at line 367 of file SimParticle.h.

367{0};

Referenced by clear(), getVertex(), and setVertex().

◆ vtx_z_

double ldmx::SimParticle::vtx_z_ {0}
private

The z component of the vertex.

Definition at line 370 of file SimParticle.h.

370{0};

Referenced by clear(), getVertex(), and setVertex().


The documentation for this class was generated from the following files: