CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
14  virtual ~StripTopology() {}
15 
16  // GF: I hate the stupid hiding feature of C++, see
17  // http://www.parashift.com/c%2B%2B-faq-lite/strange-inheritance.html#faq-23.9
19  virtual LocalPoint localPosition( float strip ) const = 0;
21  virtual LocalPoint localPosition( float strip, const Topology::LocalTrackPred &/*trkPred*/) const {
22  return localPosition(strip);
23  }
24  virtual LocalError localError( float strip, float stripErr2 ) const = 0;
25 
27  virtual LocalError localError( float strip, float stripErr2,
28  const Topology::LocalTrackPred &/*trkPred*/) const {
29  return localError(strip, stripErr2);
30  }
31  using Topology::localError; // see comment about hiding an C++ 'using' feature above
32  virtual float strip( const LocalPoint& ) const = 0;
33 
35  virtual float strip( const LocalPoint& lp, const Topology::LocalTrackAngles &/*ltp*/ ) const {
36  return strip(lp);
37  }
38  virtual float pitch() const = 0;
39  virtual float localPitch( const LocalPoint& ) const = 0;
40 
42  virtual float localPitch( const LocalPoint& lp, const Topology::LocalTrackAngles &/*ltp*/ ) const {
43  return localPitch(lp);
44  }
45  virtual float stripAngle( float strip ) const = 0;
46 
47  virtual int nstrips() const = 0;
48 
49  virtual float stripLength() const = 0;
50  virtual float localStripLength(const LocalPoint& aLP) const = 0;
51 
53  virtual float localStripLength( const LocalPoint& lp, const Topology::LocalTrackAngles &/*ltp*/ ) const {
54  return localStripLength(lp);
55  }
56 
57 };
58 
59 #endif
virtual int nstrips() const =0
virtual LocalPoint localPosition(const MeasurementPoint &) const =0
virtual float stripAngle(float strip) const =0
virtual ~StripTopology()
Definition: StripTopology.h:14
virtual float strip(const LocalPoint &) const =0
virtual float localPitch(const LocalPoint &) const =0
virtual float stripLength() const =0
virtual float localStripLength(const LocalPoint &lp, const Topology::LocalTrackAngles &) const
conversion taking also the angle from the track state (LocalTrajectoryParameters) ...
Definition: StripTopology.h:53
virtual float strip(const LocalPoint &lp, const Topology::LocalTrackAngles &) const
conversion taking also the angle from the track state (LocalTrajectoryParameters) ...
Definition: StripTopology.h:35
virtual LocalError localError(const MeasurementPoint &, const MeasurementError &) const =0
virtual LocalError localError(float strip, float stripErr2) const =0
virtual float localStripLength(const LocalPoint &aLP) const =0
virtual float pitch() const =0
virtual LocalPoint localPosition(float strip) const =0
virtual LocalPoint localPosition(float strip, const Topology::LocalTrackPred &) const
conversion taking also the predicted track state
Definition: StripTopology.h:21
virtual float localPitch(const LocalPoint &lp, const Topology::LocalTrackAngles &) const
conversion taking also the angle from the track state (LocalTrajectoryParameters) ...
Definition: StripTopology.h:42
virtual LocalError localError(float strip, float stripErr2, const Topology::LocalTrackPred &) const
conversion taking also the angle from the predicted track state
Definition: StripTopology.h:27