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
96 yy(
s2*
tt - 2*
cs*tr + c2*rr ),
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);
auto_ptr< ClusterSequence > cs
virtual int nstrips() const
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const
float yCentreOfStripPlane() const
float originToIntersection() const
Sin< T >::type sin(const T &t)
virtual int channel(const LocalPoint &) const
virtual float localPitch(const LocalPoint &) const
virtual float strip(const LocalPoint &) const
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.)
const T & max(const T &a, const T &b)
auto const T2 &decltype(t1.eta()) t2
float yAxisOrientation() const
float theYAxisOrientation
Cos< T >::type cos(const T &t)
float xOfStrip(int strip, float y) const
Tan< T >::type tan(const T &t)
virtual float localStripLength(const LocalPoint &) const
virtual LocalPoint localPosition(float strip) const
float centreToIntersection() const
float phiOfOneEdge() const
float angularWidth() const
float yDistanceToIntersection(float y) const
virtual MeasurementPoint measurementPosition(const LocalPoint &) const
virtual LocalError localError(float strip, float stripErr2) const
virtual float stripAngle(float strip) const
Power< A, B >::type pow(const A &a, const B &b)
virtual int nearestStrip(const LocalPoint &) const