36 std::vector<unsigned int> detIDs,
37 std::vector<unsigned int> hitIDs)
47 throw GFException(
"genf::GFTrackCand::GFTrackCand(): hit/det size mismatch", __LINE__, __FILE__)
54 std::vector<unsigned int> detIDs,
55 std::vector<unsigned int> hitIDs,
56 std::vector<double> rhos)
67 throw GFException(
"genf::GFTrackCand::GFTrackCand(): hit/det size mismatch", __LINE__, __FILE__)
70 throw GFException(
"genf::GFTrackCand::GFTrackCand(): rho/det size mismatch", __LINE__, __FILE__)
91 std::vector<unsigned int> result;
93 for (
unsigned int i = 0; i <
n; ++i) {
94 if (
fDetId[i] == (
unsigned int)detId) result.push_back(
fHitId[i]);
108 for (
unsigned int i = 0; i <
fDetId.size(); i++) {
110 if (hitId ==
fHitId[i])
return true;
125 out <<
"======== GFTrackCand::print ========";
127 out <<
"\nseed values for pos,direction, and q/p: " << std::endl;
132 throw std::runtime_error(
"genf::GFTrackCand::GFTrackCand(): hit/det size mismatch");
133 out <<
"detId|hitId|rho ";
134 for (
unsigned int i = 0; i <
fDetId.size(); ++i)
141 unsigned int detId, hitId;
143 for (
unsigned int i = 0; i < rhs.
getNHits(); ++i) {
144 rhs.
getHit(i, detId, hitId, rho);
145 addHit(detId, hitId, rho);
void Print(std::ostream &out=std::cout) const
void append(const GFTrackCand &)
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< unsigned int > fPlaneId
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
Exception class for error handling in GENFIT (provides storage for diagnostic information) ...
std::vector< unsigned int > GetHitIDs(int detId=-1)
void PrintROOTobject(std::ostream &, const ROOTOBJ &)
Small utility functions which print some ROOT objects into an output stream.
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)
std::vector< unsigned int > fDetId
std::vector< unsigned int > fHitId
std::vector< double > fRho