LDMX Software
ldmx::TruthTrack Class Reference

Public Member Functions

 TruthTrack ()=default
 default constructor
 
void setTrackID (int trackid)
 Use the scoring plane hit at the target to extract (x_, y_, z_, px, py, pz) and create a track seed.
 
int getTrackID () const
 
void setPdgID (int pdgID)
 
int getPdgID () const
 
void setNhits (int nHits)
 
int getNhits () const
 
int q () const
 
void setPerigeeParameters (const std::vector< double > &par)
 
std::vector< double > getPerigeeParameters () const
 
void setPerigeeLocation (const std::vector< double > &perigee)
 
void setPerigeeLocation (const double &x_, const double &y_, const double &z_)
 
void setMomentum (const double &px, const double &py, const double &pz)
 
void setPosition (const double &x_, const double &y_, const double &z_)
 
std::vector< double > getPerigeeLocation () const
 
double getPerigeeX () const
 
double getPerigeeY () const
 
double getPerigeeZ () const
 
std::vector< double > getMomentum () const
 
std::vector< double > getPosition () const
 
double getD0 () const
 
double getZ0 () const
 
double getPhi () const
 
double getTheta () const
 
double getQoP () const
 
double getT () const
 

Private Member Functions

 ClassDef (TruthTrack, 3)
 Class declaration needed by the ROOT dictionary.
 

Private Attributes

std::vector< double > perigee_pars_ {0., 0., 0., 0., 0., 0.}
 
std::vector< double > perigee_ {0., 0., 0.}
 
std::vector< double > momentum_ {0., 0., 0.}
 
std::vector< double > position_ {0., 0., 0.}
 
int n_hits_ {0}
 
int track_id_ {-1}
 
int pdg_id_ {0}
 

Friends

std::ostream & operator<< (std::ostream &o, const TruthTrack &d)
 Use the vertex position of the SimParticle to extract (x_, y_, z_, px, py, pz, q) and create a track seed.
 
std::ostream & operator<< (std::ostream &output, const TruthTrack &trk)
 

Detailed Description

Definition at line 9 of file TruthTrack.h.

Member Function Documentation

◆ getD0()

double ldmx::TruthTrack::getD0 ( ) const
inline

Definition at line 143 of file TruthTrack.h.

143{ return perigee_pars_[0]; };

◆ getMomentum()

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

Definition at line 138 of file TruthTrack.h.

138{ return momentum_; };

◆ getNhits()

int ldmx::TruthTrack::getNhits ( ) const
inline

Definition at line 99 of file TruthTrack.h.

99{ return n_hits_; }

◆ getPdgID()

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

Definition at line 96 of file TruthTrack.h.

96{ return pdg_id_; };

◆ getPerigeeLocation()

std::vector< double > ldmx::TruthTrack::getPerigeeLocation ( ) const
inline

Definition at line 133 of file TruthTrack.h.

133{ return perigee_; };

◆ getPerigeeParameters()

std::vector< double > ldmx::TruthTrack::getPerigeeParameters ( ) const
inline

Definition at line 108 of file TruthTrack.h.

108{ return perigee_pars_; }

◆ getPerigeeX()

double ldmx::TruthTrack::getPerigeeX ( ) const
inline

Definition at line 134 of file TruthTrack.h.

134{ return perigee_[0]; };

◆ getPerigeeY()

double ldmx::TruthTrack::getPerigeeY ( ) const
inline

Definition at line 135 of file TruthTrack.h.

135{ return perigee_[1]; };

◆ getPerigeeZ()

double ldmx::TruthTrack::getPerigeeZ ( ) const
inline

Definition at line 136 of file TruthTrack.h.

136{ return perigee_[2]; };

◆ getPhi()

double ldmx::TruthTrack::getPhi ( ) const
inline

Definition at line 145 of file TruthTrack.h.

145{ return perigee_pars_[2]; };

◆ getPosition()

std::vector< double > ldmx::TruthTrack::getPosition ( ) const
inline

Definition at line 139 of file TruthTrack.h.

139{ return position_; };

◆ getQoP()

double ldmx::TruthTrack::getQoP ( ) const
inline

Definition at line 147 of file TruthTrack.h.

147{ return perigee_pars_[4]; };

◆ getT()

double ldmx::TruthTrack::getT ( ) const
inline

Definition at line 148 of file TruthTrack.h.

148{ return perigee_pars_[5]; };

◆ getTheta()

double ldmx::TruthTrack::getTheta ( ) const
inline

Definition at line 146 of file TruthTrack.h.

146{ return perigee_pars_[3]; };

◆ getTrackID()

int ldmx::TruthTrack::getTrackID ( ) const
inline

Definition at line 93 of file TruthTrack.h.

93{ return track_id_; };

◆ getZ0()

double ldmx::TruthTrack::getZ0 ( ) const
inline

Definition at line 144 of file TruthTrack.h.

144{ return perigee_pars_[1]; };

◆ q()

int ldmx::TruthTrack::q ( ) const
inline

Definition at line 102 of file TruthTrack.h.

102{ return perigee_pars_[4] > 0 ? 1 : -1; }

◆ setMomentum()

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

Definition at line 121 of file TruthTrack.h.

121 {
122 momentum_[0] = px;
123 momentum_[1] = py;
124 momentum_[2] = pz;
125 }

◆ setNhits()

void ldmx::TruthTrack::setNhits ( int nHits)
inline

