CbmRoot
Loading...
Searching...
No Matches
CbmRichRingFinderHoughSimd Class Reference

SIMDized ring finder based on Hough Transform method. More...

#include <CbmRichRingFinderHoughSimd.h>

Inheritance diagram for CbmRichRingFinderHoughSimd:
[legend]
Collaboration diagram for CbmRichRingFinderHoughSimd:
[legend]

Public Member Functions

 CbmRichRingFinderHoughSimd ()
 
 ~CbmRichRingFinderHoughSimd ()
 
virtual void HoughTransformReconstruction ()
 Run HT for each hit.
 
virtual void HoughTransformGroup (unsigned short int indmin, unsigned short int indmax, Int_t iPart)
 
void SetParameters ()
 Set parameters of the algorithm.
 
void CalculateRingParameters (float x[], float y[], float *xc, float *yc, float *r)
 Calculate circle center and radius.
 
virtual void DefineLocalAreaAndHits (float x0, float y0, int *indmin, int *indmax)
 Find hits in a local area.
 
virtual void HoughTransform (unsigned int indmin, unsigned int indmax)
 Run HoughTransformGroup for each group of hits.
 
virtual void HoughTransformGroup (unsigned int indmin, unsigned int indmax, int iPart)
 
void FindPeak (int indmin, int indmax)
 
void RingSelection ()
 Ring selection procedure.
 
void ReAssignSharedHits (int ringInd1, int ringInd2)
 Reassign shared hits from two rings to only one of the rings.
 
int GetHitIndexById (unsigned int hitId)
 Return hit indez in the internal Array.
 
void RemoveHitsAroundRing (int indmin, int indmax, CbmRichRingLight *ring)
 Set fIsUsed flag to true for hits attached to the ring.
 
void Init ()
 
void DoFind ()
 Start point to run algorithm.
 
void SetData (const vector< CbmRichHoughHit > &data)
 Set array of hits.
 
vector< CbmRichRingLight * > & GetFoundRings ()
 Return vector of found rings.
 
void SetUseAnnSelect (bool use)
 

Public Attributes

std::vector< CbmRichHoughHitVecfDataV
 

Protected Attributes

unsigned short fNofParts
 
float fMaxDistance
 
float fMinDistance
 
float fMinDistanceSq
 
float fMaxDistanceSq
 
float fMinRadius
 
float fMaxRadius
 
float fDx
 
float fDy
 
float fDr
 
unsigned short fNofBinsX
 
unsigned short fNofBinsY
 
unsigned short fNofBinsXY
 
unsigned short fHTCut
 
unsigned short fNofBinsR
 
unsigned short fHTCutR
 
unsigned short fMinNofHitsInArea
 
float fRmsCoeffEl
 
float fMaxCutEl
 
float fRmsCoeffCOP
 
float fMaxCutCOP
 
float fAnnCut
 
float fUsedHitsAllCut
 
double fTimeCut
 
float fCurMinX
 
float fCurMinY
 
bool fUseAnnSelect
 
vector< CbmRichHoughHitfData
 
vector< unsigned short > fHist
 
vector< unsigned short > fHistR
 
vector< vector< unsigned int > > fHitInd
 
vector< CbmRichRingLight * > fFoundRings
 
CbmRichRingFitterCOPfFitCOP
 
CbmRichRingSelectAnnfANNSelect
 
double fCurTime
 

Static Protected Attributes

static const unsigned short MAX_NOF_HITS = 65000
 

Detailed Description

SIMDized ring finder based on Hough Transform method.

Author
Semen Lebedev
Date
2009

Definition at line 38 of file CbmRichRingFinderHoughSimd.h.

Constructor & Destructor Documentation

◆ CbmRichRingFinderHoughSimd()

CbmRichRingFinderHoughSimd::CbmRichRingFinderHoughSimd ( )

Definition at line 19 of file CbmRichRingFinderHoughSimd.cxx.

