51 TClonesArray* rRingArray)
57 vector<CbmRichHoughHit> UpH;
58 vector<CbmRichHoughHit> DownH;
60 if (rHitArray ==
nullptr) {
61 LOG(error) <<
"CbmRichRingFinderHough::DoFind(): Hit array is nullptr.";
66 if (nofRichHits <= 0) {
67 LOG(debug) <<
"CbmRichRingFinderHough::DoFind(): No RICH hits in this event.";
72 UpH.reserve(nofRichHits / 2);
73 DownH.reserve(nofRichHits / 2);
76 UpH.reserve(nofRichHits);
81 for (Int_t iH0 = 0; iH0 < nofRichHits; iH0++) {
93 UpH.push_back(tempPoint);
95 DownH.push_back(tempPoint);
100 Double_t dt1 = timer.RealTime();
111 Double_t dt2 = timer.RealTime();
120 Double_t dt3 = timer.RealTime();
123 LOG(debug) <<
"CbmRichRingFinderHough::DoFind(): Event:" <<
fEventNum <<
" hits:" << nofRichHits
124 <<
" rings:" << nofFoundRings <<
" ringsInTS:" << rRingArray->GetEntriesFast()
125 <<
" Time:" << dt1 + dt2 + dt3;
131 const vector<CbmRichRingLight*>&
rings)
134 for (UInt_t iRing = 0; iRing <
rings.size(); iRing++) {
135 if (
rings[iRing]->GetRecFlag() == -1)
continue;
137 double ringTime = 0.;
138 Int_t ringCounter = 0;
140 for (Int_t iH = 0; iH <
rings[iRing]->GetNofHits(); iH++) {
141 Int_t hitId =
rings[iRing]->GetHitId(iH);
144 if (hit !=
nullptr) {
149 r->
SetTime(ringTime / (
double) ringCounter);
150 int nofRings = rRingArray->GetEntriesFast();