CMS 3D CMS Logo

HcalTrigTowerDetId.h
Go to the documentation of this file.
1 #ifndef DATAFORMATS_HCALDETID_HCALTRIGTOWERDETID_H
2 #define DATAFORMATS_HCALDETID_HCALTRIGTOWERDETID_H 1
3 
4 #include <ostream>
7 
14 class HcalTrigTowerDetId : public DetId {
15 public:
16  static const int kHcalPhiMask = 0x7F;
17  static const int kHcalEtaOffset = 7;
18  static const int kHcalEtaMask = 0x3F;
19  static const int kHcalZsideMask = 0x2000;
20  static const int kHcalDepthOffset = 14;
21  static const int kHcalDepthMask = 0x7;
22  static const int kHcalVersOffset = 17;
23  static const int kHcalVersMask = 0x7;
24 
25 public:
29  HcalTrigTowerDetId(uint32_t rawid);
32  HcalTrigTowerDetId(int ieta, int iphi);
35  HcalTrigTowerDetId(int ieta, int iphi, int depth);
38  HcalTrigTowerDetId(int ieta, int iphi, int depth, int version);
39 
41  HcalTrigTowerDetId(const DetId& id);
44 
45  void setVersion(int version);
46 
50  int zside() const { return (id_ & kHcalZsideMask) ? (1) : (-1); }
52  int ietaAbs() const { return (id_ >> kHcalEtaOffset) & kHcalEtaMask; }
54  int ieta() const { return zside() * ietaAbs(); }
56  int iphi() const { return id_ & kHcalPhiMask; }
58  int depth() const { return (id_ >> kHcalDepthOffset) & kHcalDepthMask; }
60  int version() const { return (id_ >> kHcalVersOffset) & kHcalVersMask; }
61 
63 };
64 
65 std::ostream& operator<<(std::ostream&, const HcalTrigTowerDetId& id);
66 
67 #endif
HcalTrigTowerDetId::kHcalPhiMask
static const int kHcalPhiMask
Definition: HcalTrigTowerDetId.h:16
HcalTrigTowerDetId::ieta
int ieta() const
get the tower ieta
Definition: HcalTrigTowerDetId.h:54
HcalTrigTowerDetId::operator=
HcalTrigTowerDetId & operator=(const DetId &id)
Definition: HcalTrigTowerDetId.cc:53
HcalTrigTowerDetId::kHcalDepthOffset
static const int kHcalDepthOffset
Definition: HcalTrigTowerDetId.h:20
HcalTrigTowerDetId::zside
int zside() const
get the z-side of the tower (1/-1)
Definition: HcalTrigTowerDetId.h:50
HcalTrigTowerDetId::kHcalEtaOffset
static const int kHcalEtaOffset
Definition: HcalTrigTowerDetId.h:17
HcalTrigTowerDetId::ietaAbs
int ietaAbs() const
get the absolute value of the tower ieta
Definition: HcalTrigTowerDetId.h:52
DetId
Definition: DetId.h:17
HcalTrigTowerDetId::HcalTrigTowerDetId
HcalTrigTowerDetId()
Definition: HcalTrigTowerDetId.cc:7
HcalTrigTowerDetId::kHcalVersOffset
static const int kHcalVersOffset
Definition: HcalTrigTowerDetId.h:22
HcalTrigTowerDetId::version
int version() const
get the version code for the trigger tower
Definition: HcalTrigTowerDetId.h:60
DetId::subdetId
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
Definition: DetId.h:48
HcalTrigTowerDetId::setVersion
void setVersion(int version)
Definition: HcalTrigTowerDetId.cc:51
DetId::id_
uint32_t id_
Definition: DetId.h:69
HcalTrigTowerDetId::Undefined
static const HcalTrigTowerDetId Undefined
Definition: HcalTrigTowerDetId.h:62
HcalTrigTowerDetId::depth
int depth() const
get the depth (zero for LHC Run 1, may be nonzero for later runs)
Definition: HcalTrigTowerDetId.h:58
HcalSubdetector.h
HcalTrigTowerDetId::kHcalZsideMask
static const int kHcalZsideMask
Definition: HcalTrigTowerDetId.h:19
HcalSubdetector
HcalSubdetector
Definition: HcalAssistant.h:31
HcalTrigTowerDetId::kHcalDepthMask
static const int kHcalDepthMask
Definition: HcalTrigTowerDetId.h:21
HcalTrigTowerDetId::kHcalEtaMask
static const int kHcalEtaMask
Definition: HcalTrigTowerDetId.h:18
HcalTrigTowerDetId::iphi
int iphi() const
get the tower iphi
Definition: HcalTrigTowerDetId.h:56
DetId.h
operator<<
std::ostream & operator<<(std::ostream &, const HcalTrigTowerDetId &id)
Definition: HcalTrigTowerDetId.cc:62
HcalTrigTowerDetId::kHcalVersMask
static const int kHcalVersMask
Definition: HcalTrigTowerDetId.h:23
HcalTrigTowerDetId::subdet
HcalSubdetector subdet() const
get the subdetector
Definition: HcalTrigTowerDetId.h:48
HcalTrigTowerDetId
Definition: HcalTrigTowerDetId.h:14