73 GFTrackCand(
double curv,
double dip,
double inv, std::vector<unsigned int> detIDs, std::vector<unsigned int> hitIDs);
75 GFTrackCand(
double curv,
double dip,
double inv, std::vector<unsigned int> detIDs, std::vector<unsigned int> hitIDs, std::vector<double> rhos);
83 void getHit(
unsigned int i,
unsigned int &detId,
unsigned int &hitId)
const 92 void getHit(
unsigned int i,
unsigned int &detId,
unsigned int &hitId,
double &rho)
const 102 void getHitWithPlane(
unsigned int i,
unsigned int &detId,
unsigned int &hitId,
unsigned int &planeId)
const 105 detId = fDetId.at(i);
106 hitId = fHitId.at(i);
107 planeId = fPlaneId.at(i);
110 unsigned int getNHits()
const {
return fDetId.size(); }
114 std::vector<unsigned int>
GetHitIDs(
int detId = -1);
115 std::vector<unsigned int>
GetDetIDs()
const {
return fDetId; }
116 std::vector<double>
GetRhos()
const {
return fRho; }
119 std::set<unsigned int> retVal;
120 for (
unsigned int i = 0;
i < fDetId.size(); ++
i) {
121 retVal.insert(fDetId.at(
i));
141 void addHit(
unsigned int detId,
unsigned int hitId,
double rho = 0.,
unsigned int planeId = 0);
150 bool HitInTrack(
unsigned int detId,
unsigned int hitId);
153 void setTrackSeed(
const TVector3 &pos,
const TVector3 &direction,
const double qop)
156 fDirSeed = direction;
161 void setComplTrackSeed(
const TVector3 &pos,
const TVector3 &mom,
const int pdgCode, TVector3 posError = TVector3(1.0, 1.0, 1.0), TVector3 dirError = TVector3(1.0, 1.0, 1.0));
173 std::vector<unsigned int> fDetId;
174 std::vector<unsigned int> fHitId;
175 std::vector<unsigned int> fPlaneId;
176 std::vector<double> fRho;
void getHit(unsigned int i, unsigned int &detId, unsigned int &hitId, double &rho) const
Get detector ID and cluster index (hitId) for hit number i with ordering parameter rho...
std::vector< unsigned int > GetHitIDs(int detId=-1)
int getPdgCode() const
get the PDG code
bool HitInTrack(unsigned int detId, unsigned int hitId)
Test if hit already is part of this track candidate.
friend bool operator==(const GFTrackCand &lhs, const GFTrackCand &rhs)
void getHit(unsigned int i, unsigned int &detId, unsigned int &hitId) const
Get detector ID and cluster index (hitId) for hit number i.
int getMcTrackId() const
get the MCT track id, for MC simulations - def. value -1
TVector3 getDirError() const
get the seed value for track: error on direction (standard deviation)
void setMcTrackId(int i)
set the MCT track id, for MC simulations
std::set< unsigned int > GetUniqueDetIDs() const
void setTrackSeed(const TVector3 &pos, const TVector3 &direction, const double qop)
set the seed values for track: pos, direction, q/p
unsigned int getNHits() const
TVector3 getDirSeed() const
get the seed value for track: direction
std::vector< double > GetRhos() const
void append(const GFTrackCand &)
void setInverted(bool f=true)
Track candidate – a list of cluster indices.
void getHitWithPlane(unsigned int i, unsigned int &detId, unsigned int &hitId, unsigned int &planeId) const
Get detector ID and cluster index (hitId) for hit number i with plane id.
void setComplTrackSeed(const TVector3 &pos, const TVector3 &mom, const int pdgCode, TVector3 posError=TVector3(1.0, 1.0, 1.0), TVector3 dirError=TVector3(1.0, 1.0, 1.0))
set the seed values for track: pos, momentum, pdgCode, pos error, momentum error (errors are optional...
TVector3 getPosError() const
get the seed value for track: error on pos (standard deviation)
TVector3 getPosSeed() const
get the seed value for track: pos
void addHit(unsigned int detId, unsigned int hitId, double rho=0., unsigned int planeId=0)
std::vector< unsigned int > GetDetIDs() const
void setPdgCode(int pdgCode)
set a particle hypothesis in form of a PDG code
double getQoverPseed() const
get the seed value for track: qoverp