Findlet for finding intersections of sinusoidal curves in the 2D Hough space by iteratively calling FastInterceptFinder2d.
More...
|
| MultiHoughSpaceFastInterceptFinder () |
| Find intercepts in the 2D Hough space.
|
|
void | exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) override |
| Expose the parameters of the sub findlets.
|
|
void | initialize () override |
| Create the store arrays.
|
|
void | apply (std::vector< VXDHoughState > &hits, std::vector< std::vector< VXDHoughState * >> &rawTrackCandidates) override |
| Load in the prepared hits and create track candidates for further processing like hit filtering and fitting.
|
|
virtual std::string | getDescription () |
| Brief description of the purpose of the concret findlet.
|
|
virtual void | apply (ToVector< AIOTypes > &... ioVectors)=0 |
| Main function executing the algorithm.
|
|
void | beginRun () override |
| Receive and dispatch signal for the beginning of a new run.
|
|
void | beginEvent () override |
| Receive and dispatch signal for the start of a new event.
|
|
void | endRun () override |
| Receive and dispatch signal for the end of the run.
|
|
void | terminate () override |
| Receive and dispatch Signal for termination of the event processing.
|
|
|
void | initializeSectorFriendMap () |
| fill the map of friend sensors for each L6 sensor to
|
|
unsigned short | layerFilter (const std::bitset< 8 > &layer) |
| layer filter, checks if at least hits from 3 layers are in a set of hits More...
|
|
void | fastInterceptFinder2d (const std::vector< VXDHoughState * > &hits, uint xmin, uint xmax, uint ymin, uint ymax, uint currentRecursion) |
| find intercepts in the 2D Hough Space by recursively calling itself until no hits are assinged to a given Hough Space cell, or until the maximum number of recursions (m_maxRecursionLevel) is reached More...
|
|
void | FindHoughSpaceCluster () |
| Find Hough Space clusters. More...
|
|
void | DepthFirstSearch (uint lastIndexX, uint lastIndexY) |
| Perform depth first search recursive algorithm to find clusters in the Hough Space. More...
|
|
|
HitSelector | m_HitSelector |
| Use the friend map to just fill the hits in the acceptance region of the current L6 sensor into the m_currentSensorsHitList which is then used the Hough trafo track finding.
|
|
uint | m_maxRecursionLevel = 7 |
| maximum number of recursive calls of fastInterceptFinder2d
|
|
uint | m_nAngleSectors = 256 |
| number of sectors of the Hough Space on the horizontal axis
|
|
uint | m_nVerticalSectors = 256 |
| number of sectors of the Hough Space on the vertical axis
|
|
double | m_verticalHoughSpaceSize = 0.25 |
| vertical size of the Hough Space, defaults to the value for u-side
|
|
double | m_minimumX = -3.168 |
| minimum x value of the Hough Space, defaults to the value for u-side
|
|
double | m_maximumX = 3.168 |
| maximum x value of the Hough Space, defaults to the value for u-side
|
|
uint | m_MinimumHSClusterSize = 6 |
| minimum cluster size of sectors belonging to intercepts in the Hough Space
|
|
uint | m_MaximumHSClusterSize = 100 |
| maximum cluster size of sectors belonging to intercepts in the Hough Space
|
|
uint | m_MaximumHSClusterSizeX = 100 |
| maximum cluster size in x of sectors belonging to intercepts in the Hough Space
|
|
uint | m_MaximumHSClusterSizeY = 100 |
| maximum cluster size in y of sectors belonging to intercepts in the Hough Space
|
|
double | m_unitX = 0 |
| HS unit size in x.
|
|
double | m_unitY = 0 |
| HS unit size in y.
|
|
friendSensorMap | m_fullFriendMap |
| friendMap for all the SVD L6 sensors
|
|
std::vector< VXDHoughState * > | m_currentSensorsHitList |
| hits that are in the acceptance region (= on friend sensors) for the current L6 senosr
|
|
std::array< double, 16385 > | m_HSSinValuesLUT = {0} |
| Look-Up-Tables for values as cache to speed up calculation sine values of the Hough Space sector boarder coordinates.
|
|
std::array< double, 16385 > | m_HSCosValuesLUT = {0} |
| cosine values of the Hough Space sector boarder coordinates
|
|
std::array< double, 16384 > | m_HSCenterSinValuesLUT = {0} |
| sine values of the Hough Space sector center coordinates
|
|
std::array< double, 16384 > | m_HSCenterCosValuesLUT = {0} |
| cosine values of the Hough Space sector center coordinates
|
|
std::array< double, 16385 > | m_HSYLUT = {0} |
| y values of the Hough Space sector boarders
|
|
std::array< double, 16384 > | m_HSYCenterLUT = {0} |
| y values of the Hough Space sector centers
|
|
std::array< double, 16385 > | m_HSXLUT = {0} |
| x values of the Hough Space sector boarders
|
|
std::array< double, 16384 > | m_HSXCenterLUT = {0} |
| x values of the Hough Space sector centers
|
|
std::map< std::pair< uint, uint >, std::pair< int, std::vector< VXDHoughState * > >, paircompare > | m_activeSectors |
| Map containing only active HS sectors, i.e. More...
|
|
uint | m_clusterCount = 0 |
| count the clusters
|
|
uint | m_clusterSize = 0 |
| size of the current cluster
|
|
std::pair< uint, uint > | m_clusterInitialPosition = std::make_pair(0, 0) |
| start cell of the recursive cluster finding in the Hough Space
|
|
std::pair< int, int > | m_clusterCoG = std::make_pair(0, 0) |
| center of gravity containing describing the current best track parameters in the Hough Space
|
|
std::vector< VXDHoughState * > | m_currentTrackCandidate |
| the current track candidate
|
|
std::vector< std::vector< VXDHoughState * > > | m_trackCandidates |
| vector containing track candidates, consisting of the found intersection values in the Hough Space
|
|
std::vector< ProcessingSignalListener * > | m_subordinaryProcessingSignalListeners |
| References to subordinary signal processing listener contained in this findlet.
|
|
bool | m_initialized = false |
| Flag to keep track whether initialization happend before.
|
|
bool | m_terminated = false |
| Flag to keep track whether termination happend before.
|
|
std::string | m_initializedAs |
| Name of the type during initialisation.
|
|
Findlet for finding intersections of sinusoidal curves in the 2D Hough space by iteratively calling FastInterceptFinder2d.
This is done 80 times for a subset of SVD sensors, one subset for each layer 6 sensor to reduce combinatorics in the Hough Space and to improve the purity of the found track candidates. The found track candidates are then clustered via a recursive search. Afterwards track candidates are formed and stored in the output vector.
Definition at line 35 of file MultiHoughSpaceFastInterceptFinder.h.