00001 #ifndef CSC_SLANTED_WIRE_GEOMETRY_H 00002 #define CSC_SLANTED_WIRE_GEOMETRY_H 00003 00012 #include "Geometry/CSCGeometry/interface/CSCWireGeometry.h" 00013 #include "DataFormats/GeometryVector/interface/LocalPoint.h" 00014 00015 class CSCSlantedWireGeometry : public CSCWireGeometry { 00016 public: 00017 virtual ~CSCSlantedWireGeometry() {} 00018 00022 CSCSlantedWireGeometry( double wireSpacing, double yOfFirstWire, 00023 double narrow, double wide, double length, 00024 float wireAngle ); 00025 00029 float wireAngle() const { return theWireAngle; } 00030 00035 int nearestWire(const LocalPoint& lp) const; 00036 00040 float yOfWire(float wire, float x=0.) const; 00041 00046 CSCWireGeometry* clone() const { 00047 return new CSCSlantedWireGeometry(*this); 00048 } 00049 00050 private: 00051 float theWireAngle; 00052 float cosWireAngle; 00053 float sinWireAngle; 00054 float theWireOffset; // local y of first wire * cos(wire angle) 00055 00056 }; 00057 00058 #endif