CMS 3D CMS Logo

Phase2StripCPEGeometric.cc
Go to the documentation of this file.
1 
5 
6 // currently (?) use Pixel classes for GeomDetUnit and Topology
9 
11 
13  const GeomDetUnit &detunit) const {
14  const Phase2TrackerGeomDetUnit &det = (const Phase2TrackerGeomDetUnit &)detunit;
15  const Phase2TrackerTopology *topo = &det.specificTopology();
16 
17  float pitch_x = topo->pitch().first;
18  float pitch_y = topo->pitch().second;
19  float ix = cluster.center();
20  float iy = cluster.column() + 0.5; // halfway the column
21 
22  LocalPoint lp(topo->localX(ix), topo->localY(iy), 0); // x, y, z
23  LocalError le(pow(pitch_x, 2) / 12, 0, pow(pitch_y, 2) / 12); // e2_xx, e2_xy, e2_yy
24  return std::make_pair(lp, le);
25 }
LocalValues localParameters(const Phase2TrackerCluster1D &cluster, const GeomDetUnit &det) const override
virtual float localX(float mpX) const =0
ALPAKA_FN_ACC ALPAKA_FN_INLINE uint32_t ix(uint32_t id)
unsigned int column() const
virtual float localY(float mpY) const =0
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
ALPAKA_FN_ACC ALPAKA_FN_INLINE uint32_t iy(uint32_t id)
virtual std::pair< float, float > pitch() const =0
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29