CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2_patch1/src/DataFormats/HcalDetId/interface/HcalTrigTowerDetId.h

Go to the documentation of this file.
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);
00027   HcalTrigTowerDetId(int ieta, int iphi, int depth);
00028 
00030   HcalTrigTowerDetId(const DetId& id);
00032   HcalTrigTowerDetId& operator=(const DetId& id);
00033 
00035   HcalSubdetector subdet() const { return (HcalSubdetector)(subdetId()); }
00037   int zside() const { return (id_&0x2000)?(1):(-1); }
00039   int ietaAbs() const { return (id_>>7)&0x3f; }
00041   int ieta() const { return zside()*ietaAbs(); }
00043   int iphi() const { return id_&0x7F; }
00045   int depth() const { return (id_>>14)&0x7; }
00046 
00047   static const HcalTrigTowerDetId Undefined;
00048 
00049 };
00050 
00051 std::ostream& operator<<(std::ostream&,const HcalTrigTowerDetId& id);
00052 
00053 
00054 #endif