CGEM BOSS 6.6.5.g
BESIII Offline Software System
|
#include <HoughTrack.h>
Public Member Functions | |
HoughTrack (int charge, double angle, double rho, double dAngle, double dRho, int trkID) | |
HoughTrack (int charge, const HepPoint3D &position, const Hep3Vector &momentum, int trkID) | |
HoughTrack (HepPoint3D &pivot, HepVector &a, int trkID) | |
HoughTrack (const HoughTrack &other) | |
HoughTrack & | operator= (const HoughTrack &other) |
HoughTrack () | |
void | setTrkID (int trkID) |
void | setFlag (int flag) |
void | setCharge (int charge) |
void | setAngle (double angle) |
void | setRho (double rho) |
void | setDAngle (double dAngle) |
void | setDRho (double dRho) |
void | setDTanl (double dTanl) |
void | setDDz (double dDz) |
void | setChi2 (double chi2) |
void | setDz (double dz) |
void | setTanl (double tanl) |
int | getTrkID () const |
int | getCharge () const |
int | getFlag () const |
double | getAngle () const |
double | getRho () const |
double | getDAngle () const |
double | getDRho () const |
double | getDTanl () const |
double | getDDz () const |
double | getChi2 () const |
int | getCircleFitStat () const |
TrkRecoTrk * | getTrkRecoTrk () |
double | getDr () const |
double | getPhi0 () const |
double | getKappa () const |
double | getDz () const |
double | getTanl () const |
int | findXHot (vector< HoughHit * > &hitList, int charge) |
void | sortHot (vector< HoughHit * > &hotList) |
vector< HoughHit * > | getVecHitPnt () |
void | addHitPnt (HoughHit *aHitPnt) |
void | dropHitPnt (HoughHit *aHitPnt) |
void | dropVHitPnt (HoughHit *aHitPnt) |
int | getNHitsShared () |
void | dropRedundentCgemXHits () |
void | dropRedundentCgemVHits () |
int | getNhitFirstHalf () |
int | getNhitSecondHalf () |
int | getNhitUnusedFirstHalf () |
int | getNhitUnusedSecondHalf () |
void | resetNhitHalf () |
double | driftDistRes (HoughHit *hit) |
int | judgeHalf (HoughHit *hit) |
int | judgeCharge (HoughHit *hit) |
int | judgeCharge (double xHit, double yHit) |
TrkErrCode | fitCircle (const MdcDetector *mdcDetector, TrkContextEv *trkContextEv, double bunchT0) |
int | fitCircle (DotsHelixFitter *fitter, double bunchT0) |
int | fitHelix (DotsHelixFitter *fitter, double bunchT0, RecCgemClusterCol::iterator recCgemClusterColBegin, double averageChi2cut=25) |
int | calculateZ_S (HoughHit *hit) |
void | updateHelix () |
void | update (double angle, double rho) |
void | updateCirclePar (double dr, double phi0, double kappa) |
void | markUsedHot (vector< HoughHit * > &hitPntList, int use=1) |
void | markUsedHot (int use=1) |
void | print () |
void | printHot () |
void | clearHits () |
bool | isAGoodCircle () |
int | getNTried () |
void | releaseSelHits () |
vector< double > | getVecHitRes () |
vector< HoughHit * > | getVecStereoHitPnt () |
void | addVecStereoHitPnt (HoughHit *aHitPnt) |
vector< double > | getVecStereoHitRes () |
TrkErrCode | fitHelix (const MdcDetector *mdcDetector, const BField *bField, double bunchT0, vector< HoughHit * > &hot, int Layer) |
TrkErrCode | fitHelix (const MdcDetector *mdcDetector, TrkContextEv *trkContextEv, double bunchT0, vector< MdcHit * > &mdcHitCol, vector< HoughHit * > &hot) |
int | findVHot (vector< HoughHit * > &hitList, int charge, int maxLayer, double cutFactor=1.0) |
vector< HoughHit * > | getHotList (int type=2) |
HoughTrack * | getMcTrack () const |
void | setMcTrack (HoughTrack *mcTrack) |
void | clearMemory () |
void | setRecMdcHitVec (vector< RecMdcHit > &aRecMdcHitVec) |
vector< RecMdcHit > * | getRecMdcHitVec () |
void | printRecMdcHitVec () |
Public Member Functions inherited from Helix | |
Helix () | |
Helix (const HepPoint3D &pivot, const HepVector &a, const HepSymMatrix &Ea) | |
Constructor with pivot, helix parameter a, and its error matrix. | |
Helix (const HepPoint3D &pivot, const HepVector &a) | |
Constructor without error matrix. | |
Helix (const HepPoint3D &position, const Hep3Vector &momentum, double charge) | |
Constructor with position, momentum, and charge. | |
Helix (const Helix &i) | |
virtual | ~Helix () |
Destructor. | |
const HepPoint3D & | center (void) const |
returns position of helix center(z = 0.); | |
const HepPoint3D & | pivot (void) const |
returns pivot position. | |
double | radius (void) const |
returns radious of helix. | |
HepPoint3D | x (double dPhi=0.) const |
returns position after rotating angle dPhi in phi direction. | |
double * | x (double dPhi, double p[3]) const |
HepPoint3D | x (double dPhi, HepSymMatrix &Ex) const |
returns position and convariance matrix(Ex) after rotation. | |
Hep3Vector | direction (double dPhi=0.) const |
returns direction vector after rotating angle dPhi in phi direction. | |
Hep3Vector | momentum (double dPhi=0.) const |
returns momentum vector after rotating angle dPhi in phi direction. | |
Hep3Vector | momentum (double dPhi, HepSymMatrix &Em) const |
returns momentum vector after rotating angle dPhi in phi direction. | |
HepLorentzVector | momentum (double dPhi, double mass) const |
returns 4momentum vector after rotating angle dPhi in phi direction. | |
HepLorentzVector | momentum (double dPhi, double mass, HepSymMatrix &Em) const |
returns 4momentum vector after rotating angle dPhi in phi direction. | |
HepLorentzVector | momentum (double dPhi, double mass, HepPoint3D &x, HepSymMatrix &Emx) const |
returns 4momentum vector after rotating angle dPhi in phi direction. | |
double | dr (void) const |
returns an element of parameters. | |
double | phi0 (void) const |
double | kappa (void) const |
double | dz (void) const |
double | tanl (void) const |
double | curv (void) const |
double | sinPhi0 (void) const |
double | cosPhi0 (void) const |
double | alpha (void) const |
const HepVector & | a (void) const |
returns helix parameters. | |
const HepSymMatrix & | Ea (void) const |
returns error matrix. | |
double | pt (void) const |
double | cosTheta (void) const |
const HepVector & | a (const HepVector &newA) |
sets helix parameters. | |
const HepSymMatrix & | Ea (const HepSymMatrix &newdA) |
sets helix paramters and error matrix. | |
const HepPoint3D & | pivot (const HepPoint3D &newPivot) |
sets pivot position. | |
void | set (const HepPoint3D &pivot, const HepVector &a, const HepSymMatrix &Ea) |
sets helix pivot position, parameters, and error matrix. | |
void | ignoreErrorMatrix (void) |
unsets error matrix. Error calculations will be ignored after this function call until an error matrix be set again. 0 matrix will be return as a return value for error matrix when you call functions which returns an error matrix. | |
double | bFieldZ (double) |
sets/returns z componet of the magnetic field. | |
double | bFieldZ (void) const |
Helix & | operator= (const Helix &) |
Copy operator. | |
HepMatrix | delApDelA (const HepVector &ap) const |
HepMatrix | delXDelA (double phi) const |
HepMatrix | delMDelA (double phi) const |
HepMatrix | del4MDelA (double phi, double mass) const |
HepMatrix | del4MXDelA (double phi, double mass) const |
double | IntersectCylinder (double r) const |
double | flightArc (HepPoint3D &hit) const |
double | flightArc (double r) const |
double | flightLength (HepPoint3D &hit) const |
double | dPhi (HepPoint3D &hit) const |
Static Public Attributes | |
static int | m_clearTrack =1 |
static int | m_useCgemInGlobalFit =3 |
static TGraph * | m_cut [2][43] = {NULL} |
Static Public Attributes inherited from Helix | |
static const double | ConstantAlpha = 333.564095 |
Constant alpha for uniform field. | |
Additional Inherited Members | |
Protected Attributes inherited from Helix | |
IMagneticFieldSvc * | m_pmgnIMF |
double | m_bField |
double | m_alpha |
Definition at line 22 of file HoughTrack.h.
HoughTrack::HoughTrack | ( | int | charge, |
double | angle, | ||
double | rho, | ||
double | dAngle, | ||
double | dRho, | ||
int | trkID | ||
) |
Definition at line 20 of file HoughTrack.cxx.
HoughTrack::HoughTrack | ( | int | charge, |
const HepPoint3D & | position, | ||
const Hep3Vector & | momentum, | ||
int | trkID | ||
) |
Definition at line 74 of file HoughTrack.cxx.
HoughTrack::HoughTrack | ( | HepPoint3D & | pivot, |
HepVector & | a, | ||
int | trkID | ||
) |
Definition at line 116 of file HoughTrack.cxx.
HoughTrack::HoughTrack | ( | const HoughTrack & | other | ) |
Definition at line 222 of file HoughTrack.cxx.
HoughTrack::HoughTrack | ( | ) |
Definition at line 187 of file HoughTrack.cxx.
|
inline |
Definition at line 84 of file HoughTrack.h.
Referenced by HoughFinder::getMcParticleCol().
|
inline |
Definition at line 135 of file HoughTrack.h.
Referenced by HoughFinder::getMcParticleCol().
int HoughTrack::calculateZ_S | ( | HoughHit * | hit | ) |
Definition at line 774 of file HoughTrack.cxx.
Referenced by HoughFinder::fillHistogram(), and findVHot().
void HoughTrack::clearHits | ( | ) |
Definition at line 1193 of file HoughTrack.cxx.
void HoughTrack::clearMemory | ( | ) |
Definition at line 2814 of file HoughTrack.cxx.
double HoughTrack::driftDistRes | ( | HoughHit * | hit | ) |
Definition at line 636 of file HoughTrack.cxx.
Referenced by findXHot().
void HoughTrack::dropHitPnt | ( | HoughHit * | aHitPnt | ) |
Definition at line 1861 of file HoughTrack.cxx.
Referenced by dropRedundentCgemXHits().
void HoughTrack::dropRedundentCgemVHits | ( | ) |
Definition at line 1945 of file HoughTrack.cxx.
void HoughTrack::dropRedundentCgemXHits | ( | ) |
Definition at line 1886 of file HoughTrack.cxx.
void HoughTrack::dropVHitPnt | ( | HoughHit * | aHitPnt | ) |
Definition at line 1876 of file HoughTrack.cxx.
Referenced by dropRedundentCgemVHits().
int HoughTrack::findVHot | ( | vector< HoughHit * > & | hitList, |
int | charge, | ||
int | maxLayer, | ||
double | cutFactor = 1.0 |
||
) |
Definition at line 1996 of file HoughTrack.cxx.
int HoughTrack::findXHot | ( | vector< HoughHit * > & | hitList, |
int | charge | ||
) |
Definition at line 481 of file HoughTrack.cxx.
TrkErrCode HoughTrack::fitCircle | ( | const MdcDetector * | mdcDetector, |
TrkContextEv * | trkContextEv, | ||
double | bunchT0 | ||
) |
Definition at line 2179 of file HoughTrack.cxx.
int HoughTrack::fitCircle | ( | DotsHelixFitter * | fitter, |
double | bunchT0 | ||
) |
Definition at line 2324 of file HoughTrack.cxx.
TrkErrCode HoughTrack::fitHelix | ( | const MdcDetector * | mdcDetector, |
const BField * | bField, | ||
double | bunchT0, | ||
vector< HoughHit * > & | hot, | ||
int | Layer | ||
) |
Definition at line 2543 of file HoughTrack.cxx.
TrkErrCode HoughTrack::fitHelix | ( | const MdcDetector * | mdcDetector, |
TrkContextEv * | trkContextEv, | ||
double | bunchT0, | ||
vector< MdcHit * > & | mdcHitCol, | ||
vector< HoughHit * > & | hot | ||
) |
Definition at line 2402 of file HoughTrack.cxx.
int HoughTrack::fitHelix | ( | DotsHelixFitter * | fitter, |
double | bunchT0, | ||
RecCgemClusterCol::iterator | recCgemClusterColBegin, | ||
double | averageChi2cut = 25 |
||
) |
Definition at line 2708 of file HoughTrack.cxx.
|
inline |
Definition at line 52 of file HoughTrack.h.
|
inline |
Definition at line 50 of file HoughTrack.h.
Referenced by HoughFinder::fillHistogram().
|
inline |
|
inline |
Definition at line 59 of file HoughTrack.h.
|
inline |
Definition at line 54 of file HoughTrack.h.
|
inline |
Definition at line 57 of file HoughTrack.h.
|
inline |
Definition at line 63 of file HoughTrack.h.
|
inline |
Definition at line 55 of file HoughTrack.h.
|
inline |
Definition at line 56 of file HoughTrack.h.
|
inline |
Definition at line 66 of file HoughTrack.h.
|
inline |
Definition at line 51 of file HoughTrack.h.
vector< HoughHit * > HoughTrack::getHotList | ( | int | type = 2 | ) |
Definition at line 2127 of file HoughTrack.cxx.
Referenced by moreHot(), print(), and printHot().
|
inline |
Definition at line 65 of file HoughTrack.h.
|
inline |
Definition at line 141 of file HoughTrack.h.
|
inline |
Definition at line 92 of file HoughTrack.h.
|
inline |
Definition at line 93 of file HoughTrack.h.
int HoughTrack::getNHitsShared | ( | ) |
Definition at line 1983 of file HoughTrack.cxx.
|
inline |
Definition at line 94 of file HoughTrack.h.
|
inline |
Definition at line 95 of file HoughTrack.h.
|
inline |
Definition at line 129 of file HoughTrack.h.
|
inline |
Definition at line 64 of file HoughTrack.h.
|
inline |
Definition at line 151 of file HoughTrack.h.
|
inline |
Definition at line 53 of file HoughTrack.h.
|
inline |
Definition at line 67 of file HoughTrack.h.
|
inline |
Definition at line 49 of file HoughTrack.h.
Referenced by HoughFinder::getMcParticleCol(), and markUsedHot().
|
inline |
Definition at line 62 of file HoughTrack.h.
|
inline |
Definition at line 83 of file HoughTrack.h.
Referenced by getHotList(), and print().
|
inline |
Definition at line 133 of file HoughTrack.h.
|
inline |
Definition at line 134 of file HoughTrack.h.
Referenced by getHotList(), and print().
|
inline |
Definition at line 136 of file HoughTrack.h.
bool HoughTrack::isAGoodCircle | ( | ) |
Definition at line 1507 of file HoughTrack.cxx.
int HoughTrack::judgeCharge | ( | double | xHit, |
double | yHit | ||
) |
Definition at line 622 of file HoughTrack.cxx.
int HoughTrack::judgeCharge | ( | HoughHit * | hit | ) |
Definition at line 609 of file HoughTrack.cxx.
Referenced by findVHot(), and findXHot().
int HoughTrack::judgeHalf | ( | HoughHit * | hit | ) |
Definition at line 596 of file HoughTrack.cxx.
Referenced by driftDistRes(), HoughFinder::fillHistogram(), findXHot(), HoughFinder::getMcParticleCol(), and HoughHit::residual().
void HoughTrack::markUsedHot | ( | int | use = 1 | ) |
Definition at line 1484 of file HoughTrack.cxx.
void HoughTrack::markUsedHot | ( | vector< HoughHit * > & | hitPntList, |
int | use = 1 |
||
) |
Definition at line 1467 of file HoughTrack.cxx.
HoughTrack & HoughTrack::operator= | ( | const HoughTrack & | other | ) |
Definition at line 255 of file HoughTrack.cxx.
void HoughTrack::print | ( | ) |
Definition at line 962 of file HoughTrack.cxx.
Referenced by HoughFinder::getMcParticleCol().
void HoughTrack::printHot | ( | ) |
Definition at line 1020 of file HoughTrack.cxx.
void HoughTrack::printRecMdcHitVec | ( | ) |
Definition at line 1119 of file HoughTrack.cxx.
void HoughTrack::releaseSelHits | ( | ) |
Definition at line 1852 of file HoughTrack.cxx.
|
inline |
Definition at line 96 of file HoughTrack.h.
|
inline |
Definition at line 37 of file HoughTrack.h.
|
inline |
Definition at line 36 of file HoughTrack.h.
|
inline |
Definition at line 43 of file HoughTrack.h.
|
inline |
Definition at line 39 of file HoughTrack.h.
|
inline |
Definition at line 42 of file HoughTrack.h.
|
inline |
Definition at line 40 of file HoughTrack.h.
|
inline |
Definition at line 41 of file HoughTrack.h.
|
inline |
Definition at line 46 of file HoughTrack.h.
|
inline |
Definition at line 35 of file HoughTrack.h.
|
inline |
Definition at line 142 of file HoughTrack.h.
|
inline |
Definition at line 150 of file HoughTrack.h.
|
inline |
Definition at line 38 of file HoughTrack.h.
|
inline |
Definition at line 47 of file HoughTrack.h.
|
inline |
Definition at line 34 of file HoughTrack.h.
void HoughTrack::sortHot | ( | vector< HoughHit * > & | hotList | ) |
Definition at line 918 of file HoughTrack.cxx.
Referenced by getHotList().
void HoughTrack::update | ( | double | angle, |
double | rho | ||
) |
Definition at line 935 of file HoughTrack.cxx.
void HoughTrack::updateCirclePar | ( | double | dr, |
double | phi0, | ||
double | kappa | ||
) |
Definition at line 953 of file HoughTrack.cxx.
void HoughTrack::updateHelix | ( | ) |
Definition at line 923 of file HoughTrack.cxx.
Referenced by fitCircle(), fitHelix(), and updateCirclePar().
|
static |
Definition at line 145 of file HoughTrack.h.
Referenced by clearMemory(), fitCircle(), fitHelix(), and HoughFinder::initialize().
|
static |
Definition at line 147 of file HoughTrack.h.
Referenced by findVHot(), and HoughFinder::initialize().
|
static |
Definition at line 146 of file HoughTrack.h.
Referenced by fitCircle(), fitHelix(), and HoughFinder::initialize().