CMS 3D CMS Logo

RPCRoll.h

Go to the documentation of this file.
00001 #ifndef Geometry_RPCSimAlgo_RPCRoll_H
00002 #define Geometry_RPCSimAlgo_RPCRoll_H
00003 
00004 #include "Geometry/CommonDetUnit/interface/GeomDetUnit.h"
00005 #include "Geometry/CommonDetUnit/interface/GeomDetType.h"
00006 #include "DataFormats/MuonDetId/interface/RPCDetId.h"
00007 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00008 
00009 class StripTopology;
00010 class RPCRollSpecs;
00011 class RPCChamber;
00012 class RPCRoll : public GeomDetUnit{
00013 
00014  public:
00015   
00016   RPCRoll(RPCDetId id, BoundPlane::BoundPlanePointer bp, RPCRollSpecs* rrs);
00017   ~RPCRoll();
00018   const RPCRollSpecs* specs() const;
00019   DetId geographicalId() const;
00020   RPCDetId id() const;
00021   const Topology& topology() const;
00022   const StripTopology& specificTopology() const;
00023   const GeomDetType& type() const; 
00024  
00026   const RPCChamber* chamber() const;
00027   
00028   int nstrips() const;
00029 
00030   LocalPoint  centreOfStrip(int strip) const;
00031   LocalPoint  centreOfStrip(float strip) const;
00032   LocalError  localError(float strip) const;
00033 
00034   float strip(const LocalPoint& lp) const;
00035   float pitch() const;
00036   float localPitch(const LocalPoint& lp) const; 
00037   bool isBarrel() const; 
00038   bool isForward() const;
00039   
00040  private:
00041   void setChamber(const RPCChamber* ch);
00042 
00043  private:
00044   RPCDetId _id;
00045   RPCRollSpecs* _rrs;
00046   const RPCChamber* theCh; // NOT owned
00047 };
00048 
00049 #endif

Generated on Tue Jun 9 17:37:32 2009 for CMSSW by  doxygen 1.5.4