00001 #ifndef DATAFORMATS_HCALDETID_HCALTRIGTOWERDETID_H 00002 #define DATAFORMATS_HCALDETID_HCALTRIGTOWERDETID_H 1 00003 00004 #include <ostream> 00005 #include "DataFormats/DetId/interface/DetId.h" 00006 #include "DataFormats/HcalDetId/interface/HcalSubdetector.h" 00007 00016 class HcalTrigTowerDetId : public DetId { 00017 public: 00019 HcalTrigTowerDetId(); 00021 HcalTrigTowerDetId(uint32_t rawid); 00024 HcalTrigTowerDetId(int ieta, int iphi); 00025 00027 HcalTrigTowerDetId(const DetId& id); 00029 HcalTrigTowerDetId& operator=(const DetId& id); 00030 00032 HcalSubdetector subdet() const { return (HcalSubdetector)(subdetId()); } 00034 int zside() const { return (id_&0x2000)?(1):(-1); } 00036 int ietaAbs() const { return (id_>>7)&0x3f; } 00038 int ieta() const { return zside()*ietaAbs(); } 00040 int iphi() const { return id_&0x7F; } 00041 00042 static const HcalTrigTowerDetId Undefined; 00043 00044 }; 00045 00046 std::ostream& operator<<(std::ostream&,const HcalTrigTowerDetId& id); 00047 00048 00049 #endif