14#ifndef CBM_RICH_RING_FINDER_HOUGH_IMPL
15#define CBM_RICH_RING_FINDER_HOUGH_IMPL
137 virtual void HoughTransform(
unsigned int indmin,
unsigned int indmax);
152 void FindPeak(
int indmin,
int indmax);
194 void SetData(
const vector<CbmRichHoughHit>& data)
Ring finder implementation based on Hough Transform method.
void RemoveHitsAroundRing(int indmin, int indmax, CbmRichRingLight *ring)
Set fIsUsed flag to true for hits attached to the ring.
int GetHitIndexById(unsigned int hitId)
Return hit indez in the internal Array.
vector< vector< unsigned int > > fHitInd
void CalculateRingParameters(float x[], float y[], float *xc, float *yc, float *r)
Calculate circle center and radius.
void SetParameters()
Set parameters of the algorithm.
vector< unsigned short > fHistR
CbmRichRingSelectAnn * fANNSelect
virtual void HoughTransformGroup(unsigned int indmin, unsigned int indmax, int iPart)
CbmRichRingFinderHoughImpl & operator=(const CbmRichRingFinderHoughImpl &)
Assignment operator.
void DoFind()
Start point to run algorithm.
vector< CbmRichRingLight * > & GetFoundRings()
Return vector of found rings.
void RingSelection()
Ring selection procedure.
vector< CbmRichRingLight * > fFoundRings
unsigned short fNofBinsXY
void SetUseAnnSelect(bool use)
static const unsigned short MAX_NOF_HITS
void FindPeak(int indmin, int indmax)
void SetData(const vector< CbmRichHoughHit > &data)
Set array of hits.
CbmRichRingFinderHoughImpl()
Standard constructor.
virtual void HoughTransform(unsigned int indmin, unsigned int indmax)
Run HoughTransformGroup for each group of hits.
CbmRichRingFinderHoughImpl(const CbmRichRingFinderHoughImpl &)
Copy constructor.
vector< CbmRichHoughHit > fData
virtual void HoughTransformReconstruction()
Run HT for each hit.
CbmRichRingFitterCOP * fFitCOP
virtual void DefineLocalAreaAndHits(float x0, float y0, int *indmin, int *indmax)
Find hits in a local area.
void ReAssignSharedHits(int ringInd1, int ringInd2)
Reassign shared hits from two rings to only one of the rings.
virtual ~CbmRichRingFinderHoughImpl()
Distructor.
unsigned short fMinNofHitsInArea
vector< unsigned short > fHist
Here the ring is fitted with the COP algorithm from A. Ayriyan/G. Ososkov.
Implementation for concrete RICH ring selection algorithm: reject rings using a trained neural net (i...