|
CbmRoot
|
SIMDized ring finder based on Hough Transform method. More...
#include <CbmRichRingFinderHoughSimd.h>
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< CbmRichHoughHitVec > | fDataV |
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< CbmRichHoughHit > | fData |
| vector< unsigned short > | fHist |
| vector< unsigned short > | fHistR |
| vector< vector< unsigned int > > | fHitInd |
| vector< CbmRichRingLight * > | fFoundRings |
| CbmRichRingFitterCOP * | fFitCOP |
| CbmRichRingSelectAnn * | fANNSelect |
| double | fCurTime |
Static Protected Attributes | |
| static const unsigned short | MAX_NOF_HITS = 65000 |
SIMDized ring finder based on Hough Transform method.
Definition at line 38 of file CbmRichRingFinderHoughSimd.h.
| CbmRichRingFinderHoughSimd::CbmRichRingFinderHoughSimd | ( | ) |
Definition at line 19 of file CbmRichRingFinderHoughSimd.cxx.
|
inline |
Definition at line 43 of file CbmRichRingFinderHoughSimd.h.
|
inherited |
Calculate circle center and radius.
| [in] | x[] | Array of 3 X coordinates. |
| [in] | y[] | Array of 3 Y coordinates. |
| [out] | xc | X coordinate of the ring center. |
| [out] | yc | Y coordinate of the ring center. |
| [out] | r | Ring radius. |
Definition at line 525 of file CbmRichRingFinderHoughImpl.cxx.
|
virtualinherited |
Find hits in a local area.
| [in] | x0 | X coordinate of the local area center. |
| [in] | y0 | Y coordinate of the local area center. |
| [out] | indmin | Minimum index of the hit in local area. |
| [out] | indmax | Maximum index of the hit in local area. |
Definition at line 188 of file CbmRichRingFinderHoughImpl.cxx.
References fCurTime, fData, fHist, fHistR, CbmRichHoughHit::fHit, fHitInd, fMaxDistance, fMaxDistanceSq, fMinNofHitsInArea, fNofBinsR, fNofBinsXY, fNofParts, fTimeCut, and CbmRichHitLight::fX.
Referenced by HoughTransformReconstruction(), and CbmRichRingFinderHoughSimd::HoughTransformReconstruction().
|
inherited |
Start point to run algorithm.
Definition at line 118 of file CbmRichRingFinderHoughImpl.cxx.
References fData, fFoundRings, HoughTransformReconstruction(), and RingSelection().
|
inherited |
\brief Find peak in the HT histograms.
| [in] | indmin | Minimum index of the hit in local area. |
| [in] | indmax | Maximum index of the hit in local area. |
Definition at line 325 of file CbmRichRingFinderHoughImpl.cxx.
References CbmRichRingLight::AddHit(), fAnnCut, fANNSelect, fCurMinX, fCurMinY, fCurTime, fData, fDr, fDx, fDy, fFitCOP, fFoundRings, fHist, fHistR, fHTCut, fHTCutR, fMaxCutCOP, fNofBinsX, fRmsCoeffCOP, fTimeCut, fUseAnnSelect, CbmRichRingLight::GetCenterX(), CbmRichRingLight::GetCenterY(), CbmRichRingLight::GetChi2(), CbmRichRingLight::GetNofHits(), CbmRichRingLight::GetRadius(), CbmRichRingLight::GetSelectionNN(), RemoveHitsAroundRing(), size(), and sqrt().
Referenced by HoughTransformReconstruction(), and CbmRichRingFinderHoughSimd::HoughTransformReconstruction().
|
inlineinherited |
Return vector of found rings.
Definition at line 203 of file CbmRichRingFinderHoughImpl.h.
References fFoundRings.
|
inherited |
Return hit indez in the internal Array.
| [in] | hitInd | Index in TClonesArray. |
Definition at line 516 of file CbmRichRingFinderHoughImpl.cxx.
Referenced by ReAssignSharedHits().
|
virtualinherited |
Run HoughTransformGroup for each group of hits.
| [in] | indmin | Minimum index of the hit in local area. |
| [in] | indmax | Maximum index of the hit in local area. |
Definition at line 236 of file CbmRichRingFinderHoughImpl.cxx.
References fNofParts, and HoughTransformGroup().
Referenced by HoughTransformReconstruction(), and CbmRichRingFinderHoughSimd::HoughTransformReconstruction().
|
virtualinherited |
\brief Main procedure for Hough Transform. \param[in] indmin Minimum index of the hit in local area.
| [in] | indmax | Maximum index of the hit in local area. |
| [in] | iPart | Index of the hit group. |
Definition at line 243 of file CbmRichRingFinderHoughImpl.cxx.
References fCurMinX, fCurMinY, fData, fDr, fDx, fDy, fHist, fHistR, fHitInd, fMaxDistanceSq, fNofBinsR, fNofBinsX, fNofBinsY, fTimeCut, and sqrt().
Referenced by HoughTransform().
|
virtual |
Definition at line 21 of file CbmRichRingFinderHoughSimd.cxx.
References CbmRichRingFinderHoughImpl::fCurMinX, CbmRichRingFinderHoughImpl::fCurMinY, CbmRichRingFinderHoughImpl::fData, fDataV, CbmRichRingFinderHoughImpl::fDr, CbmRichRingFinderHoughImpl::fDx, CbmRichRingFinderHoughImpl::fDy, CbmRichRingFinderHoughImpl::fHist, CbmRichRingFinderHoughImpl::fHistR, CbmRichRingFinderHoughImpl::fHitInd, CbmRichRingFinderHoughImpl::fMaxDistanceSq, CbmRichRingFinderHoughImpl::fMinDistanceSq, CbmRichRingFinderHoughImpl::fMinNofHitsInArea, CbmRichRingFinderHoughImpl::fNofBinsR, CbmRichRingFinderHoughImpl::fNofBinsX, CbmRichRingFinderHoughImpl::fNofBinsXY, fvec(), CbmRichHoughHitVec::fX, CbmRichHoughHitVec::fX2plusY2, CbmRichHoughHitVec::fY, and sqrt().
|
virtual |
Run HT for each hit.
Reimplemented from CbmRichRingFinderHoughImpl.
Definition at line 173 of file CbmRichRingFinderHoughSimd.cxx.
References CbmRichRingFinderHoughImpl::DefineLocalAreaAndHits(), CbmRichRingFinderHoughImpl::fCurMinX, CbmRichRingFinderHoughImpl::fCurMinY, CbmRichRingFinderHoughImpl::fData, fDataV, CbmRichRingFinderHoughImpl::FindPeak(), CbmRichRingFinderHoughImpl::fMaxDistance, fvec(), and CbmRichRingFinderHoughImpl::HoughTransform().
|
inherited |
Initialize algorithm parameters.
Definition at line 103 of file CbmRichRingFinderHoughImpl.cxx.
References fANNSelect, fFitCOP, fHist, fHistR, fHitInd, fNofBinsR, fNofBinsXY, fNofParts, fUseAnnSelect, and SetParameters().
|
inherited |
Reassign shared hits from two rings to only one of the rings.
| [in,out] | ringInd1 | Index of the first ring. |
| [in,out] | ringInd2 | Index of the second ring. |
Definition at line 483 of file CbmRichRingFinderHoughImpl.cxx.
References fData, fFoundRings, CbmRichRingLight::GetCenterX(), CbmRichRingLight::GetCenterY(), CbmRichRingLight::GetHitId(), GetHitIndexById(), CbmRichRingLight::GetNofHits(), CbmRichRingLight::GetRadius(), CbmRichRingLight::RemoveHit(), and sqrt().
Referenced by RingSelection().
|
inherited |
Set fIsUsed flag to true for hits attached to the ring.
| [in] | indmin | Minimum index of the hit in local area. |
| [in] | indmax | Maximum index of the hit in local area. |
| [in] | ring | Found ring. |
Definition at line 421 of file CbmRichRingFinderHoughImpl.cxx.
References fCurTime, fData, fMaxCutEl, fRmsCoeffEl, fTimeCut, CbmRichRingLight::GetCenterX(), CbmRichRingLight::GetCenterY(), CbmRichRingLight::GetChi2(), CbmRichRingLight::GetNofHits(), CbmRichRingLight::GetRadius(), and sqrt().
Referenced by FindPeak().
|
inherited |
Ring selection procedure.
Definition at line 439 of file CbmRichRingFinderHoughImpl.cxx.
References fFoundRings, fUsedHitsAllCut, CbmRichRingLight::GetHitId(), CbmRichRingLight::GetNofHits(), ReAssignSharedHits(), and CbmRichRingLight::SetRecFlag().
Referenced by DoFind().
|
inlineinherited |
Set array of hits.
| [in] | data | Array of hits. |
Definition at line 194 of file CbmRichRingFinderHoughImpl.h.
References fData.
|
inherited |
Set parameters of the algorithm.
Definition at line 136 of file CbmRichRingFinderHoughImpl.cxx.
References fAnnCut, fDr, fDx, fDy, fHTCut, fHTCutR, fMaxCutCOP, fMaxCutEl, fMaxDistance, fMaxDistanceSq, fMaxRadius, fMinDistance, fMinDistanceSq, fMinNofHitsInArea, fMinRadius, fNofBinsR, fNofBinsX, fNofBinsXY, fNofBinsY, fNofParts, fRmsCoeffCOP, fRmsCoeffEl, fTimeCut, and fUsedHitsAllCut.
Referenced by Init().
|
inlineinherited |
Definition at line 205 of file CbmRichRingFinderHoughImpl.h.
References fUseAnnSelect.
|
protectedinherited |
Definition at line 72 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), FindPeak(), and SetParameters().
|
protectedinherited |
Definition at line 88 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), FindPeak(), Init(), and ~CbmRichRingFinderHoughImpl().
|
protectedinherited |
Definition at line 77 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), FindPeak(), HoughTransformGroup(), CbmRichRingFinderHoughSimd::HoughTransformGroup(), HoughTransformReconstruction(), and CbmRichRingFinderHoughSimd::HoughTransformReconstruction().
|
protectedinherited |
Definition at line 78 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), FindPeak(), HoughTransformGroup(), CbmRichRingFinderHoughSimd::HoughTransformGroup(), HoughTransformReconstruction(), and CbmRichRingFinderHoughSimd::HoughTransformReconstruction().
|
protectedinherited |
Definition at line 90 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), DefineLocalAreaAndHits(), FindPeak(), HoughTransformReconstruction(), and RemoveHitsAroundRing().
|
protectedinherited |
Definition at line 82 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), DefineLocalAreaAndHits(), DoFind(), FindPeak(), GetHitIndexById(), HoughTransformGroup(), CbmRichRingFinderHoughSimd::HoughTransformGroup(), HoughTransformReconstruction(), CbmRichRingFinderHoughSimd::HoughTransformReconstruction(), ReAssignSharedHits(), RemoveHitsAroundRing(), and SetData().
| std::vector<CbmRichHoughHitVec> CbmRichRingFinderHoughSimd::fDataV |
Definition at line 49 of file CbmRichRingFinderHoughSimd.h.
Referenced by HoughTransformGroup(), and HoughTransformReconstruction().
|
protectedinherited |
Definition at line 55 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), FindPeak(), HoughTransformGroup(), CbmRichRingFinderHoughSimd::HoughTransformGroup(), and SetParameters().
|
protectedinherited |
Definition at line 53 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), FindPeak(), HoughTransformGroup(), CbmRichRingFinderHoughSimd::HoughTransformGroup(), and SetParameters().
|
protectedinherited |
Definition at line 54 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), FindPeak(), HoughTransformGroup(), CbmRichRingFinderHoughSimd::HoughTransformGroup(), and SetParameters().
|
protectedinherited |
Definition at line 87 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), FindPeak(), Init(), and ~CbmRichRingFinderHoughImpl().
|
protectedinherited |
Definition at line 86 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), DoFind(), FindPeak(), GetFoundRings(), ReAssignSharedHits(), and RingSelection().
|
protectedinherited |
Definition at line 83 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), DefineLocalAreaAndHits(), FindPeak(), HoughTransformGroup(), CbmRichRingFinderHoughSimd::HoughTransformGroup(), and Init().
|
protectedinherited |
Definition at line 84 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), DefineLocalAreaAndHits(), FindPeak(), HoughTransformGroup(), CbmRichRingFinderHoughSimd::HoughTransformGroup(), and Init().
Definition at line 85 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), DefineLocalAreaAndHits(), HoughTransformGroup(), CbmRichRingFinderHoughSimd::HoughTransformGroup(), and Init().
|
protectedinherited |
Definition at line 60 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), FindPeak(), and SetParameters().
|
protectedinherited |
Definition at line 63 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), FindPeak(), and SetParameters().
|
protectedinherited |
Definition at line 70 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), FindPeak(), and SetParameters().
|
protectedinherited |
Definition at line 68 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), RemoveHitsAroundRing(), and SetParameters().
|
protectedinherited |
Definition at line 45 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), DefineLocalAreaAndHits(), HoughTransformReconstruction(), CbmRichRingFinderHoughSimd::HoughTransformReconstruction(), and SetParameters().
|
protectedinherited |
Definition at line 48 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), DefineLocalAreaAndHits(), HoughTransformGroup(), CbmRichRingFinderHoughSimd::HoughTransformGroup(), and SetParameters().
|
protectedinherited |
Definition at line 51 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), and SetParameters().
|
protectedinherited |
Definition at line 46 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), and SetParameters().
|
protectedinherited |
Definition at line 47 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), CbmRichRingFinderHoughSimd::HoughTransformGroup(), and SetParameters().
|
protectedinherited |
Definition at line 65 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), DefineLocalAreaAndHits(), CbmRichRingFinderHoughSimd::HoughTransformGroup(), and SetParameters().
|
protectedinherited |
Definition at line 50 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), and SetParameters().
|
protectedinherited |
Definition at line 62 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), DefineLocalAreaAndHits(), HoughTransformGroup(), CbmRichRingFinderHoughSimd::HoughTransformGroup(), Init(), and SetParameters().
|
protectedinherited |
Definition at line 56 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), FindPeak(), HoughTransformGroup(), CbmRichRingFinderHoughSimd::HoughTransformGroup(), and SetParameters().
|
protectedinherited |
Definition at line 58 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), DefineLocalAreaAndHits(), CbmRichRingFinderHoughSimd::HoughTransformGroup(), Init(), and SetParameters().
|
protectedinherited |
Definition at line 57 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), HoughTransformGroup(), and SetParameters().
|
protectedinherited |
Definition at line 43 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), DefineLocalAreaAndHits(), HoughTransform(), Init(), and SetParameters().
|
protectedinherited |
Definition at line 69 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), FindPeak(), and SetParameters().
|
protectedinherited |
Definition at line 67 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), RemoveHitsAroundRing(), and SetParameters().
|
protectedinherited |
Definition at line 75 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), DefineLocalAreaAndHits(), FindPeak(), HoughTransformGroup(), RemoveHitsAroundRing(), and SetParameters().
|
protectedinherited |
Definition at line 80 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), FindPeak(), Init(), and SetUseAnnSelect().
|
protectedinherited |
Definition at line 73 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), RingSelection(), and SetParameters().
|
staticprotectedinherited |
Definition at line 40 of file CbmRichRingFinderHoughImpl.h.