30 LogDebug(
"MTDCPEBase::fillDetParams():") <<
"caching " <<
detectors <<
"MTD detectors" << endl;
33 p.theDet = dynamic_cast<const MTDGeomDetUnit*>(dus[
i]);
36 p.theOrigin =
p.theDet->surface().toLocal(
GlobalPoint(0, 0, 0));
39 p.thePart =
p.theDet->type().subDetector();
42 p.theThickness =
p.theDet->surface().bounds().thickness();
45 p.theTopol = &(static_cast<const ProxyMTDTopology&>(
p.theDet->topology()));
47 p.theRecTopol = &(static_cast<const RectangularMTDTopology&>(
p.theTopol->specificTopology()));
51 std::pair<float, float> pitchxy =
p.theRecTopol->pitch();
52 p.thePitchX = pitchxy.first;
53 p.thePitchY = pitchxy.second;
55 LogDebug(
"MTDCPEBase::fillDetParams()") <<
"***** MTD LAYOUT *****"
56 <<
" thePart = " <<
p.thePart <<
" theThickness = " <<
p.theThickness
57 <<
" thePitchX = " <<
p.thePitchX <<
" thePitchY = " <<
p.thePitchY;
72 return dp.theTopol->localPosition(
pos);
76 constexpr
double one_over_twelve = 1. / 12.;
79 return dp.theTopol->localError(
pos, simpleRect);
83 return cp.theCluster->time();
87 return cp.theCluster->timeError();