CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CaloTowerDetId.h
Go to the documentation of this file.
1 #ifndef DATAFORMATS_CALOTOWERS_CALOTOWERDETID_H
2 #define DATAFORMATS_CALOTOWERS_CALOTOWERDETID_H 1
3 
5 
12 class CaloTowerDetId : public DetId {
13 public:
17  explicit CaloTowerDetId(uint32_t rawid);
19  CaloTowerDetId(int tower_ieta, int tower_iphi);
21  CaloTowerDetId(const DetId& id);
23  CaloTowerDetId& operator=(const DetId& id);
24 
26  int zside() const { return (id_&0x2000)?(1):(-1); }
28  int ietaAbs() const { return (id_>>7)&0x3f; }
30  int ieta() const { return zside()*ietaAbs(); }
32  int iphi() const;
33 
34  static const int SubdetId = 1;
35 
36  static bool validDetId( int ie , int ip ) ;
37 
38  uint32_t denseIndex() const ;
39 
40  static CaloTowerDetId detIdFromDenseIndex( uint32_t din ) ;
41 
42  static bool validDenseIndex( uint32_t din ) { return ( din < kSizeForDenseIndexing ) ; }
43 
44  enum { kMaxIEta = 41 ,
45  kMaxIPhi = 72 ,
49  kBarIEta = 20 ,
50  kEndIEta = 39 ,
59  kNIndex = 2*kAllNTot } ;
60 
62 
63 };
64 
65 std::ostream& operator<<(std::ostream&, const CaloTowerDetId& id);
66 
67 #endif
static bool validDetId(int ie, int ip)
int ietaAbs() const
get the absolute value of the tower ieta
uint32_t denseIndex() const
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:187
static CaloTowerDetId detIdFromDenseIndex(uint32_t din)
CaloTowerDetId & operator=(const DetId &id)
static const int SubdetId
int iphi() const
get the tower iphi
Definition: DetId.h:18
uint32_t id_
Definition: DetId.h:55
int zside() const
get the z-side of the tower (1/-1)
static bool validDenseIndex(uint32_t din)
int ieta() const
get the tower ieta