#include <OffsetRadialStripTopology.h>
Public Member Functions | |
virtual int | channel (int strip) const =0 |
virtual int | channel (const LocalPoint &lp) const =0 |
virtual LocalPoint | localPosition (float strip) const |
virtual LocalPoint | localPosition (const MeasurementPoint &) const |
virtual MeasurementPoint | measurementPosition (const LocalPoint &) const |
OffsetRadialStripTopology (int numberOfStrips, float stripPhiPitch, float detectorHeight, float radialDistance, float stripOffset, float yCentre) | |
virtual float | strip (const LocalPoint &) const |
float | stripAngle (float strip) const |
virtual float | stripOffset (void) const |
virtual | ~OffsetRadialStripTopology () |
Public Member Functions inherited from CSCRadialStripTopology | |
float | angularWidth () const |
float | centreToIntersection () const |
CSCRadialStripTopology (int ns, float aw, float dh, float r, float yAx=1.f, float yMid=0.) | |
float | detHeight () const |
virtual LocalError | localError (float strip, float stripErr2) const |
virtual LocalError | localError (const MeasurementPoint &, const MeasurementError &) const |
virtual float | localPitch (const LocalPoint &) const |
virtual float | localStripLength (const LocalPoint &) const |
virtual MeasurementError | measurementError (const LocalPoint &, const LocalError &) const |
virtual int | nearestStrip (const LocalPoint &) const |
virtual int | nstrips () const |
float | originToIntersection () const |
float | phiOfOneEdge () const |
virtual float | phiPitch (void) const |
virtual float | stripLength () const |
float | xOfStrip (int strip, float y) const |
float | yAxisOrientation () const |
float | yCentreOfStripPlane () const |
float | yDistanceToIntersection (float y) const |
float | yExtentOfStripPlane () const |
virtual | ~CSCRadialStripTopology () |
Public Member Functions inherited from RadialStripTopology | |
virtual float | pitch () const |
virtual | ~RadialStripTopology () |
Public Member Functions inherited from StripTopology | |
virtual float | coveredStrips (const LocalPoint &lp1, const LocalPoint &lp2) const |
virtual LocalError | localError (float strip, float stripErr2, const Topology::LocalTrackPred &) const |
conversion taking also the angle from the predicted track state More... | |
virtual float | localPitch (const LocalPoint &lp, const Topology::LocalTrackAngles &) const |
conversion taking also the angle from the track state (LocalTrajectoryParameters) More... | |
virtual LocalPoint | localPosition (float strip, const Topology::LocalTrackPred &) const |
conversion taking also the predicted track state More... | |
virtual float | localStripLength (const LocalPoint &lp, const Topology::LocalTrackAngles &) const |
conversion taking also the angle from the track state (LocalTrajectoryParameters) More... | |
virtual float | strip (const LocalPoint &lp, const Topology::LocalTrackAngles &) const |
conversion taking also the angle from the track state (LocalTrajectoryParameters) More... | |
virtual | ~StripTopology () |
Public Member Functions inherited from Topology | |
virtual int | channel (const LocalPoint &lp, const LocalTrackAngles &) const |
conversion taking also the angle from the track state More... | |
virtual LocalError | localError (const MeasurementPoint &mp, const MeasurementError &me, const LocalTrackPred &) const |
conversion taking also the angle from the predicted track state More... | |
virtual LocalPoint | localPosition (const MeasurementPoint &mp, const LocalTrackPred &) const |
conversion taking also the angle from the predicted track state More... | |
virtual MeasurementError | measurementError (const LocalPoint &lp, const LocalError &le, const LocalTrackAngles &) const |
conversion taking also the angle from the track state More... | |
virtual MeasurementPoint | measurementPosition (const LocalPoint &lp, const LocalTrackAngles &) const |
conversion taking also the angle from the track state More... | |
virtual | ~Topology () |
Private Member Functions | |
LocalPoint | toLocal (float xprime, float yprime) const |
LocalPoint | toPrime (const LocalPoint &) const |
Private Attributes | |
float | theCosOff |
float | theSinOff |
float | theStripOffset |
Friends | |
std::ostream & | operator<< (std::ostream &, const OffsetRadialStripTopology &) |
Additional Inherited Members | |
Public Types inherited from Topology | |
typedef Point2DBase< double, LocalTag > | Local2DPoint |
typedef Vector2D::MathVector | MathVector2D |
typedef Basic2DVector< double > | Vector2D |
ABC defining RadialStripTopology with shifted offset so that it is not centred on local y (of parent chamber)
The offset is specified as a fraction of the strip angular width.
Definition at line 17 of file OffsetRadialStripTopology.h.
OffsetRadialStripTopology::OffsetRadialStripTopology | ( | int | numberOfStrips, |
float | stripPhiPitch, | ||
float | detectorHeight, | ||
float | radialDistance, | ||
float | stripOffset, | ||
float | yCentre | ||
) |
Constructor Note that yCentre is local y of symmetry centre of strip plane before the rotation shift: it is passed directly to RST base.
Definition at line 26 of file OffsetRadialStripTopology.cc.
References CSCRadialStripTopology::angularWidth(), funct::cos(), LogTrace, funct::sin(), theCosOff, and theSinOff.
|
inlinevirtual |
Definition at line 28 of file OffsetRadialStripTopology.h.
|
pure virtual |
Channel number corresponding to a strip or a LocalPoint. Sometimes more than one strip is OR'ed into one channel.
Implemented in CSCUngangedStripTopology, and CSCGangedStripTopology.
Referenced by CSCLayerGeometry::channel().
|
pure virtual |
Channel number corresponding to a given LocalPoint.
This is effectively an integer version of strip(), with range 0 to nstrips-1.
LocalPoints outside the detector strip plane will be considered as contributing to the edge channels 0 or nstrips-1.
Reimplemented from CSCRadialStripTopology.
Implemented in CSCUngangedStripTopology, and CSCGangedStripTopology.
|
inlinevirtual |
LocalPoint for a given strip
Reimplemented from CSCRadialStripTopology.
Definition at line 37 of file OffsetRadialStripTopology.h.
References CSCRadialStripTopology::localPosition().
|
virtual |
LocalPoint for a given MeasurementPoint
What's a MeasurementPoint?
A MeasurementPoint is a 2-dim object, with the 1st dim specifying the angular position in strip widths, and the 2nd dim specifying the fractional distance alone a strip.
Thus the 1st dimension measures the angular position wrt central line of symmetry of detector, in units of strip (angular) widths (range 0 to total angle subtended by a detector). The 2nd dimension measures the fractional position along the strip (range -0.5 to +0.5).
BEWARE! The components are not Cartesian.
BEWARE! Neither coordinate may correspond to either local x or local y.
BEWARE! This involves ONLY strip-related measurements, not CSC wires!
Reimplemented from CSCRadialStripTopology.
Definition at line 42 of file OffsetRadialStripTopology.cc.
References CSCRadialStripTopology::angularWidth(), CSCRadialStripTopology::detHeight(), CSCRadialStripTopology::originToIntersection(), phi, CSCRadialStripTopology::phiOfOneEdge(), funct::tan(), toLocal(), PV2DBase< T, PVType, FrameType >::x(), PV2DBase< T, PVType, FrameType >::y(), and CSCRadialStripTopology::yCentreOfStripPlane().
|
virtual |
MeasurementPoint corresponding to given LocalPoint
Reimplemented from CSCRadialStripTopology.
Definition at line 68 of file OffsetRadialStripTopology.cc.
References CSCRadialStripTopology::measurementPosition(), and toPrime().
|
virtual |
Strip in which a given LocalPoint lies. This is a float which represents the fractional strip position within the detector.
Returns zero if the LocalPoint falls at the extreme low edge of the detector or BELOW, and float(nstrips) if it falls at the extreme high edge or ABOVE.
Reimplemented from CSCRadialStripTopology.
Definition at line 73 of file OffsetRadialStripTopology.cc.
References CSCRadialStripTopology::angularWidth(), CSCRadialStripTopology::nstrips(), CSCRadialStripTopology::originToIntersection(), phi, CSCRadialStripTopology::phiOfOneEdge(), toPrime(), PV3DBase< T, PVType, FrameType >::x(), and PV3DBase< T, PVType, FrameType >::y().
Referenced by CSCGangedStripTopology::channel(), CSCUngangedStripTopology::channel(), CSCLayerGeometry::inside(), and CSCLayerGeometry::strip().
|
virtual |
Angle between strip and local y axis (measured clockwise from y axis)
Reimplemented from CSCRadialStripTopology.
Definition at line 82 of file OffsetRadialStripTopology.cc.
References CSCRadialStripTopology::angularWidth(), CSCRadialStripTopology::phiOfOneEdge(), and theStripOffset.
Referenced by CSCStripTopology::equationOfStrip(), CSCLayerGeometry::intersectionOfStripAndWire(), and CSCLayerGeometry::stripAngle().
|
inlinevirtual |
Fraction of a strip offset of layer relative to symmetry axis (local y). (This is an angular value)
Definition at line 33 of file OffsetRadialStripTopology.h.
References theStripOffset.
Referenced by FWRecoGeometryESProducer::addCSCGeometry(), operator<<(), CSCLayerGeometry::stripOffset(), and ValidateGeometry::validateCSCLayerGeometry().
|
private |
Transform from coordinates wrt strip plane symmetry axes to local coordinates
Definition at line 86 of file OffsetRadialStripTopology.cc.
References CSCRadialStripTopology::originToIntersection(), theCosOff, theSinOff, x, and detailsBasic3DVector::y.
Referenced by localPosition().
|
private |
Transform from local coordinates to coordinates wrt strip plane symmetry axes
Definition at line 94 of file OffsetRadialStripTopology.cc.
References CSCRadialStripTopology::originToIntersection(), theCosOff, theSinOff, PV3DBase< T, PVType, FrameType >::x(), and PV3DBase< T, PVType, FrameType >::y().
Referenced by measurementPosition(), and strip().
|
friend |
Definition at line 102 of file OffsetRadialStripTopology.cc.
|
private |
Definition at line 103 of file OffsetRadialStripTopology.h.
Referenced by OffsetRadialStripTopology(), operator<<(), toLocal(), and toPrime().
|
private |
Definition at line 104 of file OffsetRadialStripTopology.h.
Referenced by OffsetRadialStripTopology(), operator<<(), toLocal(), and toPrime().
|
private |
Definition at line 102 of file OffsetRadialStripTopology.h.
Referenced by stripAngle(), and stripOffset().