◆ ~CbmRichRingFinderHoughSimd()

CbmRichRingFinderHoughSimd::~CbmRichRingFinderHoughSimd ( )
inline

Definition at line 43 of file CbmRichRingFinderHoughSimd.h.

Member Function Documentation

◆ CalculateRingParameters()

void CbmRichRingFinderHoughImpl::CalculateRingParameters ( float x[],
float y[],
float * xc,
float * yc,
float * r )
inherited

Calculate circle center and radius.

Parameters
[in]x[]Array of 3 X coordinates.
[in]y[]Array of 3 Y coordinates.
[out]xcX coordinate of the ring center.
[out]ycY coordinate of the ring center.
[out]rRing radius.

Definition at line 525 of file CbmRichRingFinderHoughImpl.cxx.

References sqrt(), x, and y.

◆ DefineLocalAreaAndHits()

void CbmRichRingFinderHoughImpl::DefineLocalAreaAndHits ( float x0,
float y0,
int * indmin,
int * indmax )
virtualinherited

◆ DoFind()

◆ FindPeak()

void CbmRichRingFinderHoughImpl::FindPeak ( int indmin,
int indmax )
inherited

◆ GetFoundRings()

vector< CbmRichRingLight * > & CbmRichRingFinderHoughImpl::GetFoundRings ( )
inlineinherited

Return vector of found rings.

Definition at line 203 of file CbmRichRingFinderHoughImpl.h.

References CbmRichRingFinderHoughImpl::fFoundRings.

Referenced by CbmRichRingFinderHough::DoFind().

◆ GetHitIndexById()

int CbmRichRingFinderHoughImpl::GetHitIndexById ( unsigned int hitId)
inherited

Return hit indez in the internal Array.

Parameters
[in]hitIndIndex in TClonesArray.

Definition at line 516 of file CbmRichRingFinderHoughImpl.cxx.

References CbmRichRingFinderHoughImpl::fData, and size().

Referenced by CbmRichRingFinderHoughImpl::ReAssignSharedHits().

◆ HoughTransform()

void CbmRichRingFinderHoughImpl::HoughTransform ( unsigned int indmin,
unsigned int indmax )
virtualinherited

Run HoughTransformGroup for each group of hits.

Parameters
[in]indminMinimum index of the hit in local area.
[in]indmaxMaximum index of the hit in local area.

Definition at line 236 of file CbmRichRingFinderHoughImpl.cxx.

References CbmRichRingFinderHoughImpl::fNofParts, and CbmRichRingFinderHoughImpl::HoughTransformGroup().

Referenced by CbmRichRingFinderHoughImpl::HoughTransformReconstruction(), and HoughTransformReconstruction().

◆ HoughTransformGroup() [1/2]

void CbmRichRingFinderHoughImpl::HoughTransformGroup ( unsigned int indmin,
unsigned int indmax,
int iPart )
virtualinherited

◆ HoughTransformGroup() [2/2]

◆ HoughTransformReconstruction()

◆ Init()

◆ ReAssignSharedHits()

void CbmRichRingFinderHoughImpl::ReAssignSharedHits ( int ringInd1,
int ringInd2 )
inherited

◆ RemoveHitsAroundRing()

void CbmRichRingFinderHoughImpl::RemoveHitsAroundRing ( int indmin,
int indmax,
CbmRichRingLight * ring )
inherited

Set fIsUsed flag to true for hits attached to the ring.

Parameters
[in]indminMinimum index of the hit in local area.
[in]indmaxMaximum index of the hit in local area.
[in]ringFound ring.

Definition at line 421 of file CbmRichRingFinderHoughImpl.cxx.

