22 #ifndef genfit_TrackCand_h
23 #define genfit_TrackCand_h
35 #include <TMatrixDSym.h>
36 #include <TDatabasePDG.h>
95 void getHit(
int i,
int& detId,
int& hitId)
const;
98 void getHit(
int i,
int& detId,
int& hitId,
double& sortingParameter)
const;
110 std::vector<int>
getHitIDs(
int detId = -2)
const;
146 void addHit(
int detId,
int hitId,
int planeId = -1,
double sortingParameter = 0);
162 void sortHits(
const std::vector<unsigned int>& indices);
169 void Print(
const Option_t* =
"")
const ;
180 void set6DSeed(
const TVectorD& state6D,
const double charge);
201 void setTime6DSeed(
double time,
const TVectorD& state6D,
const double charge);
215 const double charge);
222 const TVector3&
mom,
const int pdgCode);
249 #endif // genfit_TrackCand_h
Track candidate – seed values and indices.
TrackCandHit * getHit(int i) const
void getHitWithPlane(int i, int &detId, int &hitId, int &planeId) const
Get detector Id, hit Id and plane id for hit number i.
friend bool operator==(const TrackCand &lhs, const TrackCand &rhs)
== operator checks equality of TrackCandHits. Does not check for sorting parameters.
void append(const TrackCand &)
Clone the TrackCandHit objects from the other TrackCand and append them to this TrackCand.
void sortHits()
Sort the hits that were already added to the trackCand using the sorting parameters.
std::vector< int > getHitIDs(int detId=-2) const
Get hit ids of from a specific detector.
void addHit(int detId, int hitId, int planeId=-1, double sortingParameter=0)
void set6DSeed(const TVectorD &state6D, const double charge)
sets the state to seed the track fitting. State has to be a TVectorD(6). First 3 elements are the sta...
void setTime6DSeed(double time, const TVectorD &state6D, const double charge)
sets the state to seed the track fitting and its time. State has to be a TVectorD(6). First 3 elements are the staring postion second 3 elements the starting momentum. Everything in global coordinates charge is the charge hypotheses of the particle charge.
friend bool operator!=(const TrackCand &lhs, const TrackCand &rhs)
void setTimePosMomSeedAndPdgCode(double time, const TVector3 &pos, const TVector3 &mom, const int pdgCode)
This function works the same as setPosMomSeed but instead of a charge hypothesis you can set a pdg co...
void reset()
Delete and clear the TrackCandHits.
std::vector< TrackCandHit * > hits_
Hit object for use in TrackCand. Provides IDs and sorting parameters.
void setTimeSeed(double time)
Set the time at which the seed is defined.
std::set< int > getUniqueDetIDs() const
TrackCand & operator=(TrackCand other)
assignment operator
const TMatrixDSym & getCovSeed() const
get the covariance matrix seed (6D).
void setPosMomSeed(const TVector3 &pos, const TVector3 &mom, const double charge)
sets the state to seed the track fitting. State has to be a TVector3 for position and a TVector3 for ...
void swap(TrackCand &other)
void setTime6DSeedAndPdgCode(double time, const TVectorD &state6D, const int pdgCode)
This function works the same as set6DSeed but instead of a charge hypothesis you can set a pdg code w...
double getTimeSeed() const
Get the time at which the seed state is defined.
void set6DSeedAndPdgCode(const TVectorD &state6D, const int pdgCode)
This function works the same as set6DSeed but instead of a charge hypothesis you can set a pdg code w...
const TVectorD & getStateSeed() const
Returns the 6D seed state; should be in global coordinates.
std::vector< double > getSortingParameters() const
Get sorting parameterts of all hits.
std::vector< int > getDetIDs() const
Get detector IDs of all hits.
bool hitInTrack(int detId, int hitId) const
Is there a hit with detId and hitId in the TrackCand?
TVector3 getPosSeed() const
get the seed value for track: pos. Identical to the first 3 components of getStateSeed ...
void addHit(TrackCandHit *hit)
void setPdgCode(int pdgCode)
Set a particle hypothesis in form of a PDG code. This will also set the charge attribute.
int getPdgCode() const
Get the PDG code.
void Print(const Option_t *="") const
Write the content of all private attributes to the terminal.
void setTimePosMomSeed(double time, const TVector3 &pos, const TVector3 &mom, const double charge)
sets the state to seed the track fitting and its time. State has to be a TVector3 for position and a ...
unsigned int getNHits() const
void setPosMomSeedAndPdgCode(const TVector3 &pos, const TVector3 &mom, const int pdgCode)
This function works the same as setPosMomSeed but instead of a charge hypothesis you can set a pdg co...
double getChargeSeed() const
static bool compareTrackCandHits(const TrackCandHit *lhs, const TrackCandHit *rhs)
void setMcTrackId(int i)
Set the MCT track id, for MC simulations.
void setCovSeed(const TMatrixDSym &cov6D)
set the covariance matrix seed (6D).
TVector3 getMomSeed() const
get the seed value for track: mom. Identical to the last 3 components of getStateSeed ...
int getMcTrackId() const
Get the MCT track id, for MC simulations - default value = -1.