Definition at line 98 of file TruthTrack.h.

98{ n_hits_ = nHits; };

◆ setPdgID()

void ldmx::TruthTrack::setPdgID ( int pdgID)
inline

Definition at line 95 of file TruthTrack.h.

95{ pdg_id_ = pdgID; };

◆ setPerigeeLocation() [1/2]

void ldmx::TruthTrack::setPerigeeLocation ( const double & x_,
const double & y_,
const double & z_ )
inline

Definition at line 114 of file TruthTrack.h.

115 {
116 perigee_[0] = x_;
117 perigee_[1] = y_;
118 perigee_[2] = z_;
119 }

◆ setPerigeeLocation() [2/2]

void ldmx::TruthTrack::setPerigeeLocation ( const std::vector< double > & perigee)
inline

Definition at line 110 of file TruthTrack.h.

110 {
111 perigee_ = perigee;
112 }

◆ setPerigeeParameters()

void ldmx::TruthTrack::setPerigeeParameters ( const std::vector< double > & par)
inline

Definition at line 105 of file TruthTrack.h.

105 {
106 perigee_pars_ = par;
107 }

◆ setPosition()

void ldmx::TruthTrack::setPosition ( const double & x_,
const double & y_,
const double & z_ )
inline

Definition at line 127 of file TruthTrack.h.

127 {
128 position_[0] = x_;
129 position_[1] = y_;
130 position_[2] = z_;
131 }

◆ setTrackID()

void ldmx::TruthTrack::setTrackID ( int trackid)
inline

Use the scoring plane hit at the target to extract (x_, y_, z_, px, py, pz) and create a track seed.

In this case, the SimParticle is used to extract the charge of the particle.

Parameters
particleThe SimParticle to extract the charge from.
hitThe SimTrackerHit used to create the seed. Create a truth track from the given position, momentum and charge.
pos_The position at which the particle was created.
pThe momentum of the particle at the point of creation.
chargeThe charge of the particle.

Definition at line 92 of file TruthTrack.h.

92{ track_id_ = trackid; };

Friends And Related Symbol Documentation

◆ operator<< [1/2]

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

Use the vertex position of the SimParticle to extract (x_, y_, z_, px, py, pz, q) and create a track seed.

Parameters
particleThe SimParticle to make a seed from.

Definition at line 8 of file TruthTrack.cxx.

8 {
9 output << "[ TruthTrack ]:\n"
10 << "(" << trk.getD0() << "," << trk.getZ0() << "," << trk.getPhi()
11 << "," << trk.getTheta() << "," << trk.getQoP() << "," << trk.getT()
12 << ")\n"
13 << "perigee : [" << trk.perigee_[0] << "," << trk.perigee_[1] << ","
14 << trk.perigee_[2] << "]\n"
15 << "position: [" << trk.position_[0] << "," << trk.position_[1] << ","
16 << trk.position_[2] << "]\n"
17 << "momentum: [" << trk.momentum_[0] << "," << trk.momentum_[1] << ","
18 << trk.momentum_[2] << "]\n"
19 << "pdgID:" << trk.pdg_id_ << " trackID:" << trk.track_id_;
20
21 return output;
22}

◆ operator<< [2/2]

std::ostream & operator<< ( std::ostream & output,
const TruthTrack & trk )
friend
Parameters
particleThe SimParticle to make a seed from.

Definition at line 8 of file TruthTrack.cxx.

8 {
9 output << "[ TruthTrack ]:\n"
10 << "(" << trk.getD0() << "," << trk.getZ0() << "," << trk.getPhi()
11 << "," << trk.getTheta() << "," << trk.getQoP() << "," << trk.getT()
12 << ")\n"
13 << "perigee : [" << trk.perigee_[0] << "," << trk.perigee_[1] << ","
14 << trk.perigee_[2] << "]\n"
15 << "position: [" << trk.position_[0] << "," << trk.position_[1] << ","
16 << trk.position_[2] << "]\n"
17 << "momentum: [" << trk.momentum_[0] << "," << trk.momentum_[1] << ","
18 << trk.momentum_[2] << "]\n"
19 << "pdgID:" << trk.pdg_id_ << " trackID:" << trk.track_id_;
20
21 return output;
22}

Member Data Documentation

◆ momentum_

std::vector<double> ldmx::TruthTrack::momentum_ {0., 0., 0.}
private

Definition at line 161 of file TruthTrack.h.

161{0., 0., 0.};

◆ n_hits_

int ldmx::TruthTrack::n_hits_ {0}
private

Definition at line 167 of file TruthTrack.h.

167{0};

◆ pdg_id_

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

Definition at line 173 of file TruthTrack.h.

173{0};

◆ perigee_

std::vector<double> ldmx::TruthTrack::perigee_ {0., 0., 0.}
private

Definition at line 158 of file TruthTrack.h.

158{0., 0., 0.};

◆ perigee_pars_

std::vector<double> ldmx::TruthTrack::perigee_pars_ {0., 0., 0., 0., 0., 0.}
private

Definition at line 155 of file TruthTrack.h.

155{0., 0., 0., 0., 0., 0.};

◆ position_

std::vector<double> ldmx::TruthTrack::position_ {0., 0., 0.}
private

Definition at line 164 of file TruthTrack.h.

164{0., 0., 0.};

◆ track_id_

int ldmx::TruthTrack::track_id_ {-1}
private

Definition at line 170 of file TruthTrack.h.

170{-1};

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