CMS 3D CMS Logo

CSCWireGeometry.h
Go to the documentation of this file.
1 #ifndef CSC_WIRE_GEOMETRY_H
2 #define CSC_WIRE_GEOMETRY_H
3 
14 #include <vector>
15 #include <utility> // for std::pair
16 
18 public:
19  virtual ~CSCWireGeometry() {}
20 
25  double wireSpacing, double yOfFirstWire, double narrowWidthOfPlane, double wideWidthOfPlane, double lengthOfPlane)
31 
35  double wireSpacing() const { return theWireSpacing; }
36 
40  double yOfFirstWire() const { return theYOfFirstWire; }
41 
45  double narrowWidthOfPlane() const { return theNarrowWidthOfPlane; }
46 
50  double wideWidthOfPlane() const { return theWideWidthOfPlane; }
51 
55  double lengthOfPlane() const { return theLengthOfPlane; }
56 
60  virtual float wireAngle() const = 0;
61 
66  virtual int nearestWire(const LocalPoint& lp) const = 0;
67 
71  virtual float yOfWire(float wire, float x = 0.) const = 0;
72 
76  virtual CSCWireGeometry* clone() const = 0;
77 
82  LocalPoint intersection(float m1, float c1, float m2, float c2) const;
83 
88  std::pair<LocalPoint, LocalPoint> wireEnds(float wire) const;
89 
93  std::vector<float> wireValues(float wire) const;
94 
100  std::pair<float, float> equationOfWire(float wire) const;
101 
109  std::pair<float, float> yLimitsOfWirePlane() const;
110 
111 private:
113  double theYOfFirstWire; // local y
117 };
118 
119 #endif
CSCWireGeometry::theWireSpacing
double theWireSpacing
Definition: CSCWireGeometry.h:112
CSCWireGeometry::clone
virtual CSCWireGeometry * clone() const =0
CSCWireGeometry::wireSpacing
double wireSpacing() const
Definition: CSCWireGeometry.h:35
CSCWireGeometry::theLengthOfPlane
double theLengthOfPlane
Definition: CSCWireGeometry.h:116
DDAxes::x
CSCWireGeometry::theYOfFirstWire
double theYOfFirstWire
Definition: CSCWireGeometry.h:113
CSCWireGeometry::yLimitsOfWirePlane
std::pair< float, float > yLimitsOfWirePlane() const
Definition: CSCWireGeometry.cc:186
CSCWireGeometry::yOfWire
virtual float yOfWire(float wire, float x=0.) const =0
CSCWireGeometry::theWideWidthOfPlane
double theWideWidthOfPlane
Definition: CSCWireGeometry.h:115
Point3DBase< float, LocalTag >
CSCWireGeometry::CSCWireGeometry
CSCWireGeometry(double wireSpacing, double yOfFirstWire, double narrowWidthOfPlane, double wideWidthOfPlane, double lengthOfPlane)
Definition: CSCWireGeometry.h:24
CSCWireGeometry
Definition: CSCWireGeometry.h:17
CSCWireGeometry::theNarrowWidthOfPlane
double theNarrowWidthOfPlane
Definition: CSCWireGeometry.h:114
alignmentValidation.c1
c1
do drawing
Definition: alignmentValidation.py:1025
CSCWireGeometry::narrowWidthOfPlane
double narrowWidthOfPlane() const
Definition: CSCWireGeometry.h:45
CSCWireGeometry::~CSCWireGeometry
virtual ~CSCWireGeometry()
Definition: CSCWireGeometry.h:19
CSCWireGeometry::lengthOfPlane
double lengthOfPlane() const
Definition: CSCWireGeometry.h:55
CSCWireGeometry::wireAngle
virtual float wireAngle() const =0
LocalPoint.h
CSCWireGeometry::wireEnds
std::pair< LocalPoint, LocalPoint > wireEnds(float wire) const
Definition: CSCWireGeometry.cc:32
CSCWireGeometry::yOfFirstWire
double yOfFirstWire() const
Definition: CSCWireGeometry.h:40
CSCWireGeometry::wideWidthOfPlane
double wideWidthOfPlane() const
Definition: CSCWireGeometry.h:50
CSCWireGeometry::intersection
LocalPoint intersection(float m1, float c1, float m2, float c2) const
Definition: CSCWireGeometry.cc:7
CSCWireGeometry::equationOfWire
std::pair< float, float > equationOfWire(float wire) const
Definition: CSCWireGeometry.cc:166
CSCWireGeometry::nearestWire
virtual int nearestWire(const LocalPoint &lp) const =0
CSCWireGeometry::wireValues
std::vector< float > wireValues(float wire) const
Definition: CSCWireGeometry.cc:16