8 theNumberOfStrips(ns), theAngularWidth(aw),
9 theDetHeight(dh), theCentreToIntersection(r),
10 theYAxisOrientation(yAx), yCentre( yMid) {
15 LogTrace(
"CSCRadialStripTopology") <<
"CSCRadialStripTopology: constructed with" 17 <<
" width = " << aw <<
" rad " 18 <<
" det_height = " << dh
22 <<
" y_det_centre = " <<
yCentre 97 xy(
cs*( rr -
tt ) + tr*( c2 -
s2 ) );
111 uu( ( c2*e.
xx() - 2*cs*e.
xy() +
s2*e.
yy() ) * T2 ),
112 vv( (
s2*e.
xx() + 2*cs*e.
xy() + c2*e.
yy() ) * R2 ),
122 const float fangle =
stripAngle(static_cast<float>(istrip) - 0.5);
float detHeight() const override
Point3DBase< Scalar, LocalTag > LocalPoint
float centreToIntersection() const override
unique_ptr< ClusterSequence > cs
Sin< T >::type sin(const T &t)
Measurement2DPoint MeasurementPoint
Measurement points are two-dimensional by default.
CSCRadialStripTopology(int ns, float aw, float dh, float r, float yAx=1.f, float yMid=0.)
float yCentreOfStripPlane() const override
float theYAxisOrientation
Cos< T >::type cos(const T &t)
float stripAngle(float strip) const override
Tan< T >::type tan(const T &t)
float phiOfOneEdge() const override
MeasurementPoint measurementPosition(const LocalPoint &) const override
float originToIntersection() const override
int nstrips() const override
int channel(const LocalPoint &) const override
MeasurementError measurementError(const LocalPoint &, const LocalError &) const override
float yAxisOrientation() const override
float localStripLength(const LocalPoint &) const override
float xOfStrip(int strip, float y) const override
float angularWidth() const override
float yDistanceToIntersection(float y) const override
float strip(const LocalPoint &) const override
float localPitch(const LocalPoint &) const override
LocalError localError(float strip, float stripErr2) const override
int nearestStrip(const LocalPoint &) const override
Power< A, B >::type pow(const A &a, const B &b)
LocalPoint localPosition(float strip) const override