CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/L1Trigger/CSCCommonTrigger/interface/CSCTriggerGeomManager.h

Go to the documentation of this file.
00001 #ifndef CSCCommonTrigger_CSCTriggerGeomManager_h
00002 #define CSCCommonTrigger_CSCTriggerGeomManager_h
00003 
00004 
00017 #include <FWCore/Framework/interface/ESHandle.h>
00018 #include <Geometry/CSCGeometry/interface/CSCGeometry.h>
00019 #include <vector>
00020 
00021 class CSCTriggerGeomManager
00022 {
00023  public:
00024 
00025   CSCTriggerGeomManager():geom(0) {}
00026   CSCTriggerGeomManager(const CSCTriggerGeomManager& parent):geom(parent.geom) {}
00027   ~CSCTriggerGeomManager() {}
00028 
00029   void setGeometry(const edm::ESHandle<CSCGeometry>& thegeom) { geom = const_cast<CSCGeometry*>(thegeom.product()); }
00030   
00032   std::vector<CSCChamber*> sectorOfChambersInStation(unsigned endcap, unsigned station, 
00033                                                      unsigned sector, unsigned subsector) const;
00034 
00036   CSCChamber* chamber(unsigned endcap, unsigned station, unsigned sector,
00037                       unsigned subsector, unsigned tcscid) const;
00038 
00039  private:
00040 
00041   CSCGeometry* geom;
00042 
00043 };
00044 
00045 #endif