52 Float_t fzBase =
m_fzMD[0][0];
71 m_fzMD[iLayer][iFiber] -= fzBase;
88 return StatusCode::SUCCESS;
111 return StatusCode::SUCCESS;
121 return StatusCode::SUCCESS;
137 std::map<int, FIBERS> mapLayers;
141 std::list<MDHIT>::const_iterator iter;
146 if(mapLayers.find((*iter).iPlate)==mapLayers.end())
150 mapLayers.insert(std::pair<int, FIBERS>((*iter).iPlate, structFibers));
151 mapLayers[(*iter).iPlate].ListFibers.push_back((*iter).iFiber);
155 mapLayers[(*iter).iPlate].ListFibers.push_back((*iter).iFiber);
162 for (iterFiber=mapLayers[iLayer].ListFibers.begin(); iterFiber!=mapLayers[iLayer].ListFibers.end(); ++iterFiber)
164 if (fmod((
double)iLayer,(
double)2) == 0)
172 fRadius = fZ*
cos(fTheta)+fU*
sin(fTheta);
185 fRadius = fZ*
cos(fTheta)+fU*
sin(fTheta);
194 Int_t iULocMax, iULocMay, iULocMaz;
195 Int_t iVLocMax, iVLocMay, iVLocMaz;
197 m_histU_PT->GetMaximumBin(iULocMax, iULocMay, iULocMaz);
198 m_histV_PT->GetMaximumBin(iVLocMax, iVLocMay, iVLocMaz);
201 Float_t fRMinU, fRMinV, fRTmp, fRdr;
210 Float_t fAlphaU = -
cos(fTLineU)/
sin(fTLineU);
211 Float_t fAlphaV = -
cos(fTLineV)/
sin(fTLineV);
213 Float_t fBetaU = fRLineU/
sin(fTLineU);
214 Float_t fBetaV = fRLineV/
sin(fTLineV);
216 Float_t fBUMin = fAlphaU*0.0 + fBetaU;
217 Float_t fBUMax = fAlphaU*19.0 + fBetaU;
219 Float_t fBVMin = fAlphaV*1.0 + fBetaV;
220 Float_t fBVMax = fAlphaV*20.0 + fBetaV;
222 m_fHitBU = (fBUMax-fBUMin)/2.0 + fBUMin;
223 m_fHitBV = (fBVMax-fBVMin)/2.0 + fBVMin;
228 fRMinU = fRMinV = 0.5;
231 for (iterFiber=mapLayers[iLayer].ListFibers.begin(); iterFiber!=mapLayers[iLayer].ListFibers.end(); ++iterFiber)
233 if (fmod((
double)iLayer,(
double)2) == 0)
238 fRTmp = fZ*
cos(fTLineU) + fU*
sin(fTLineU);
239 fRdr = fabs(fRLineU - fRTmp);
252 fRTmp = fZ*
cos(fTLineV) + fU*
sin(fTLineV);
253 fRdr = fabs(fRLineV - fRTmp);
264 return StatusCode::SUCCESS;
282 if(
m_faMD[iLayer][1] >= 0)
298 if((n_p>=1)&&(n_n>=1))
300 faMeanP = faMeanP/n_p;
301 fbMeanP = fbMeanP/n_p;
302 faMeanN = faMeanN/n_n;
303 fbMeanN = fbMeanN/n_n;
305 if(faMeanP == faMeanN)
310 m_fRecXPos = (fbMeanN - fbMeanP)/(faMeanP - faMeanN);
319 return StatusCode::SUCCESS;