28 #ifndef QWTRACKINGTREESEARCH_H
29 #define QWTRACKINGTREESEARCH_H
31 #define TREESEARCH_MAX_TREELINES 1000
40 namespace QwTracking {
68 int exists (
int *newa,
int front,
int back,
int offset);
70 void setpoint (
double off,
double h1,
double res1,
double h2,
double res2,
71 double width,
unsigned binwidth,
char *pa,
char *pb,
72 int *hasha,
int *hashb);
75 int TsSetPoint (
double detectorwidth,
double wirespacing,
77 char *pattern,
int *hash,
unsigned binwidth);
81 char *pattern[16],
int *hashpat[16],
82 int maxlevel,
int numwires,
int numlayers);
113 void _setpoints (
double pos_start,
double pos_end,
double detectorwidth,
114 unsigned binwidth,
char *pattern,
int *hash);
115 void _setpoint (
double position,
double resolution,
double detectorwidth,
116 unsigned binwidth,
char *pattern,
int *hash);
123 #endif // QWTRACKINGTREESEARCH_H
unsigned int fPattern_fMaxRows
unsigned int fMaxMissedPlanes
Maximum number of missed planes in region 2.
int exists(int *newa, int front, int back, int offset)
QwTrackingTreeSearch()
Constructor.
void SetShowMatchingPatterns(bool show=true)
Set the flag to show matching patterns when they are found.
int fMaxLevel
Maximum level of this tree search.
A container for the pattern databases for each detector region.
unsigned int & fNumPlanes
Number of region 2 HDC planes.
bool fShowMatchingPatterns
Flag to show matching patterns when found.
unsigned int & fNumWires
Number of region 3 VDC wires.
unsigned int fMaxMissedWires
Maximum number of missed wires in region 3.
void setpoint(double off, double h1, double res1, double h2, double res2, double width, unsigned binwidth, char *pa, char *pb, int *hasha, int *hashb)
std::vector< QwTreeLine * > fTreeLineList
void _SearchTreeLines(shortnode *node, int level, int offset, int row_offset, int reverse, int numwires)
Recursive tree search algorithm.
void _setpoints(double pos_start, double pos_end, double detectorwidth, unsigned binwidth, char *pattern, int *hash)
void SetDebugLevel(int debug)
Set the debug level.
void _setpoint(double position, double resolution, double detectorwidth, unsigned binwidth, char *pattern, int *hash)
One-dimensional (u, v, or x) track stubs and associated hits.
std::vector< QwTreeLine * > GetListOfTreeLines()
Get the list of tree lines.
QwTreeLine * SearchTreeLines(QwTrackingTreeRegion *searchtree, char *pattern[16], int *hashpat[16], int maxlevel, int numwires, int numlayers)
Search for the tree lines consistent with the hit pattern.
unsigned int fPattern_fMaxBins
Hit structure uniquely defining each hit.
unsigned int fNumLayers
Number of detector layers (general concept)
virtual ~QwTrackingTreeSearch()
Destructor.
int TsSetPoint(double detectorwidth, double wirespacing, QwHit *hit, char *pattern, int *hash, unsigned binwidth)
Method to set the tree pattern.