75 GFTrackCand(
double curv,
double dip,
double inv, std::vector<unsigned int> detIDs, std::vector<unsigned int> hitIDs);
77 GFTrackCand(
double curv,
double dip,
double inv, std::vector<unsigned int> detIDs, std::vector<unsigned int> hitIDs, std::vector<double> rhos);
87 unsigned int& hitId)
const {
89 throw GFException(
"genf::GFTrackCand::getHit(int, int, int): hit index out of range", __LINE__, __FILE__).
setFatal();
100 throw GFException(
"genf::GFTrackCand::getHit(int, int, int, double): hit index out of range", __LINE__, __FILE__).
setFatal();
110 unsigned int& planeId)
const {
112 throw GFException(
"genf::GFTrackCand::getHitWithPlane(): hit index out of range", __LINE__, __FILE__).
setFatal();
121 std::vector<unsigned int>
GetHitIDs(
int detId=-1);
125 std::set<unsigned int> retVal;
126 for(
unsigned int i=0;i<
fDetId.size();++i){
127 retVal.insert(
fDetId.at(i));
147 void addHit(
unsigned int detId,
unsigned int hitId,
double rho=0.,
unsigned int planeId=0);
156 bool HitInTrack(
unsigned int detId,
unsigned int hitId);
163 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));
197 {
throw GFException(std::string(__func__) +
"::Print(Option_t*) not available", __LINE__, __FILE__).
setFatal(); }
friend bool operator==(const GFTrackCand &lhs, const GFTrackCand &rhs)
TVector3 getPosError() const
void setTrackSeed(const TVector3 &p, const TVector3 &d, double qop)
set the seed values for track: pos, direction, q/p
TVector3 getPosSeed() const
get the seed value for track: pos
void setPdgCode(int pdgCode)
set a particle hypothesis in form of a PDG code
void Print(std::ostream &out=std::cout) const
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.
virtual void Print(Option_t *) const
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...
TVector3 getDirSeed() const
get the seed value for track: direction
void append(const GFTrackCand &)
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))
bool HitInTrack(unsigned int detId, unsigned int hitId)
Test if hit already is part of this track candidate.
bool operator==(const genf::GFDetPlane &, const genf::GFDetPlane &)
std::vector< double > GetRhos() const
std::vector< unsigned int > fPlaneId
int getPdgCode() const
get the PDG code
void getHit(unsigned int i, unsigned int &detId, unsigned int &hitId) const
Get detector ID and cluster index (hitId) for hit number i.
unsigned int getNHits() const
void setMcTrackId(int i)
set the MCT track id, for MC simulations
Exception class for error handling in GENFIT (provides storage for diagnostic information) ...
std::vector< unsigned int > GetHitIDs(int detId=-1)
std::set< unsigned int > GetUniqueDetIDs() const
GFException & setFatal(bool b=true)
set fatal flag. if this is true, the fit stops for this current track repr.
void addHit(unsigned int detId, unsigned int hitId, double rho=0., unsigned int planeId=0)
void setInverted(bool f=true)
TVector3 getDirError() const
get the seed value for track: error on direction (standard deviation)
int getMcTrackId() const
get the MCT track id, for MC simulations - def. value -1
std::vector< unsigned int > fDetId
std::vector< unsigned int > GetDetIDs() const
std::vector< unsigned int > fHitId
double getQoverPseed() const
get the seed value for track: qoverp
BEGIN_PROLOG could also be cout
std::vector< double > fRho