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

Findlet for loading SVDClusters that were created by the DATCONSVDClusterizer findlet and prepare them for usage in the FastInterceptFinder2D by calculating the conformal transformed x,y coordinates and the creating pairs of coordinates for finding track candidates in r-phi and r-z. More...

#include <DATCONSVDClusterLoaderAndPreparer.h>

Inheritance diagram for DATCONSVDClusterLoaderAndPreparer:
Collaboration diagram for DATCONSVDClusterLoaderAndPreparer:

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

 DATCONSVDClusterLoaderAndPreparer ()
 Load clusters and prepare them for intercept finding.
 
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 (const std::vector< SVDCluster > &uClusters, const std::vector< SVDCluster > &vClusters, std::vector< std::pair< VxdID, std::pair< long, long >>> &uHits, std::vector< std::pair< VxdID, std::pair< long, long >>> &vHits) override
 Load the SVDClusters and create two vectors containing the hits prepared for intercept finding This function takes uClusters and vClusters as distinct vectors which where created by the DATCONSVDClusterizer findlet.
 
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.
 

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 = TrackFindingCDC::Findlet< const SVDCluster, const SVDCluster, std::pair< VxdID, std::pair< long, long > >, std::pair< VxdID, std::pair< long, long > >>
 Parent class.
 

Private Attributes

uint m_param_maxClustersPerLayer = 200
 Cut value for aborting tracking if more than this number of clusters is found on one layer.
 
std::array< uint, 8 > m_nClusterPerLayer = {0}
 array containing the number of clusters per layer. If this exceeds a cut value, tracking is aborted
 
const std::array< int, 4 > m_const_SVDRadii = {38990, 80000, 104000, 135150}
 Radii of the SVD layers, in µm.
 
const std::array< int, 4 > m_const_RPhiShiftsOfLayers = { -4680, -10780, -11036, -19076}
 shift in r-phi to create windmill structure, in µm
 
const std::array< double, 4 > m_const_InitialAngle = {(342.195 - 360.) / 180. * M_PI, 8. / 180. * M_PI, -8. / 180. * M_PI, -4. / 180. * M_PI}
 phi-value of the first ladder in each layer, i.e. sensors X.1.Y, in rad
 
const std::array< double, 4 > m_const_AngleStep = {2. * M_PI / 7., M_PI / 5., M_PI / 6., M_PI / 8.}
 angle difference between two consecutive ladders, in rad
 
const std::array< double, 4 > m_const_CosSlantedAngles = {1, cos(0.207694180987), cos(0.279252680319), cos(0.368264472171)}
 cosine values of the slanted sensors
 
const std::array< int, 2 > m_const_ZShiftL3 = {92350, -32650}
 shift along z of the L3 senosrs, in µn
 
const std::array< int, 3 > m_const_ZShiftL4 = {149042, 24760, -100240}
 shift along z of the L4 senosrs, in µn
 
const std::array< int, 4 > m_const_ZShiftL5 = {233754, 110560, -14440, -139440}
 shift along z of the L5 senosrs, in µn
 
const std::array< int, 5 > m_const_ZShiftL6 = {303471, 182060, 57060, -67940, -192940}
 shift along z of the L6 senosrs, in µn
 
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.
 

Detailed Description

Findlet for loading SVDClusters that were created by the DATCONSVDClusterizer findlet and prepare them for usage in the FastInterceptFinder2D by calculating the conformal transformed x,y coordinates and the creating pairs of coordinates for finding track candidates in r-phi and r-z.

Definition at line 30 of file DATCONSVDClusterLoaderAndPreparer.h.


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