11 #include <tracking/svdROIFinder/ROIStripTranslator.h>
12 #include <framework/logging/Logger.h>
13 #include <vxd/geometry/GeoCache.h>
14 #include <vxd/geometry/SensorInfoBase.h>
19 ROIStripTranslator::ROIStripTranslator(
double user_sigmaSystU,
double user_sigmaSystV,
double user_numSigmaTotU,
20 double user_numSigmaTotV,
double user_maxWidthU,
double user_maxWidthV)
21 : m_sigmaSystU(user_sigmaSystU)
22 , m_sigmaSystV(user_sigmaSystV)
23 , m_numSigmaTotU(user_numSigmaTotU)
24 , m_numSigmaTotV(user_numSigmaTotV)
25 , m_maxWidthU(user_maxWidthU)
26 , m_maxWidthV(user_maxWidthV)
31 : m_sigmaSystU(theROIinfo->sigmaSystU)
32 , m_sigmaSystV(theROIinfo->sigmaSystV)
33 , m_numSigmaTotU(theROIinfo->numSigmaTotU)
34 , m_numSigmaTotV(theROIinfo->numSigmaTotV)
35 , m_maxWidthU(theROIinfo->maxWidthU)
36 , m_maxWidthV(theROIinfo->maxWidthV)
51 for (
int i = 0; i < listOfIntercepts->
getEntries(); i++) {
53 B2DEBUG(10,
" --->> a NEW INTERCEPT!");
63 double minU = (*listOfIntercepts)[i]->getCoorU() - widthTotU / 2 ;
64 double maxU = (*listOfIntercepts)[i]->getCoorU() + widthTotU / 2 ;
65 const int nStripsU = aSensorInfo.
getUCells() - 1;
67 double minV = (*listOfIntercepts)[i]->getCoorV() - widthTotV / 2;
68 double maxV = (*listOfIntercepts)[i]->getCoorV() + widthTotV / 2;
69 const int nStripsV = aSensorInfo.
getVCells() - 1;
71 const int firstStripID = 0;
73 double min_uID = aSensorInfo.
getUCellID(minU, minV,
false);
74 double min_vID = aSensorInfo.
getVCellID(minV,
false);
75 double max_uID = aSensorInfo.
getUCellID(maxU, maxV,
false);
76 double max_vID = aSensorInfo.
getVCellID(maxV,
false);
78 B2DEBUG(10,
" LAYER = " <<
VxdID((*listOfIntercepts)[i]->getSensorID()).getLayerNumber()
79 <<
" LADDER = " <<
VxdID((*listOfIntercepts)[i]->getSensorID()).getLadderNumber()
80 <<
" SENSOR = " <<
VxdID((*listOfIntercepts)[i]->getSensorID()).getSensorNumber()
83 B2DEBUG(10,
" nStrips (U,V) = (" << nStripsU <<
"," << nStripsV <<
")");
85 B2DEBUG(10,
" widthU = " << maxU - minU
88 <<
" lengthU = " << aSensorInfo.
getUSize((*listOfIntercepts)[i]->getCoorV())
91 B2DEBUG(10,
" widthV = " << maxV - minV
94 <<
" lengthV = " << aSensorInfo.
getVSize());
96 B2DEBUG(10,
" U strips in (" << min_uID <<
"," << max_uID <<
")");
97 B2DEBUG(10,
" V strips in (" << min_vID <<
"," << max_vID <<
")");
102 if (min_uID > nStripsU || max_uID < firstStripID || min_vID > nStripsV || max_vID < firstStripID) {
103 B2DEBUG(5,
" OOOPS: this pixel does NOT belong to the sensor");
110 tmpROIid.setMinUid(aSensorInfo.
getUCellID(minU, minV,
true));
111 tmpROIid.setMinVid(aSensorInfo.
getVCellID(minV,
true));
112 tmpROIid.setMaxUid(aSensorInfo.
getUCellID(maxU, maxV,
true));
113 tmpROIid.setMaxVid(aSensorInfo.
getVCellID(maxV,
true));
114 tmpROIid.setSensorID((*listOfIntercepts)[i]->getSensorID()) ;