References CbmRichRingFinderHoughImpl::fCurTime, CbmRichRingFinderHoughImpl::fData, CbmRichRingFinderHoughImpl::fMaxCutEl, CbmRichRingFinderHoughImpl::fRmsCoeffEl, CbmRichRingFinderHoughImpl::fTimeCut, CbmRichRingLight::GetCenterX(), CbmRichRingLight::GetCenterY(), CbmRichRingLight::GetChi2(), CbmRichRingLight::GetNofHits(), CbmRichRingLight::GetRadius(), and sqrt().

Referenced by CbmRichRingFinderHoughImpl::FindPeak().

◆ RingSelection()

◆ SetData()

void CbmRichRingFinderHoughImpl::SetData ( const vector< CbmRichHoughHit > & data)
inlineinherited

Set array of hits.

Parameters
[in]dataArray of hits.

Definition at line 194 of file CbmRichRingFinderHoughImpl.h.

References CbmRichRingFinderHoughImpl::fData.

Referenced by CbmRichRingFinderHough::DoFind().

◆ SetParameters()

◆ SetUseAnnSelect()

void CbmRichRingFinderHoughImpl::SetUseAnnSelect ( bool use)
inlineinherited

Member Data Documentation

◆ fAnnCut

float CbmRichRingFinderHoughImpl::fAnnCut
protectedinherited

◆ fANNSelect

◆ fCurMinX

◆ fCurMinY

◆ fCurTime

◆ fData

◆ fDataV

std::vector<CbmRichHoughHitVec> CbmRichRingFinderHoughSimd::fDataV

◆ fDr

◆ fDx

◆ fDy

◆ fFitCOP

◆ fFoundRings

◆ fHist

◆ fHistR

◆ fHitInd

vector<vector<unsigned int> > CbmRichRingFinderHoughImpl::fHitInd
protectedinherited

◆ fHTCut

unsigned short CbmRichRingFinderHoughImpl::fHTCut
protectedinherited

◆ fHTCutR

unsigned short CbmRichRingFinderHoughImpl::fHTCutR
protectedinherited

◆ fMaxCutCOP

float CbmRichRingFinderHoughImpl::fMaxCutCOP
protectedinherited

◆ fMaxCutEl

float CbmRichRingFinderHoughImpl::fMaxCutEl
protectedinherited

◆ fMaxDistance

◆ fMaxDistanceSq

◆ fMaxRadius

float CbmRichRingFinderHoughImpl::fMaxRadius
protectedinherited

◆ fMinDistance

float CbmRichRingFinderHoughImpl::fMinDistance
protectedinherited

◆ fMinDistanceSq

float CbmRichRingFinderHoughImpl::fMinDistanceSq
protectedinherited

◆ fMinNofHitsInArea

unsigned short CbmRichRingFinderHoughImpl::fMinNofHitsInArea
protectedinherited

◆ fMinRadius

float CbmRichRingFinderHoughImpl::fMinRadius
protectedinherited

◆ fNofBinsR

◆ fNofBinsX

unsigned short CbmRichRingFinderHoughImpl::fNofBinsX
protectedinherited

◆ fNofBinsXY

unsigned short CbmRichRingFinderHoughImpl::fNofBinsXY
protectedinherited

◆ fNofBinsY

unsigned short CbmRichRingFinderHoughImpl::fNofBinsY
protectedinherited

◆ fNofParts

◆ fRmsCoeffCOP

float CbmRichRingFinderHoughImpl::fRmsCoeffCOP
protectedinherited

◆ fRmsCoeffEl

float CbmRichRingFinderHoughImpl::fRmsCoeffEl
protectedinherited

◆ fTimeCut

◆ fUseAnnSelect

bool CbmRichRingFinderHoughImpl::fUseAnnSelect
protectedinherited

◆ fUsedHitsAllCut

float CbmRichRingFinderHoughImpl::fUsedHitsAllCut
protectedinherited

◆ MAX_NOF_HITS

const unsigned short CbmRichRingFinderHoughImpl::MAX_NOF_HITS = 65000
staticprotectedinherited

Definition at line 40 of file CbmRichRingFinderHoughImpl.h.


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