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

Row based hypercubes. More...

#include <RowBasedFastHoughTransformationProcessor.h>

Public Member Functions

 rb_HyperCube (unsigned int *, hyperPlaneListType &, intListType &, unsigned int=0)
 Construct row based hypercube. More...
 
void print () const
 Print hypercube.
 
hitListType divide (int, int, int, int, float, float)
 Divide hypercube (recursively). More...
 

Detailed Description

Row based hypercubes.

Has entries with distances and hyperplanes. Subdivided recursively until first track candidate found or maximal (splitting) level reached.

Constructor & Destructor Documentation

marlintpc::rb_HyperCube::rb_HyperCube ( unsigned int *  setup,
hyperPlaneListType &  planes,
intListType &  distances,
unsigned int  level = 0 
)

Construct row based hypercube.

Parameters
[in]setupnumber of parameters per measurement (pad plane, drift time)
[in]planeslist of hyperplanes (pointer)
[in]distanceslist of distances
[in]levellevel (number of cube splittings)

References marlintpc::nCube.

Member Function Documentation

hitListType marlintpc::rb_HyperCube::divide ( int  maxCube,
int  minRows,
int  minLevel,
int  maxLevel,
float  effCut,
float  purCut 
)

Divide hypercube (recursively).

Parameters
[in]maxCubemaximal number of cubes to check.
[in]minRowsminimum number of rows in child.
[in]minLevelminimal level (number of splittings)
[in]maxLevelmaximal level (number of splittings)
[in]effCutefficiency cut (minimal hit density)
[in]purCutpurity cut (maximal hit density)
Returns
list of hits for track candidate (from final cube)
  • For all child cubes count rows from intersecting hyperplanes.
  • Sort child cubes by (decreasing) number of rows and (increasing) distance spread (<d**2>).
  • Check (orderd) child cubes
  1. Accept cube with proper hit density (and minimum level) as track candidate.
  2. Subdivide cube if not reached maximum level.

References divide(), marlintpc::rb_HyperPlane::getCut(), marlintpc::rb_HyperPlane::getRow(), marlintpc::rb_HyperPlane::getStep(), and marlintpc::nCube.

Referenced by divide(), and marlintpc::RowBasedFastHoughTransformationProcessor::processEvent().


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