Ring finder implementation based on Hough Transform method. More...
#include <CbmRichRingFinderHoughImpl.h>
Public Member Functions | |
CbmRichRingFinderHoughImpl () | |
Standard constructor. | |
virtual | ~CbmRichRingFinderHoughImpl () |
Distructor. | |
void | SetParameters () |
Set parameters of the algorithm. | |
virtual void | HoughTransformReconstruction () |
Run HT for each hit. | |
virtual void | DefineLocalAreaAndHits (float x0, float y0, int *indmin, int *indmax) |
Find hits in a local area. | |
virtual void | HoughTransform (unsigned short indmin, unsigned short indmax) |
Run HoughTransformGroup for each group of hits. | |
virtual void | HoughTransformGroup (unsigned short indmin, unsigned short indmax, int iPart) |
Main procedure for Hough Transform. | |
void | FindPeak (int indmin, int indmax) |
Find peak in the HT histograms. | |
void | DoFind (const vector< CbmRichHitLight > &hits) |
Start point to run algorithm. | |
vector< CbmRichRingLight * > & | GetFoundRings () |
Return vector of found rings. | |
CbmRichRingFinderHoughImpl () | |
Standard constructor. | |
virtual | ~CbmRichRingFinderHoughImpl () |
Distructor. | |
void | SetParameters () |
Set parameters of the algorithm. | |
virtual void | HoughTransformReconstruction () |
Run HT for each hit. | |
virtual void | DefineLocalAreaAndHits (float x0, float y0, int *indmin, int *indmax) |
Find hits in a local area. | |
virtual void | HoughTransform (unsigned short indmin, unsigned short indmax) |
Run HoughTransformGroup for each group of hits. | |
virtual void | HoughTransformGroup (unsigned short indmin, unsigned short indmax, int iPart) |
Main procedure for Hough Transform. | |
void | FindPeak (int indmin, int indmax) |
Find peak in the HT histograms. | |
void | DoFind (const vector< CbmRichHitLight > &hits) |
Start point to run algorithm. | |
vector< CbmRichRingLight * > & | GetFoundRings () |
Return vector of found rings. | |
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 | fRmsCoeffCOP |
float | fMaxCutCOP |
float | fCurMinX |
float | fCurMinY |
vector< CbmRichHoughHit > | fData |
vector< unsigned short > | fHist |
vector< unsigned short > | fHistR |
vector< vector< unsigned short > > | fHitInd |
vector< CbmRichRingLight * > | fFoundRings |
CbmRichRingFitterCOP * | fFitCOP |
Static Protected Attributes | |
static const unsigned short | MAX_NOF_HITS = 65000 |
Private Member Functions | |
CbmRichRingFinderHoughImpl (const CbmRichRingFinderHoughImpl &) | |
Copy constructor. | |
CbmRichRingFinderHoughImpl & | operator= (const CbmRichRingFinderHoughImpl &) |
Assignment operator. | |
CbmRichRingFinderHoughImpl (const CbmRichRingFinderHoughImpl &) | |
Copy constructor. | |
CbmRichRingFinderHoughImpl & | operator= (const CbmRichRingFinderHoughImpl &) |
Assignment operator. |
Ring finder implementation based on Hough Transform method.
Definition at line 107 of file CbmRichRingFinderHoughImpl.h.
CbmRichRingFinderHoughImpl::CbmRichRingFinderHoughImpl | ( | ) |
Standard constructor.
Definition at line 24 of file CbmRichRingFinderHoughImpl.cxx.
References fFitCOP, fHist, fHistR, fHitInd, fNofBinsR, fNofBinsXY, fNofParts, and SetParameters().
CbmRichRingFinderHoughImpl::~CbmRichRingFinderHoughImpl | ( | ) | [virtual] |
CbmRichRingFinderHoughImpl::CbmRichRingFinderHoughImpl | ( | const CbmRichRingFinderHoughImpl & | ) | [private] |
Copy constructor.
CbmRichRingFinderHoughImpl::CbmRichRingFinderHoughImpl | ( | ) |
Standard constructor.
virtual CbmRichRingFinderHoughImpl::~CbmRichRingFinderHoughImpl | ( | ) | [virtual] |
Distructor.
CbmRichRingFinderHoughImpl::CbmRichRingFinderHoughImpl | ( | const CbmRichRingFinderHoughImpl & | ) | [private] |
Copy constructor.
void CbmRichRingFinderHoughImpl::DefineLocalAreaAndHits | ( | float | x0, | |
float | y0, | |||
int * | indmin, | |||
int * | indmax | |||
) | [virtual] |
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 154 of file CbmRichRingFinderHoughImpl.cxx.
References fData, fHist, fHistR, CbmRichHoughHit::fHit, fHitInd, fMaxDistance, fMaxDistanceSq, fMinNofHitsInArea, fNofBinsR, fNofBinsXY, fNofParts, and CbmRichHitLight::fX.
Referenced by HoughTransformReconstruction().
virtual void CbmRichRingFinderHoughImpl::DefineLocalAreaAndHits | ( | float | x0, | |
float | y0, | |||
int * | indmin, | |||
int * | indmax | |||
) | [virtual] |
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. |
void CbmRichRingFinderHoughImpl::DoFind | ( | const vector< CbmRichHitLight > & | hits | ) |
Start point to run algorithm.
void CbmRichRingFinderHoughImpl::DoFind | ( | const vector< CbmRichHitLight > & | hits | ) |
Start point to run algorithm.
Definition at line 76 of file CbmRichRingFinderHoughImpl.cxx.
References fData, fFoundRings, CbmRichHoughHit::fHit, CbmRichHoughHit::fId, CbmRichHoughHit::fIsUsed, CbmRichHitLight::fX, CbmRichHoughHit::fX2plusY2, CbmRichHitLight::fY, HoughTransformReconstruction(), and MAX_NOF_HITS.
void CbmRichRingFinderHoughImpl::FindPeak | ( | int | indmin, | |
int | indmax | |||
) |
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 289 of file CbmRichRingFinderHoughImpl.cxx.
References CbmRichRingLight::AddHit(), CbmRichRingFitterCOP::DoFit(), fCurMinX, fCurMinY, fData, fDr, fDx, fDy, fFitCOP, fFoundRings, fHist, fHistR, fHTCut, fHTCutR, fMaxCutCOP, fNofBinsX, fRmsCoeffCOP, CbmRichRingLight::GetCenterX(), CbmRichRingLight::GetCenterY(), CbmRichRingLight::GetChi2(), CbmRichRingLight::GetNofHits(), and CbmRichRingLight::GetRadius().
Referenced by HoughTransformReconstruction().
void CbmRichRingFinderHoughImpl::FindPeak | ( | int | indmin, | |
int | indmax | |||
) |
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. |
vector<CbmRichRingLight*>& CbmRichRingFinderHoughImpl::GetFoundRings | ( | ) | [inline] |
Return vector of found rings.
Definition at line 223 of file CbmRichRingFinderHoughImpl.h.
References fFoundRings.
vector<CbmRichRingLight*>& CbmRichRingFinderHoughImpl::GetFoundRings | ( | ) | [inline] |
Return vector of found rings.
Definition at line 223 of file CbmRichRingFinderHoughImpl.h.
References fFoundRings.
virtual void CbmRichRingFinderHoughImpl::HoughTransform | ( | unsigned short | indmin, | |
unsigned short | indmax | |||
) | [virtual] |
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. |
Referenced by HoughTransformReconstruction().
virtual void CbmRichRingFinderHoughImpl::HoughTransform | ( | unsigned short | indmin, | |
unsigned short | indmax | |||
) | [virtual] |
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. |
virtual void CbmRichRingFinderHoughImpl::HoughTransformGroup | ( | unsigned short | indmin, | |
unsigned short | indmax, | |||
int | iPart | |||
) | [virtual] |
Main procedure for Hough Transform.
[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. |
virtual void CbmRichRingFinderHoughImpl::HoughTransformGroup | ( | unsigned short | indmin, | |
unsigned short | indmax, | |||
int | iPart | |||
) | [virtual] |
Main procedure for Hough Transform.
[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. |
virtual void CbmRichRingFinderHoughImpl::HoughTransformReconstruction | ( | ) | [virtual] |
Run HT for each hit.
void CbmRichRingFinderHoughImpl::HoughTransformReconstruction | ( | ) | [virtual] |
Run HT for each hit.
Definition at line 137 of file CbmRichRingFinderHoughImpl.cxx.
References DefineLocalAreaAndHits(), fCurMinX, fCurMinY, fData, FindPeak(), fMaxDistance, and HoughTransform().
Referenced by DoFind().
CbmRichRingFinderHoughImpl& CbmRichRingFinderHoughImpl::operator= | ( | const CbmRichRingFinderHoughImpl & | ) | [private] |
Assignment operator.
CbmRichRingFinderHoughImpl& CbmRichRingFinderHoughImpl::operator= | ( | const CbmRichRingFinderHoughImpl & | ) | [private] |
Assignment operator.
void CbmRichRingFinderHoughImpl::SetParameters | ( | ) |
Set parameters of the algorithm.
Definition at line 109 of file CbmRichRingFinderHoughImpl.cxx.
References fDr, fDx, fDy, fHTCut, fHTCutR, fMaxCutCOP, fMaxDistance, fMaxDistanceSq, fMaxRadius, fMinDistance, fMinDistanceSq, fMinNofHitsInArea, fMinRadius, fNofBinsR, fNofBinsX, fNofBinsXY, fNofBinsY, fNofParts, and fRmsCoeffCOP.
Referenced by CbmRichRingFinderHoughImpl().
void CbmRichRingFinderHoughImpl::SetParameters | ( | ) |
Set parameters of the algorithm.
float CbmRichRingFinderHoughImpl::fCurMinX [protected] |
Definition at line 141 of file CbmRichRingFinderHoughImpl.h.
Referenced by FindPeak(), and HoughTransformReconstruction().
float CbmRichRingFinderHoughImpl::fCurMinY [protected] |
Definition at line 142 of file CbmRichRingFinderHoughImpl.h.
Referenced by FindPeak(), and HoughTransformReconstruction().
vector< CbmRichHoughHit > CbmRichRingFinderHoughImpl::fData [protected] |
Definition at line 144 of file CbmRichRingFinderHoughImpl.h.
Referenced by DefineLocalAreaAndHits(), DoFind(), FindPeak(), and HoughTransformReconstruction().
float CbmRichRingFinderHoughImpl::fDr [protected] |
Definition at line 126 of file CbmRichRingFinderHoughImpl.h.
Referenced by FindPeak(), and SetParameters().
float CbmRichRingFinderHoughImpl::fDx [protected] |
Definition at line 124 of file CbmRichRingFinderHoughImpl.h.
Referenced by FindPeak(), and SetParameters().
float CbmRichRingFinderHoughImpl::fDy [protected] |
Definition at line 125 of file CbmRichRingFinderHoughImpl.h.
Referenced by FindPeak(), and SetParameters().
CbmRichRingFitterCOP * CbmRichRingFinderHoughImpl::fFitCOP [protected] |
Definition at line 149 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), FindPeak(), and ~CbmRichRingFinderHoughImpl().
vector< CbmRichRingLight * > CbmRichRingFinderHoughImpl::fFoundRings [protected] |
Definition at line 148 of file CbmRichRingFinderHoughImpl.h.
Referenced by DoFind(), FindPeak(), and GetFoundRings().
vector< unsigned short > CbmRichRingFinderHoughImpl::fHist [protected] |
Definition at line 145 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), DefineLocalAreaAndHits(), and FindPeak().
vector< unsigned short > CbmRichRingFinderHoughImpl::fHistR [protected] |
Definition at line 146 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), DefineLocalAreaAndHits(), and FindPeak().
vector< vector< unsigned short > > CbmRichRingFinderHoughImpl::fHitInd [protected] |
Definition at line 147 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), and DefineLocalAreaAndHits().
unsigned short CbmRichRingFinderHoughImpl::fHTCut [protected] |
Definition at line 131 of file CbmRichRingFinderHoughImpl.h.
Referenced by FindPeak(), and SetParameters().
unsigned short CbmRichRingFinderHoughImpl::fHTCutR [protected] |
Definition at line 134 of file CbmRichRingFinderHoughImpl.h.
Referenced by FindPeak(), and SetParameters().
float CbmRichRingFinderHoughImpl::fMaxCutCOP [protected] |
Definition at line 139 of file CbmRichRingFinderHoughImpl.h.
Referenced by FindPeak(), and SetParameters().
float CbmRichRingFinderHoughImpl::fMaxDistance [protected] |
Definition at line 116 of file CbmRichRingFinderHoughImpl.h.
Referenced by DefineLocalAreaAndHits(), HoughTransformReconstruction(), and SetParameters().
float CbmRichRingFinderHoughImpl::fMaxDistanceSq [protected] |
Definition at line 119 of file CbmRichRingFinderHoughImpl.h.
Referenced by DefineLocalAreaAndHits(), and SetParameters().
float CbmRichRingFinderHoughImpl::fMaxRadius [protected] |
Definition at line 122 of file CbmRichRingFinderHoughImpl.h.
Referenced by SetParameters().
float CbmRichRingFinderHoughImpl::fMinDistance [protected] |
Definition at line 117 of file CbmRichRingFinderHoughImpl.h.
Referenced by SetParameters().
float CbmRichRingFinderHoughImpl::fMinDistanceSq [protected] |
Definition at line 118 of file CbmRichRingFinderHoughImpl.h.
Referenced by SetParameters().
unsigned short CbmRichRingFinderHoughImpl::fMinNofHitsInArea [protected] |
Definition at line 136 of file CbmRichRingFinderHoughImpl.h.
Referenced by DefineLocalAreaAndHits(), and SetParameters().
float CbmRichRingFinderHoughImpl::fMinRadius [protected] |
Definition at line 121 of file CbmRichRingFinderHoughImpl.h.
Referenced by SetParameters().
unsigned short CbmRichRingFinderHoughImpl::fNofBinsR [protected] |
Definition at line 133 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), DefineLocalAreaAndHits(), and SetParameters().
unsigned short CbmRichRingFinderHoughImpl::fNofBinsX [protected] |
Definition at line 127 of file CbmRichRingFinderHoughImpl.h.
Referenced by FindPeak(), and SetParameters().
unsigned short CbmRichRingFinderHoughImpl::fNofBinsXY [protected] |
Definition at line 129 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), DefineLocalAreaAndHits(), and SetParameters().
unsigned short CbmRichRingFinderHoughImpl::fNofBinsY [protected] |
Definition at line 128 of file CbmRichRingFinderHoughImpl.h.
Referenced by SetParameters().
unsigned short CbmRichRingFinderHoughImpl::fNofParts [protected] |
Definition at line 114 of file CbmRichRingFinderHoughImpl.h.
Referenced by CbmRichRingFinderHoughImpl(), DefineLocalAreaAndHits(), and SetParameters().
float CbmRichRingFinderHoughImpl::fRmsCoeffCOP [protected] |
Definition at line 138 of file CbmRichRingFinderHoughImpl.h.
Referenced by FindPeak(), and SetParameters().
static const unsigned short CbmRichRingFinderHoughImpl::MAX_NOF_HITS = 65000 [static, protected] |
Definition at line 111 of file CbmRichRingFinderHoughImpl.h.
Referenced by DoFind().