CMS 3D CMS Logo

RPCDetInfo.h

Go to the documentation of this file.
00001 #ifndef L1Trigger_RPCDetInfo_h
00002 #define L1Trigger_RPCDetInfo_h
00003 
00004 
00016 #include "DataFormats/MuonDetId/interface/RPCDetId.h"
00017 #include <Geometry/RPCGeometry/interface/RPCGeometry.h> // To have RPCRoll. check if needed
00018 #include <Geometry/Records/interface/MuonGeometryRecord.h>
00019 
00020 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00021 
00022 
00023 #include <Geometry/CommonTopologies/interface/RectangularStripTopology.h> // XXX
00024 #include <Geometry/CommonTopologies/interface/TrapezoidalStripTopology.h>
00025 
00026 class RPCDetInfo{
00027 
00028   public:
00029     typedef std::map<int, float> RPCStripPhiMap;
00030     
00031     
00032     
00033     RPCDetInfo(){ }; // To be able to use map
00034     RPCDetInfo(RPCRoll* roll);
00035 
00036     uint32_t rawId();
00037     float getPhi();
00038     float getMinPhi();
00039     float getMaxPhi();
00040     float getEtaCentre();
00041     int getRingFromRollsId();
00042     //void setEtaMin(float);
00043     //void setEtaMax(float);
00044     int getMinTower();
00045     int getMaxTower();
00046     int getRegion();
00047     int getRing();
00048     int getHwPlane(); 
00049     int getRoll();
00050     int getGlobRollNo();
00051 
00052     RPCStripPhiMap getRPCStripPhiMap();
00053     //int giveNextStripInPhi(int);
00054     //int givePrevStripInPhi(int);
00055     int giveStripOfPhi(float);
00056         
00057     void printContents();
00058     int etaToTower(float eta);
00059 
00060   private:
00061     void setHwPlane(); 
00062     int etaToSign(float eta);
00063     //int getHwPlane(int region, int station, int layer);
00064     float transformPhi(float phi);
00065     void makeStripPhiMap(RPCRoll* roll);
00066   // Members
00067   
00068     
00069   private:
00070 
00071     uint32_t m_detId; 
00072     int m_region; 
00073     int m_ring;   
00074     int m_station;
00075     int m_layer;  
00076     int m_roll;   
00077     int m_sector; 
00078     int m_subsector; 
00079     int m_hwPlane; 
00080     float m_etaMin;  
00081     float m_etaMax;  
00082     float m_etaCentre; 
00083     float m_phi;    
00084     float m_phiMin; 
00085     float m_phiMax; 
00086     int m_towerMin; 
00087     int m_towerMax; 
00088     int m_globRoll; 
00089     static const float m_towerBounds[]; 
00090     
00091     
00092     RPCStripPhiMap m_stripPhiMap;
00093     
00094 };
00095 #endif

Generated on Tue Jun 9 17:40:20 2009 for CMSSW by  doxygen 1.5.4