18 #include <boost/function.hpp>
24 TIDRing::TIDRing(std::vector<const GeomDet*>& innerDets, std::vector<const GeomDet*>& outerDets)
26 theFrontDets(innerDets.
begin(), innerDets.
end()),
27 theBackDets(outerDets.
begin(), outerDets.
end()) {
43 LogDebug(
"TkDetLayers") <<
"DEBUG INFO for TIDRing";
45 LogDebug(
"TkDetLayers") <<
"frontDet phi,z,r: " << (*it)->surface().position().phi() <<
" , "
46 << (*it)->surface().position().z() <<
" , " << (*it)->surface().position().perp();
50 LogDebug(
"TkDetLayers") <<
"backDet phi,z,r: " << (*it)->surface().position().phi() <<
" , "
51 << (*it)->surface().position().z() <<
" , " << (*it)->surface().position().perp();
64 edm::LogError(
"TkDetLayers") <<
"temporary dummy implementation of TIDRing::compatible()!!";
65 return pair<bool, TrajectoryStateOnSurface>();
71 std::vector<DetGroup>&
result)
const {
77 std::vector<DetGroup> closestResult;
79 if (closestResult.empty())
86 vector<DetGroup> nextResult;
105 if (!frontPath.first)
125 if (frontDist < backDist) {
136 vector<DetGroup>&
result)
const {
148 bool checkClosest)
const {
154 int negStartIndex = closestIndex - 1;
155 int posStartIndex = closestIndex + 1;
159 posStartIndex = closestIndex;
161 negStartIndex = closestIndex;
168 int half = sLayer.size() / 2;
169 for (
int idet = negStartIndex; idet >= negStartIndex - half; idet--) {
177 for (
int idet = posStartIndex; idet < posStartIndex + half; idet++) {