MarlinTPC
1.2.0
|
Row based triplet. More...
#include <RowTripletBasedTrackFinderProcessor.h>
Public Member Functions | |
rb_Triplet (rb_Doublet &, rb_Hit *) | |
Construct row based triplet. More... | |
int | getRow () const |
Get row number (of center hit). | |
double | getX () const |
Get X coordinate. | |
double | getY () const |
Get Y coordinate. | |
double | getZ () const |
Get Z coordinate. | |
void | getPos (double *) const |
Get position. More... | |
double | getVarXYPos (const double=0.) const |
Get XY variance (position). More... | |
double | getVarXYDir () const |
Get XY variance (direction: phi). | |
double | getVarZPos (const double=0.) const |
Get Z variance (position). More... | |
double | getVarZDir () const |
Get Z variance (direction: tan(lambda)). | |
double | getPhiMeas () const |
Get XY measurement direction (average of outer hits). | |
double | getPhi () const |
Get direction in XY. | |
double | getTanl () const |
Get slope in ZS. | |
void | getPosCloseTo (const double, const double, double *, double &) const |
Get position close to reference point. More... | |
rb_Hit * | getHit (const int) const |
Get hit. More... | |
bool | match (rb_Triplet *, const double, const double) const |
Match triplet with other triplet. More... | |
double | getCosBeta () const |
Get cos(beta). | |
Row based triplet.
Is build from matching hits in even or odd rows and has a position and a direction (determined from seeding doublet) in XY and ZS with corresponding covariances.
marlintpc::rb_Triplet::rb_Triplet | ( | rb_Doublet & | doublet, |
rb_Hit * | hit | ||
) |
Construct row based triplet.
[in] | doublet | doublet of outer hits |
[in] | hit | center hit |
References marlintpc::rb_Doublet::getHit(), and marlintpc::rb_Doublet::getParameters().
rb_Hit * marlintpc::rb_Triplet::getHit | ( | const int | ihit | ) | const |
Get hit.
[in] | ihit | hit index |
void marlintpc::rb_Triplet::getPos | ( | double * | position | ) | const |
Get position.
[out] | position | position |
void marlintpc::rb_Triplet::getPosCloseTo | ( | const double | xref, |
const double | yref, | ||
double * | position, | ||
double & | ds | ||
) | const |
Get position close to reference point.
[in] | xref | X of reference point |
[in] | yref | Y of reference point |
[out] | position | position |
[out] | ds | arc length (to position) |
Referenced by match().
double marlintpc::rb_Triplet::getVarXYPos | ( | const double | ds = 0. | ) | const |
double marlintpc::rb_Triplet::getVarZPos | ( | const double | ds = 0. | ) | const |
bool marlintpc::rb_Triplet::match | ( | rb_Triplet * | trp, |
const double | posCut, | ||
const double | dirCut | ||
) | const |
Match triplet with other triplet.
Match triplets in position and direction in XY and ZS.
[in] | trp | triplet to compare with |
[in] | posCut | cuts in normalized variance for position matching of (disjunct, overlapping) triplets |
[in] | dirCut | cuts in normalized variance for direction matching of (disjunct, overlapping) triplets |
Chi2 values calculated from differences in position (at mid point) and direction and covariance matrices in XY and ZS are used as matching criteria (separately).
Matching cuts at ~4 sigma.
References getPhi(), getPhiMeas(), getPosCloseTo(), getRow(), getTanl(), getVarXYDir(), getVarXYPos(), getVarZDir(), getVarZPos(), getX(), and getY().