00001 #ifndef L1CALOREGIONDETID_H 00002 #define L1CALOREGIONDETID_H 00003 00004 #include "DataFormats/DetId/interface/DetId.h" 00005 00020 class L1CaloRegionDetId : public DetId { 00021 00022 public: 00023 00024 static const unsigned N_PHI; 00025 static const unsigned N_ETA; 00026 00028 L1CaloRegionDetId(); 00029 00031 L1CaloRegionDetId(uint32_t rawid); 00032 00034 L1CaloRegionDetId(unsigned ieta, unsigned iphi); 00035 00038 L1CaloRegionDetId(unsigned icrate, unsigned icard, unsigned irgn); 00039 00041 unsigned ieta() const { return id_&0x1f; } 00042 00044 unsigned iphi() const { return (id_>>5)&0x1f; } 00045 00047 bool isHf() const { return (ieta()<4 || ieta()>17); } 00048 00050 unsigned rctCrate() const; 00051 00053 unsigned rctCard() const; 00054 00056 unsigned rctRegion() const; 00057 00059 unsigned rctEta() const { return (ieta()<11 ? 10-ieta() : ieta()-11); } 00060 00062 unsigned rctPhi() const { return (iphi()%2); } 00063 00064 }; 00065 00066 #endif