10 theNumberOfStrips(ns), theAngularWidth(aw),
11 theDetHeight(dh), theCentreToIntersection(r),
12 theYAxisOrientation(yAx), yCentre( yMid) {
17 LogTrace(
"RadialStripTopology") <<
"RadialStripTopology: constructed with"
19 <<
" width = " << aw <<
" rad "
20 <<
" det_height = " << dh
24 <<
" y_det_centre = " <<
yCentre
89 cs(s1*
c1),
s2(s1*s1), c2(1-
s2),
97 xx( c2*tt + 2*cs*tr +
s2*rr ),
98 yy(
s2*tt - 2*cs*tr + c2*rr ),
99 xy( cs*( rr - tt ) + tr*( c2 -
s2 ) );
108 cs(
t/(1+
t*
t)),
s2(t*cs), c2(1-
s2),
113 uu( ( c2*e.
xx() - 2*cs*e.
xy() +
s2*e.
yy() ) * T2 ),
114 vv( (
s2*e.
xx() + 2*cs*e.
xy() + c2*e.
yy() ) * R2 ),
125 const float fangle =
stripAngle(static_cast<float>(istrip) - 0.5);
133 os <<
"RadialStripTopology " << std::endl
135 <<
"number of strips " << rst.
nstrips() << std::endl
137 <<
"detector height in y " << rst.
detHeight() << std::endl
138 <<
"angular width of strips " << rst.
phiPitch() << std::endl
139 <<
"phi of one edge " << rst.
phiOfOneEdge() << std::endl
virtual int nstrips() const
virtual MeasurementPoint measurementPosition(const LocalPoint &) const
RadialStripTopology(int ns, float aw, float dh, float r, int yAx=1, float yMid=0.)
Sin< T >::type sin(const T &t)
float centreToIntersection() const
virtual float phiPitch(void) const
float yDistanceToIntersection(float y) const
std::ostream & operator<<(std::ostream &out, const ALILine &li)
virtual float stripAngle(float strip) const
float xOfStrip(int strip, float y) const
virtual LocalPoint localPosition(float strip) const
virtual float localStripLength(const LocalPoint &) const
Measurement2DPoint MeasurementPoint
Measurement points are two-dimensional by default.
const T & max(const T &a, const T &b)
Cos< T >::type cos(const T &t)
Tan< T >::type tan(const T &t)
virtual int nearestStrip(const LocalPoint &) const
float yCentreOfStripPlane() const
virtual float localPitch(const LocalPoint &) const
virtual float strip(const LocalPoint &) const
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const
float originToIntersection() const
virtual int channel(const LocalPoint &) const
virtual float pitch() const
int yAxisOrientation() const
float angularWidth() const
float phiOfOneEdge() const
Power< A, B >::type pow(const A &a, const B &b)
virtual LocalError localError(float strip, float stripErr2) const
Basic2DVector< T > xy() const