CMS 3D CMS Logo

StripTopology.h
Go to the documentation of this file.
1 #ifndef Geometry_CommonTopologies_StripTopology_H
2 #define Geometry_CommonTopologies_StripTopology_H
3 
5 
11 class StripTopology : public Topology {
12 public:
13  ~StripTopology() override {}
14 
15  // GF: I hate the stupid hiding feature of C++, see
16  // http://www.parashift.com/c%2B%2B-faq-lite/strange-inheritance.html#faq-23.9
18  virtual LocalPoint localPosition(float strip) const = 0;
20  virtual LocalPoint localPosition(float strip, const Topology::LocalTrackPred& /*trkPred*/) const {
21  return localPosition(strip);
22  }
23  virtual LocalError localError(float strip, float stripErr2) const = 0;
24 
26  virtual LocalError localError(float strip, float stripErr2, const Topology::LocalTrackPred& /*trkPred*/) const {
27  return localError(strip, stripErr2);
28  }
29  using Topology::localError; // see comment about hiding an C++ 'using' feature above
30  virtual float strip(const LocalPoint&) const = 0;
31 
33  virtual float strip(const LocalPoint& lp, const Topology::LocalTrackAngles& /*ltp*/) const { return strip(lp); }
34 
35  // the number of strip span by the segment between the two points..
36  virtual float coveredStrips(const LocalPoint& lp1, const LocalPoint& lp2) const {
37  return (measurementPosition(lp1) - measurementPosition(lp2)).x();
38  }
39 
40  virtual float pitch() const = 0;
41  virtual float localPitch(const LocalPoint&) const = 0;
42 
44  virtual float localPitch(const LocalPoint& lp, const Topology::LocalTrackAngles& /*ltp*/) const {
45  return localPitch(lp);
46  }
47  virtual float stripAngle(float strip) const = 0;
48 
49  virtual int nstrips() const = 0;
50 
51  virtual float stripLength() const = 0;
52  virtual float localStripLength(const LocalPoint& aLP) const = 0;
53 
55  virtual float localStripLength(const LocalPoint& lp, const Topology::LocalTrackAngles& /*ltp*/) const {
56  return localStripLength(lp);
57  }
58 };
59 
60 #endif
StripTopology::localStripLength
virtual float localStripLength(const LocalPoint &aLP) const =0
StripTopology::localPosition
virtual LocalPoint localPosition(float strip) const =0
Topology::localPosition
virtual LocalPoint localPosition(const MeasurementPoint &) const =0
StripTopology::localPitch
virtual float localPitch(const LocalPoint &) const =0
StripTopology::pitch
virtual float pitch() const =0
Topology::LocalTrackPred
Definition: Topology.h:56
StripTopology::coveredStrips
virtual float coveredStrips(const LocalPoint &lp1, const LocalPoint &lp2) const
Definition: StripTopology.h:36
Point3DBase< float, LocalTag >
StripTopology::strip
virtual float strip(const LocalPoint &) const =0
StripTopology::localStripLength
virtual float localStripLength(const LocalPoint &lp, const Topology::LocalTrackAngles &) const
conversion taking also the angle from the track state (LocalTrajectoryParameters)
Definition: StripTopology.h:55
StripTopology::stripLength
virtual float stripLength() const =0
StripTopology::localPitch
virtual float localPitch(const LocalPoint &lp, const Topology::LocalTrackAngles &) const
conversion taking also the angle from the track state (LocalTrajectoryParameters)
Definition: StripTopology.h:44
LocalError
Definition: LocalError.h:12
StripTopology::stripAngle
virtual float stripAngle(float strip) const =0
Topology::LocalTrackAngles
Definition: Topology.h:44
Topology::measurementPosition
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
StripTopology::nstrips
virtual int nstrips() const =0
StripTopology::~StripTopology
~StripTopology() override
Definition: StripTopology.h:13
StripTopology::strip
virtual float strip(const LocalPoint &lp, const Topology::LocalTrackAngles &) const
conversion taking also the angle from the track state (LocalTrajectoryParameters)
Definition: StripTopology.h:33
Topology::localError
virtual LocalError localError(const MeasurementPoint &, const MeasurementError &) const =0
StripTopology::localPosition
virtual LocalPoint localPosition(float strip, const Topology::LocalTrackPred &) const
conversion taking also the predicted track state
Definition: StripTopology.h:20
Topology
Definition: Topology.h:39
StripTopology::localError
virtual LocalError localError(float strip, float stripErr2) const =0
StripTopology
Definition: StripTopology.h:11
Topology.h
StripTopology::localError
virtual LocalError localError(float strip, float stripErr2, const Topology::LocalTrackPred &) const
conversion taking also the angle from the predicted track state
Definition: StripTopology.h:26