|
ACTS
Experiment-independent tracking
|
helper class for adaptive traversal of HT space More...
#include <Acts/Seeding2/HoughAccumulatorSection.hpp>
Public Types | |
| enum class | Decision { Discard , Accept , Drill , DrillAndExpand } |
| Defines the fate of section during traversal. | |
Public Member Functions | |
| HoughAccumulatorSection (float xw, float yw, float xBegin, float yBegin, int div=0, const std::vector< std::uint32_t > &indices={}, const std::vector< float > &history={}) | |
| Construct the section. | |
| HoughAccumulatorSection | bottom (bool copyIndices=false) const |
| create bottom section that is result of splitting this one into 2 | |
| HoughAccumulatorSection | bottomLeft (bool copyIndices=false) const |
| create section that is result of splitting this one into 4 | |
| HoughAccumulatorSection | bottomRight (bool copyIndices=false) const |
| create section that is result of splitting this one into 4 | |
| std::size_t | count () const |
| number of lines in the section | |
| Decision | decision () const |
| decision designated for this section in next traversal step | |
| std::uint32_t | divisionLevel () const |
| number of divisions that lead to this section | |
| void | expand (float xs, float ys) |
| keep indices and update parameters of the box by scalling | |
| float | history (std::uint32_t index) const |
| retrieve history info | |
| std::vector< std::uint32_t > & | indices () |
| mutable version of | |
| const std::vector< std::uint32_t > & | indices () const |
| indices of measurements that result in lines in this section | |
| template<typename F> requires std::invocable<F, float> | |
| bool | isCrossingInside (F &&line1, F &&line2) const & |
| check if the lines cross inside the section | |
| template<typename F> requires std::invocable<F, float> | |
| bool | isLineInside (F &&function) const & |
| true if the line defined by given parameters passes the section | |
| HoughAccumulatorSection | left (bool copyIndices=false) const |
| create left section that is result of splitting this one into 2 | |
| HoughAccumulatorSection | right (bool copyIndices=false) const |
| create right section that is result of splitting this one into 2 | |
| void | setHistory (std::size_t index, float value) |
| store additional (arbitrary) info in indexed array | |
| HoughAccumulatorSection | top (bool copyIndices=false) const |
| create top section that is result of splitting this one into 2 | |
| HoughAccumulatorSection | topLeft (bool copyIndices=false) const |
| create section that is result of splitting this one into 4 | |
| HoughAccumulatorSection | topRight (bool copyIndices=false) const |
| create section that is result of splitting this one into 4 | |
| Decision | updateDecision (Decision d) |
| updates decision designated for this step If this is not set specifically the default is to split (called Drill) | |
| void | updateDimensions (float xw, float yw, float xBegin, float yBegin) |
| keep indices and update parameters of the box This method is useful when changing direction of the search | |
| float | xBegin () const |
| location accessor | |
| float | xSize () const |
| size accessor | |
| float | yBegin () const |
| location accessor | |
| float | ySize () const |
| size accessor | |
helper class for adaptive traversal of HT space
| Acts::Experimental::HoughAccumulatorSection::HoughAccumulatorSection | ( | float | xw, |
| float | yw, | ||
| float | xBegin, | ||
| float | yBegin, | ||
| int | div = 0, | ||
| const std::vector< std::uint32_t > & | indices = {}, | ||
| const std::vector< float > & | history = {} ) |
Construct the section.
| xw | - width in x direction |
| yw | - widths in y direction |
| xBegin | - location of left side of the section |
| yBegin | - location of bottom side of the section |
| div | - division level (will be incremented during each division) |
| indices | - indices of measurements that generate lines passing this section |
| history | - storage for arbitrary information related to the section |
| HoughAccumulatorSection Acts::Experimental::HoughAccumulatorSection::bottom | ( | bool | copyIndices = false | ) | const |
create bottom section that is result of splitting this one into 2
| copyIndices | - copies indices from the parent if true +---—+ | | +---—+ | <|– this part +---—+ |
| HoughAccumulatorSection Acts::Experimental::HoughAccumulatorSection::bottomLeft | ( | bool | copyIndices = false | ) | const |
create section that is result of splitting this one into 4
| copyIndices | - copies indices from the parent |
| HoughAccumulatorSection Acts::Experimental::HoughAccumulatorSection::bottomRight | ( | bool | copyIndices = false | ) | const |
create section that is result of splitting this one into 4
| copyIndices | - copies indices from the parent if true |
| std::size_t Acts::Experimental::HoughAccumulatorSection::count | ( | ) | const |
number of lines in the section
| Decision Acts::Experimental::HoughAccumulatorSection::decision | ( | ) | const |
decision designated for this section in next traversal step
| std::uint32_t Acts::Experimental::HoughAccumulatorSection::divisionLevel | ( | ) | const |
number of divisions that lead to this section
| void Acts::Experimental::HoughAccumulatorSection::expand | ( | float | xs, |
| float | ys ) |
keep indices and update parameters of the box by scalling
| xs | - scale in x direction, if bigger than 1 the size increases |
| ys | - scale in y direction The box is recentred |
| float Acts::Experimental::HoughAccumulatorSection::history | ( | std::uint32_t | index | ) | const |
retrieve history info
| index | - item index |
| std::vector< std::uint32_t > & Acts::Experimental::HoughAccumulatorSection::indices | ( | ) |
mutable version of
| const std::vector< std::uint32_t > & Acts::Experimental::HoughAccumulatorSection::indices | ( | ) | const |
indices of measurements that result in lines in this section
| bool Acts::Experimental::HoughAccumulatorSection::isCrossingInside | ( | F && | line1, |
| F && | line2 ) const & |
check if the lines cross inside the section
| line1 | - functional form of line 1 |
| line2 | - functional form of line 2 |
| bool Acts::Experimental::HoughAccumulatorSection::isLineInside | ( | F && | function | ) | const & |
true if the line defined by given parameters passes the section
| function | is callable used to check crossing at the edges |
| HoughAccumulatorSection Acts::Experimental::HoughAccumulatorSection::left | ( | bool | copyIndices = false | ) | const |
create left section that is result of splitting this one into 2
| copyIndices | - copies indices from the parent if true +—+—+ | <|—|– this part +—+—+ |
| HoughAccumulatorSection Acts::Experimental::HoughAccumulatorSection::right | ( | bool | copyIndices = false | ) | const |
create right section that is result of splitting this one into 2
| copyIndices | - copies indices from the parent if true +—+—+ | | <|– this part +—+—+ |
| void Acts::Experimental::HoughAccumulatorSection::setHistory | ( | std::size_t | index, |
| float | value ) |
store additional (arbitrary) info in indexed array
| index | - identifier |
| value | - value to store |
| HoughAccumulatorSection Acts::Experimental::HoughAccumulatorSection::top | ( | bool | copyIndices = false | ) | const |
create top section that is result of splitting this one into 2
| copyIndices | - copies indices from the parent if true +---—+ | <|– this part +---—+ | | +---—+ |
| HoughAccumulatorSection Acts::Experimental::HoughAccumulatorSection::topLeft | ( | bool | copyIndices = false | ) | const |
create section that is result of splitting this one into 4
| copyIndices | - copies indices from the parent |
| HoughAccumulatorSection Acts::Experimental::HoughAccumulatorSection::topRight | ( | bool | copyIndices = false | ) | const |
create section that is result of splitting this one into 4
| copyIndices | - copies indices from the parent |
updates decision designated for this step If this is not set specifically the default is to split (called Drill)
| d | - new decision for the section |
| void Acts::Experimental::HoughAccumulatorSection::updateDimensions | ( | float | xw, |
| float | yw, | ||
| float | xBegin, | ||
| float | yBegin ) |
keep indices and update parameters of the box This method is useful when changing direction of the search
| xw | - new x width |
| yw | - new x width |
| xBegin | - new left side |
| yBegin | - new bottom side |
| float Acts::Experimental::HoughAccumulatorSection::xBegin | ( | ) | const |
location accessor
| float Acts::Experimental::HoughAccumulatorSection::xSize | ( | ) | const |
size accessor
| float Acts::Experimental::HoughAccumulatorSection::yBegin | ( | ) | const |
location accessor
| float Acts::Experimental::HoughAccumulatorSection::ySize | ( | ) | const |
size accessor