CGEM BOSS 6.6.5.i
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 () |
int | 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, double chiCut=7., int debug=0) |
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 (int type=2) |
void | updateLayerStat () |
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 () |
bool | nearStereoHits () |
void | clearXVhitsCgem () |
int | findHelixInCgem () |
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 22 of file HoughTrack.cxx.
HoughTrack::HoughTrack | ( | int | charge, |
const HepPoint3D & | position, | ||
const Hep3Vector & | momentum, | ||
int | trkID ) |
Definition at line 78 of file HoughTrack.cxx.
HoughTrack::HoughTrack | ( | HepPoint3D & | pivot, |
HepVector & | a, | ||
int | trkID ) |
Definition at line 121 of file HoughTrack.cxx.
HoughTrack::HoughTrack | ( | const HoughTrack & | other | ) |
Definition at line 229 of file HoughTrack.cxx.
HoughTrack::HoughTrack | ( | ) |
Definition at line 193 of file HoughTrack.cxx.
|
inline |
Definition at line 84 of file HoughTrack.h.
Referenced by HoughFinder::getMcParticleCol().
|
inline |
Definition at line 136 of file HoughTrack.h.
Referenced by HoughFinder::getMcParticleCol().
int HoughTrack::calculateZ_S | ( | HoughHit * | hit | ) |
Definition at line 783 of file HoughTrack.cxx.
Referenced by findVHot().
void HoughTrack::clearHits | ( | ) |
Definition at line 1274 of file HoughTrack.cxx.
void HoughTrack::clearMemory | ( | ) |
Definition at line 3051 of file HoughTrack.cxx.
void HoughTrack::clearXVhitsCgem | ( | ) |
Definition at line 3059 of file HoughTrack.cxx.
double HoughTrack::driftDistRes | ( | HoughHit * | hit | ) |
Definition at line 645 of file HoughTrack.cxx.
Referenced by findXHot().
void HoughTrack::dropHitPnt | ( | HoughHit * | aHitPnt | ) |
Definition at line 1942 of file HoughTrack.cxx.
Referenced by dropRedundentCgemXHits().
void HoughTrack::dropRedundentCgemVHits | ( | ) |
Definition at line 2032 of file HoughTrack.cxx.
int HoughTrack::dropRedundentCgemXHits | ( | ) |
Definition at line 1967 of file HoughTrack.cxx.
void HoughTrack::dropVHitPnt | ( | HoughHit * | aHitPnt | ) |
Definition at line 1957 of file HoughTrack.cxx.
Referenced by dropRedundentCgemVHits().
int HoughTrack::findHelixInCgem | ( | ) |
Definition at line 3064 of file HoughTrack.cxx.
int HoughTrack::findVHot | ( | vector< HoughHit * > & | hitList, |
int | charge, | ||
int | maxLayer, | ||
double | cutFactor = 1.0 ) |
Definition at line 2083 of file HoughTrack.cxx.
int HoughTrack::findXHot | ( | vector< HoughHit * > & | hitList, |
int | charge ) |
Definition at line 490 of file HoughTrack.cxx.
TrkErrCode HoughTrack::fitCircle | ( | const MdcDetector * | mdcDetector, |
TrkContextEv * | trkContextEv, | ||
double | bunchT0 ) |
Definition at line 2266 of file HoughTrack.cxx.
int HoughTrack::fitCircle | ( | DotsHelixFitter * | fitter, |
double | bunchT0, | ||
double | chiCut = 7., | ||
int | debug = 0 ) |
Definition at line 2411 of file HoughTrack.cxx.
TrkErrCode HoughTrack::fitHelix | ( | const MdcDetector * | mdcDetector, |
const BField * | bField, | ||
double | bunchT0, | ||
vector< HoughHit * > & | hot, | ||
int | Layer ) |
Definition at line 2762 of file HoughTrack.cxx.
TrkErrCode HoughTrack::fitHelix | ( | const MdcDetector * | mdcDetector, |
TrkContextEv * | trkContextEv, | ||
double | bunchT0, | ||
vector< MdcHit * > & | mdcHitCol, | ||
vector< HoughHit * > & | hot ) |
Definition at line 2621 of file HoughTrack.cxx.
int HoughTrack::fitHelix | ( | DotsHelixFitter * | fitter, |
double | bunchT0, | ||
RecCgemClusterCol::iterator | recCgemClusterColBegin, | ||
double | averageChi2cut = 25 ) |
Definition at line 2927 of file HoughTrack.cxx.
|
inline |
Definition at line 52 of file HoughTrack.h.
|
inline |
Definition at line 50 of file HoughTrack.h.
|
inline |
Definition at line 58 of file HoughTrack.h.
Referenced by fitCircle(), and print().
|
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 2214 of file HoughTrack.cxx.
Referenced by moreHot(), print(), and printHot().
|
inline |
Definition at line 65 of file HoughTrack.h.
|
inline |
Definition at line 142 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 2070 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 130 of file HoughTrack.h.
|
inline |
Definition at line 64 of file HoughTrack.h.
|
inline |
Definition at line 152 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 calculateZ_S(), HoughFinder::getMcParticleCol(), markUsedHot(), 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 134 of file HoughTrack.h.
|
inline |
Definition at line 135 of file HoughTrack.h.
Referenced by getHotList(), and print().
|
inline |
Definition at line 137 of file HoughTrack.h.
bool HoughTrack::isAGoodCircle | ( | ) |
Definition at line 1588 of file HoughTrack.cxx.
int HoughTrack::judgeCharge | ( | double | xHit, |
double | yHit ) |
Definition at line 631 of file HoughTrack.cxx.
int HoughTrack::judgeCharge | ( | HoughHit * | hit | ) |
Definition at line 618 of file HoughTrack.cxx.
Referenced by findVHot(), and findXHot().
int HoughTrack::judgeHalf | ( | HoughHit * | hit | ) |
Definition at line 605 of file HoughTrack.cxx.
Referenced by driftDistRes(), findXHot(), HoughFinder::getMcParticleCol(), HoughHit::residual(), and HoughHit::residual().
void HoughTrack::markUsedHot | ( | int | use = 1 | ) |
Definition at line 1565 of file HoughTrack.cxx.
void HoughTrack::markUsedHot | ( | vector< HoughHit * > & | hitPntList, |
int | use = 1 ) |
Definition at line 1548 of file HoughTrack.cxx.
|
inline |
Definition at line 155 of file HoughTrack.h.
HoughTrack & HoughTrack::operator= | ( | const HoughTrack & | other | ) |
Definition at line 263 of file HoughTrack.cxx.
void HoughTrack::print | ( | ) |
Definition at line 1026 of file HoughTrack.cxx.
Referenced by HoughFinder::getMcParticleCol().
void HoughTrack::printHot | ( | int | type = 2 | ) |
Definition at line 1084 of file HoughTrack.cxx.
void HoughTrack::printRecMdcHitVec | ( | ) |
Definition at line 1200 of file HoughTrack.cxx.
void HoughTrack::releaseSelHits | ( | ) |
Definition at line 1933 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 143 of file HoughTrack.h.
|
inline |
Definition at line 151 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 982 of file HoughTrack.cxx.
Referenced by getHotList().
void HoughTrack::update | ( | double | angle, |
double | rho ) |
Definition at line 999 of file HoughTrack.cxx.
void HoughTrack::updateCirclePar | ( | double | dr, |
double | phi0, | ||
double | kappa ) |
Definition at line 1017 of file HoughTrack.cxx.
void HoughTrack::updateHelix | ( | ) |
Definition at line 987 of file HoughTrack.cxx.
Referenced by fitCircle(), fitHelix(), fitHelix(), and updateCirclePar().
void HoughTrack::updateLayerStat | ( | ) |
Definition at line 1183 of file HoughTrack.cxx.
|
static |
Definition at line 146 of file HoughTrack.h.
Referenced by clearMemory(), fitCircle(), fitHelix(), and HoughFinder::initialize().
|
static |
Definition at line 18 of file HoughTrack.h.
Referenced by findVHot(), and HoughFinder::initialize().
|
static |
Definition at line 147 of file HoughTrack.h.
Referenced by fitCircle(), fitHelix(), fitHelix(), and HoughFinder::initialize().