CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/DataFormats/MuonDetId/interface/CSCTriggerNumbering.h

Go to the documentation of this file.
00001 #ifndef MuonDetId_CSCTriggerNumbering_h
00002 #define MuonDetId_CSCTriggerNumbering_h
00003 
00013 class CSCDetId;
00014 
00015 class CSCTriggerNumbering {
00016   
00017  public:
00018 
00019   CSCTriggerNumbering();
00020   ~CSCTriggerNumbering();
00021   
00046   static int triggerSectorFromLabels(int station, int ring, int chamber);
00047   static int triggerSectorFromLabels(CSCDetId id);
00048   
00058   static int triggerSubSectorFromLabels(int station, int chamber);
00059   static int triggerSubSectorFromLabels(CSCDetId id);
00060 
00074   static int triggerCscIdFromLabels(int station, int ring, int chamber);
00075   static int triggerCscIdFromLabels(CSCDetId id);
00076 
00089   static int ringFromTriggerLabels(int station, int triggerCSCID);
00090 
00097   static int chamberFromTriggerLabels(int TriggerSector, int TriggerSubSector, int station, int TriggerCSCID);
00098 
00106   static int sectorFromTriggerLabels(int TriggerSector, int TriggerSubSector, int station);
00107 
00112   static int maxTriggerCscId()        { return MAX_CSCID; }
00113   static int minTriggerCscId()        { return MIN_CSCID; }
00114   static int maxTriggerSectorId()     { return MAX_TRIGSECTOR; }
00115   static int minTriggerSectorId()     { return MIN_TRIGSECTOR; }
00116   static int maxTriggerSubSectorId()  { return MAX_TRIGSUBSECTOR; }
00117   static int minTriggerSubSectorId()  { return MIN_TRIGSUBSECTOR+1; }
00118 
00119  private:
00120 
00121   // Below are counts for trigger based labels.
00122   
00123   // Max counts for trigger labels.
00124   enum eTrigMaxNum{ MAX_TRIGSECTOR=6, MAX_CSCID=9, MAX_TRIGSUBSECTOR = 2 };
00125 
00126   // Min counts for trigger labels. Again, we count from one.
00127   enum eTrigMinNum{ MIN_TRIGSECTOR=1, MIN_CSCID=1, MIN_TRIGSUBSECTOR = 0 };
00128 };
00129 
00130 #endif