1 #ifndef ROWBASEDFASTHOUGHTRANSFORMATIONPROCESSOR_H
2 #define ROWBASEDFASTHOUGHTRANSFORMATIONPROCESSOR_H
4 #include "RowTripletBasedTrackFinderProcessor.h"
6 #include <marlin/Processor.h>
7 #include <marlin/Global.h>
11 #include <gear/TPCModule.h>
14 #include "EVENT/TrackerHit.h"
21 #include "TMatrixDSym.h"
92 virtual Processor* newProcessor() {
100 virtual void processRunHeader(EVENT::LCRunHeader* run);
104 virtual void check(EVENT::LCEvent* evt);
141 typedef std::vector<int> intListType;
142 typedef std::vector<double> doubleListType;
143 typedef std::vector<doubleListType> directionsType;
158 intListType
getCut()
const;
160 std::vector<intListType>
getSteps()
const;
167 std::vector<intListType> _steps;
170 typedef std::vector<rb_HyperPlane*> hyperPlaneListType;
182 rb_HyperCube(
unsigned int*, hyperPlaneListType&, intListType&,
unsigned int = 0);
184 hitListType
divide(
int,
int,
int,
int,
float,
float);
187 unsigned int _setup[2];
188 std::vector<rb_HyperPlane*> _planes;
189 intListType _distances;
192 unsigned int _dimension;
196 #endif // ROWBASEDFASTHOUGHTRANSFORMATIONPROCESSOR_H
rb_Hit * getHit() const
Get hit (pointer).
Definition: RowBasedFastHoughTransformationProcessor.cc:461
intListType getCut() const
Get distance cut(s).
Definition: RowBasedFastHoughTransformationProcessor.cc:466
void print() const
Print hypercube.
Definition: RowBasedFastHoughTransformationProcessor.cc:503
Row based hypercubes.
Definition: RowBasedFastHoughTransformationProcessor.h:180
int nCube
cube counter
Definition: RowBasedFastHoughTransformationProcessor.h:172
void print() const
Print hyperplane.
Definition: RowBasedFastHoughTransformationProcessor.cc:445
std::vector< intListType > getSteps() const
Get steps (distances of child to mother hypercube center).
Definition: RowBasedFastHoughTransformationProcessor.cc:476
int getRow() const
Get row number.
Definition: RowBasedFastHoughTransformationProcessor.cc:451
Row based hit.
Definition: RowTripletBasedTrackFinderProcessor.h:122
Row based hyperplane.
Definition: RowBasedFastHoughTransformationProcessor.h:151
hitListType divide(int, int, int, int, float, float)
Divide hypercube (recursively).
Definition: RowBasedFastHoughTransformationProcessor.cc:518
int getScaleBits() const
Get scale bits.
Definition: RowBasedFastHoughTransformationProcessor.cc:456
rb_HyperPlane(int, rb_Hit *, directionsType &, double=0.75)
Construct row based hyperplane.
Definition: RowBasedFastHoughTransformationProcessor.cc:424
rb_HyperCube(unsigned int *, hyperPlaneListType &, intListType &, unsigned int=0)
Construct row based hypercube.
Definition: RowBasedFastHoughTransformationProcessor.cc:492
int getStep(int, int) const
Get step (distances of child to mother hypercube center projected on normal).
Definition: RowBasedFastHoughTransformationProcessor.cc:481