88 std::list<ROIDetPlane> planeList,
89 genfit::MeasuredStateOnPlane state,
93 aIntercept tmpIntercept;
95 B2DEBUG(20,
" ...-appendIntercepts, checking " << planeList.size() <<
" planes");
99 std::list<ROIDetPlane>::iterator itPlanes = planeList.begin();
100 while (itPlanes != planeList.end()) {
101 B2DEBUG(20,
" searching in appendIntercepts : " << (itPlanes->getVxdID()));
104 lambda = state.extrapolateToPlane(itPlanes->getSharedPlanePtr());
106 B2DEBUG(20,
" ...-extrapolation to plane failed");
111 const TVectorD& predictedIntersect = state.getState();
112 const TMatrixDSym& covMatrix = state.getCov();
114 tmpIntercept.setCoorU(predictedIntersect[3]);
115 tmpIntercept.setCoorV(predictedIntersect[4]);
116 tmpIntercept.setSigmaU(
sqrt(covMatrix(3, 3)));
117 tmpIntercept.setSigmaV(
sqrt(covMatrix(4, 4)));
118 tmpIntercept.setSigmaUprime(
sqrt(covMatrix(1, 1)));
119 tmpIntercept.setSigmaVprime(
sqrt(covMatrix(2, 2)));
120 tmpIntercept.setLambda(lambda);
121 tmpIntercept.setVxdID(itPlanes->getVxdID());
122 tmpIntercept.setUprime(predictedIntersect[1]);
123 tmpIntercept.setVprime(predictedIntersect[2]);
125 B2DEBUG(20,
"extrapolate to plane!!! >>> coordinates with getPos = " << state.getPos().X()
126 <<
", " << state.getPos().Y()
127 <<
", " << state.getPos().Z());
128 B2DEBUG(20,
"coordinates with predInter = " << predictedIntersect[3]
129 <<
", " << predictedIntersect[4]);
130 B2DEBUG(20,
"momentum with getMom = " << state.getMom().X()
131 <<
", " << state.getMom().Y()
132 <<
", " << state.getMom().Z());
133 B2DEBUG(20,
"U/V prime momentum with getMom = " << state.getMom().Z() / state.getMom().X()
134 <<
", " << state.getMom().Z() / state.getMom().Y());
135 B2DEBUG(20,
"U/V prime momentum with predInter = " << predictedIntersect[1]
136 <<
", " << predictedIntersect[2]);
140 recoTrackToIntercepts->
add(recoTrackIndex, interceptList->
getEntries() - 1);