CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_1/src/Geometry/CSCGeometry/src/CSCSlantedWireGeometry.h

Go to the documentation of this file.
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