12 : numberOfStrips_(ns), angularWidth_(aw), detHeight_(dh), centreToIntersection_(r0) {
18 LogTrace(
"GEMStripTopology") <<
"Constructing GEMStripTopology with"
19 <<
" nstrips = " << ns <<
" angular width = " << aw <<
" det. height = " << dh
20 <<
" r0 = " << r0 <<
"\n";
24 : numberOfStrips_(ns), angularWidth_(aw), detHeight_(dh), centreToIntersection_(r0), yAxisOrientation_(yAx) {
29 LogTrace(
"GEMStripTopology") <<
"Constructing GEMStripTopology with"
30 <<
" nstrips = " << ns <<
" angular width = " << aw <<
" det. height = " << dh
31 <<
" r0 = " << r0 <<
" yAxOrientation = " << yAx <<
"\n";
50 xx(
tt + t2 *
rr), yy(t2 *
tt + rr),
xy(t1 * (rr -
tt));
58 const double cs(s1 * c1), s2(s1 * s1),
68 xx(c2 *
tt + 2 *
cs * tr + s2 *
rr), yy(s2 *
tt - 2 *
cs * tr + c2 * rr),
xy(
cs * (rr -
tt) + tr * (c2 - s2));
95 cs(
t / (1 +
t *
t)), s2(t *
cs), c2(1 - s2),
101 uu((c2 * e.
xx() - 2 * cs * e.
xy() + s2 * e.
yy()) * T2), vv((s2 * e.
xx() + 2 * cs * e.
xy() + c2 * e.
yy()) * R2),
102 uv((cs * (e.
xx() - e.
yy()) + e.
xy() * (c2 - s2)) *
std::sqrt(T2 * R2));
113 const float fangle =
stripAngle(static_cast<float>(istrip) - 0.5);
float phiOfOneEdge() const
Point3DBase< Scalar, LocalTag > LocalPoint
float strip(const LocalPoint &) const override
MeasurementError measurementError(const LocalPoint &, const LocalError &) const override
int nstrips() const override
unique_ptr< ClusterSequence > cs
float originToIntersection() const
Sin< T >::type sin(const T &t)
float angularWidth() const
float xOfStrip(int strip, float y) const
int channel(const LocalPoint &) const override
float centreToIntersection() const
float yDistanceToIntersection(float y) const
Measurement2DPoint MeasurementPoint
Measurement points are two-dimensional by default.
int nearestStrip(const LocalPoint &) const
Cos< T >::type cos(const T &t)
Tan< T >::type tan(const T &t)
float localPitch(const LocalPoint &) const override
float yAxisOrientation() const
GEMStripTopology(int ns, float aw, float dh, float r0)
float stripAngle(float strip) const override
Basic2DVector< T > xy() const
float localStripLength(const LocalPoint &) const override
MeasurementPoint measurementPosition(const LocalPoint &) const override
LocalPoint localPosition(float strip) const override
LocalError localError(float strip, float stripErr2) const override
Power< A, B >::type pow(const A &a, const B &b)
float pitch() const override
float yCentreOfStripPlane() const