51 Float_t fzBase =
m_fzMD[0][0];
70 m_fzMD[iLayer][iFiber] -= fzBase;
87 return StatusCode::SUCCESS;
110 return StatusCode::SUCCESS;
120 return StatusCode::SUCCESS;
136 std::map<int, FIBERS> mapLayers;
143 std::list<MDHIT>::const_iterator
iter;
148 if(mapLayers.find((*iter).iPlate)==mapLayers.end())
152 mapLayers.insert(std::pair<int, FIBERS>((*iter).iPlate, structFibers));
153 mapLayers[(*iter).iPlate].ListFibers.push_back((*iter).iFiber);
157 mapLayers[(*iter).iPlate].ListFibers.push_back((*iter).iFiber);
164 for (iterFiber=mapLayers[iLayer].ListFibers.begin(); iterFiber!=mapLayers[iLayer].ListFibers.end(); ++iterFiber)
166 iHitFiber = *iterFiber;
168 if (fmod((
double)iLayer,(
double)2) == 0)
176 fRadius = fZ*
cos(fTheta)+fU*
sin(fTheta);
189 fRadius = fZ*
cos(fTheta)+fU*
sin(fTheta);
198 Int_t iULocMax, iULocMay, iULocMaz;
199 Int_t iVLocMax, iVLocMay, iVLocMaz;
201 m_histU_PT->GetMaximumBin(iULocMax, iULocMay, iULocMaz);
202 m_histV_PT->GetMaximumBin(iVLocMax, iVLocMay, iVLocMaz);
205 Float_t fRMinU, fRMinV, fRTmp, fRdr;
213 Float_t fAlphaU = -
cos(fTLineU)/
sin(fTLineU);
214 Float_t fAlphaV = -
cos(fTLineV)/
sin(fTLineV);
216 Float_t fBetaU = fRLineU/
sin(fTLineU);
217 Float_t fBetaV = fRLineV/
sin(fTLineV);
219 Float_t fBUMin = fAlphaU*0.0 + fBetaU;
220 Float_t fBUMax = fAlphaU*19.0 + fBetaU;
222 Float_t fBVMin = fAlphaV*1.0 + fBetaV;
223 Float_t fBVMax = fAlphaV*20.0 + fBetaV;
225 m_fHitBU = (fBUMax-fBUMin)/2.0 + fBUMin;
226 m_fHitBV = (fBVMax-fBVMin)/2.0 + fBVMin;
234 for (iterFiber=mapLayers[iLayer].ListFibers.begin(); iterFiber!=mapLayers[iLayer].ListFibers.end(); ++iterFiber)
236 iHitFiber = *iterFiber;
238 if (fmod((
double)iLayer,(
double)2) == 0)
243 fRTmp = fZ*
cos(fTLineU) + fU*
sin(fTLineU);
244 fRdr = fabs(fRLineU - fRTmp);
257 fRTmp = fZ*
cos(fTLineV) + fU*
sin(fTLineV);
258 fRdr = fabs(fRLineV - fRTmp);
269 return StatusCode::SUCCESS;
281 Float_t fbMinP, fbMaxP, fbMinN, fbMaxN;
282 Float_t fActive = 0.48;
283 Float_t fHalfStep = 0;
289 if(
m_faMD[iLayer][0] >= 0)
302 if ((n_p >= 1) && (n_n >= 1))
304 fbMeanP = fbMeanP / n_p + 0.07071;
305 fbMeanN = fbMeanN / n_n - 0.07071;
310 fbMinP = fbMeanP + fActive;
311 fbMaxP = fbMeanP - fActive;
312 fbMinN = fbMeanN + fActive;
313 fbMaxN = fbMeanN - fActive;
315 Int_t iLayMinU = -9999;
316 Int_t iLayMaxU = -9999;
317 Int_t iLayMinV = -9999;
318 Int_t iLayMaxV = -9999;
327 if(iLayer>=0 &&
m_iFHits[iLayer]!= -9999)
329 if(
m_faMD[iLayer][0] >= 0)
394 if (iLayMinU>=0 && iLayMaxU>=0 && iLayMinV>=0 && iLayMaxV>=0)
408 m_fRecXPos = (fPolyX[0] + fPolyX[1] + fPolyX[2] + fPolyX[3])/4.0;
409 m_fRecYPos = (fPolyY[0] + fPolyY[1] + fPolyY[2] + fPolyY[3])/4.0;
423 return StatusCode::SUCCESS;