8 : theNumberOfStrips(ns),
11 theCentreToIntersection(
r),
12 theYAxisOrientation(yAx),
18 LogTrace(
"CSCRadialStripTopology") <<
"CSCRadialStripTopology: constructed with" 19 <<
" strips = " << ns <<
" width = " << aw <<
" rad " 106 cs(
t / (1 +
t *
t)), s2(
t *
cs), c2(1 - s2),
112 uu((c2 *
e.xx() - 2 *
cs *
e.xy() + s2 *
e.yy()) * T2), vv((s2 *
e.xx() + 2 *
cs *
e.xy() + c2 *
e.yy()) * R2),
113 uv((
cs * (
e.xx() -
e.yy()) +
e.xy() * (c2 - s2)) *
std::sqrt(T2 * R2));
121 const float fangle =
stripAngle(static_cast<float>(istrip) - 0.5);
float centreToIntersection() const override
int nearestStrip(const LocalPoint &) const override
Point3DBase< Scalar, LocalTag > LocalPoint
Sin< T >::type sin(const T &t)
float phiOfOneEdge() const override
float strip(const LocalPoint &) const override
LocalPoint localPosition(float strip) const override
float yAxisOrientation() const override
MeasurementError measurementError(const LocalPoint &, const LocalError &) const override
Measurement2DPoint MeasurementPoint
Measurement points are two-dimensional by default.
float detHeight() const override
CSCRadialStripTopology(int ns, float aw, float dh, float r, float yAx=1.f, float yMid=0.)
float theYAxisOrientation
Cos< T >::type cos(const T &t)
Tan< T >::type tan(const T &t)
float angularWidth() const override
MeasurementPoint measurementPosition(const LocalPoint &) const override
float stripAngle(float strip) const override
int channel(const LocalPoint &) const override
float originToIntersection() const override
float yCentreOfStripPlane() const override
float xOfStrip(int strip, float y) const override
LocalError localError(float strip, float stripErr2) const override
float yDistanceToIntersection(float y) const override
int nstrips() const override
Power< A, B >::type pow(const A &a, const B &b)
float localPitch(const LocalPoint &) const override
float localStripLength(const LocalPoint &) const override