#include <OffsetRadialStripTopology.h>
Public Member Functions | |
int | channel (const LocalPoint &lp) const override=0 |
virtual int | channel (int strip) const =0 |
LocalPoint | localPosition (const MeasurementPoint &) const override |
LocalPoint | localPosition (float strip) const override |
MeasurementPoint | measurementPosition (const LocalPoint &) const override |
OffsetRadialStripTopology (int numberOfStrips, float stripPhiPitch, float detectorHeight, float radialDistance, float stripOffset, float yCentre) | |
float | strip (const LocalPoint &) const override |
float | stripAngle (float strip) const override |
virtual float | stripOffset (void) const |
~OffsetRadialStripTopology () override | |
Public Member Functions inherited from CSCRadialStripTopology | |
float | angularWidth () const override |
float | centreToIntersection () const override |
CSCRadialStripTopology (int ns, float aw, float dh, float r, float yAx=1.f, float yMid=0.) | |
float | detHeight () const override |
LocalError | localError (const MeasurementPoint &, const MeasurementError &) const override |
LocalError | localError (float strip, float stripErr2) const override |
float | localPitch (const LocalPoint &) const override |
float | localStripLength (const LocalPoint &) const override |
MeasurementError | measurementError (const LocalPoint &, const LocalError &) const override |
int | nearestStrip (const LocalPoint &) const override |
int | nstrips () const override |
float | originToIntersection () const override |
float | phiOfOneEdge () const override |
float | phiPitch (void) const override |
float | stripLength () const override |
float | xOfStrip (int strip, float y) const override |
float | yAxisOrientation () const override |
float | yCentreOfStripPlane () const override |
float | yDistanceToIntersection (float y) const override |
float | yExtentOfStripPlane () const override |
~CSCRadialStripTopology () override | |
Public Member Functions inherited from RadialStripTopology | |
virtual LocalError | localError (float strip, float stripErr2) const=0 |
virtual LocalError | localError (float strip, float stripErr2, const Topology::LocalTrackPred &) const |
conversion taking also the angle from the predicted track state More... | |
virtual LocalPoint | localPosition (float strip) const=0 |
virtual LocalPoint | localPosition (float strip, const Topology::LocalTrackPred &) const |
conversion taking also the predicted track state More... | |
float | pitch () const final |
~RadialStripTopology () override | |
Public Member Functions inherited from StripTopology | |
virtual float | coveredStrips (const LocalPoint &lp1, const LocalPoint &lp2) const |
virtual LocalError | localError (const MeasurementPoint &, const MeasurementError &) const=0 |
virtual LocalError | localError (const MeasurementPoint &mp, const MeasurementError &me, const LocalTrackPred &) const |
conversion taking also the angle from the predicted track state More... | |
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 (const MeasurementPoint &) const=0 |
virtual LocalPoint | localPosition (const MeasurementPoint &mp, const LocalTrackPred &) const |
conversion taking also the angle from the predicted track state 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... | |
~StripTopology () override | |
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(), stripOffset(), theCosOff, and theSinOff.
|
inlineoverride |
Definition at line 30 of file OffsetRadialStripTopology.h.
|
overridepure 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.
|
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().
|
overridevirtual |
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().
|
inlineoverridevirtual |
LocalPoint for a given strip
Reimplemented from CSCRadialStripTopology.
Definition at line 39 of file OffsetRadialStripTopology.h.
References CSCRadialStripTopology::localPosition(), and strip().
Referenced by CSCCathodeLCTAnalyzer::getStripPhi().
|
overridevirtual |
MeasurementPoint corresponding to given LocalPoint
Reimplemented from CSCRadialStripTopology.
Definition at line 68 of file OffsetRadialStripTopology.cc.
References CSCRadialStripTopology::measurementPosition(), and toPrime().
|
overridevirtual |
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(), CSCStripTopology::equationOfStrip(), CSCLayerGeometry::inside(), localPosition(), CSCCathodeLCTAnalyzer::nearestHS(), CSCLayerGeometry::strip(), and stripAngle().
|
overridevirtual |
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(), strip(), 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 35 of file OffsetRadialStripTopology.h.
References theStripOffset.
Referenced by FWRecoGeometryESProducer::addCSCGeometry(), OffsetRadialStripTopology(), 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 y.
Referenced by localPosition().
|
private |
Transform from local coordinates to coordinates wrt strip plane symmetry axes
Definition at line 92 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 98 of file OffsetRadialStripTopology.cc.
|
private |
Definition at line 105 of file OffsetRadialStripTopology.h.
Referenced by OffsetRadialStripTopology(), operator<<(), toLocal(), and toPrime().
|
private |
Definition at line 106 of file OffsetRadialStripTopology.h.
Referenced by OffsetRadialStripTopology(), operator<<(), toLocal(), and toPrime().
|
private |
Definition at line 104 of file OffsetRadialStripTopology.h.
Referenced by stripAngle(), and stripOffset().