MarlinTPC  1.2.0
Public Member Functions | List of all members
marlintpc::rb_Triplet Class Reference

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_HitgetHit (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).
 

Detailed Description

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.

Constructor & Destructor Documentation

marlintpc::rb_Triplet::rb_Triplet ( rb_Doublet doublet,
rb_Hit hit 
)

Construct row based triplet.

Parameters
[in]doubletdoublet of outer hits
[in]hitcenter hit

References marlintpc::rb_Doublet::getHit(), and marlintpc::rb_Doublet::getParameters().

Member Function Documentation

rb_Hit * marlintpc::rb_Triplet::getHit ( const int  ihit) const

Get hit.

Parameters
[in]ihithit index
Returns
hit
void marlintpc::rb_Triplet::getPos ( double *  position) const

Get position.

Parameters
[out]positionposition
void marlintpc::rb_Triplet::getPosCloseTo ( const double  xref,
const double  yref,
double *  position,
double &  ds 
) const

Get position close to reference point.

Parameters
[in]xrefX of reference point
[in]yrefY of reference point
[out]positionposition
[out]dsarc length (to position)

Referenced by match().

double marlintpc::rb_Triplet::getVarXYPos ( const double  ds = 0.) const

Get XY variance (position).

Parameters
[in]dsarc length

Referenced by match().

double marlintpc::rb_Triplet::getVarZPos ( const double  ds = 0.) const

Get Z variance (position).

Parameters
[in]dsarc length

Referenced by match().

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.

Parameters
[in]trptriplet to compare with
[in]posCutcuts in normalized variance for position matching of (disjunct, overlapping) triplets
[in]dirCutcuts in normalized variance for direction matching of (disjunct, overlapping) triplets
Returns
matching flag

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().


The documentation for this class was generated from the following files: