Belle II Software  release-08-01-10
AxialTrackCreatorHitHough Class Referenceabstract

Generates axial tracks from hit using the special leaf processing inspired by the legendre algorithm. More...

#include <AxialTrackCreatorHitHough.h>

Inheritance diagram for AxialTrackCreatorHitHough:
Collaboration diagram for AxialTrackCreatorHitHough:

Public Types

using IOTypes = std::tuple< AIOTypes... >
 Types that should be served to apply on invokation.
 
using IOVectors = std::tuple< std::vector< AIOTypes >... >
 Vector types that should be served to apply on invokation.
 

Public Member Functions

std::string getDescription () final
 Short description of the findlet.
 
void exposeParameters (ModuleParamList *moduleParamList, const std::string &prefix) final
 Expose the parameters to a module.
 
void initialize () final
 Initialize the findlet before event processing.
 
void apply (const std::vector< const CDCWireHit * > &axialWireHits, std::vector< CDCTrack > &tracks) final
 Generates the tracks from the given segments into the output argument.
 
void terminate () final
 Cleanup the findlet after event processing.
 
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.
 

Static Public Member Functions

static std::vector< float > getDefaultCurvBounds (std::array< float, 2 > curvSpan, int granularityLevel)
 Get a series of parameters to be set for each pass over the rough hough space.
 

Protected Types

using ToVector = typename ToVectorImpl< T >::Type
 Short hand for ToRangeImpl.
 

Protected Member Functions

void addProcessingSignalListener (ProcessingSignalListener *psl)
 Register a processing signal listener to be notified.
 
int getNProcessingSignalListener ()
 Get the number of currently registered listeners.
 

Private Types

using Super = Findlet< const CDCWireHit *const, CDCTrack >
 Type of the base class.
 
using SimpleRLTaggedWireHitPhi0CurvHough = SimpleRLTaggedWireHitHoughTree< InPhi0CurvBox, c_phi0Divisions, c_curvDivisions >
 Type of the hough space tree search.
 

Private Attributes

const double m_curlCurv = 0.018
 Curvature below which particles from IP do not leave the CDC.
 
int m_param_granularityLevel = 12
 Parameter: Level of divisions in the hough space.
 
int m_param_sectorLevelSkip = 2
 Parameter: Number of levels to be skipped in the hough space on the first level to form sectors.
 
std::vector< float > m_param_curvBounds {{ -0.02, 0.14}}
 Parameter: hough bounds.
 
int m_param_discretePhi0Width = 19
 Parameter: Width of the phi0 bins at the highest level of the hough space.
 
int m_param_discretePhi0Overlap = 5
 Parameter: Overlap of the phi0 bins at the highest level of the hough space.
 
int m_param_discreteCurvWidth = 1
 Parameter: Width of the curvature bins at the highest level of the hough space.
 
int m_param_discreteCurvOverlap = -1
 Parameter: Overlap of the curvature bins at the highest level of the hough space.
 
std::vector< ParameterVariantMap > m_param_relaxationSchedule
 Parameter: Relaxation schedule for the leaf processor in the hough tree.
 
std::unique_ptr< SimpleRLTaggedWireHitPhi0CurvHoughm_houghTree
 The hough space tree search.
 
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.
 

Static Private Attributes

static const int c_phi0Divisions = 2
 Fixed parameter: Number of divisions in the phi0 direction.
 
static const int c_curvDivisions = 2
 Fixed parameter: Number of divisions in the curv direction.
 

Detailed Description

Generates axial tracks from hit using the special leaf processing inspired by the legendre algorithm.

Definition at line 32 of file AxialTrackCreatorHitHough.h.


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