CMS 3D CMS Logo

CaloGenericDetId.h
Go to the documentation of this file.
1 #ifndef CALOGEOMETRY_CALOGENERICDETID_H
2 #define CALOGEOMETRY_CALOGENERICDETID_H
3 
11 
12 class CaloGenericDetId : public DetId {
13 public:
14  // CaloGenericDetId() {}
15  CaloGenericDetId(uint32_t rawid) : DetId(rawid) {}
16 
17  CaloGenericDetId(const DetId& id) : DetId(id) {}
18 
19  CaloGenericDetId(DetId::Detector iDet, int iSub,
20  uint32_t iDenseIndex); // to check valid iDenseIndex
21 
22  bool validDetId() const;
23 
24  uint32_t denseIndex() const;
25 
26  uint32_t sizeForDenseIndexing() const;
27 
28  bool isEcal() const { return det() == DetId::Ecal; }
29  bool isEB() const { return isEcal() && subdetId() == EBDetId::Subdet; }
30  bool isEE() const { return isEcal() && subdetId() == EEDetId::Subdet; }
31  bool isES() const { return isEcal() && subdetId() == ESDetId::Subdet; }
32  bool isCalo() const { return det() == DetId::Calo; }
33  bool isHcal() const { return det() == DetId::Hcal; }
34  bool isZDC() const { return isCalo() && subdetId() == HcalZDCDetId::SubdetectorId; }
35  bool isCastor() const { return isCalo() && subdetId() == HcalCastorDetId::SubdetectorId; }
36  bool isCaloTower() const { return isCalo() && subdetId() == CaloTowerDetId::SubdetId; }
37 };
38 
39 std::ostream& operator<<(std::ostream& s, const CaloGenericDetId& id);
40 
41 #endif
CaloGenericDetId(const DetId &id)
uint32_t denseIndex() const
constexpr Detector det() const
get the detector field from this detid
Definition: DetId.h:46
static const int SubdetId
bool isES() const
bool isHcal() const
bool validDetId() const
std::ostream & operator<<(std::ostream &s, const CaloGenericDetId &id)
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
CaloGenericDetId(uint32_t rawid)
bool isCaloTower() const
static const int SubdetectorId
bool isEcal() const
Definition: DetId.h:17
bool isEB() const
Detector
Definition: DetId.h:24
bool isEE() const
uint32_t sizeForDenseIndexing() const
static constexpr int32_t SubdetectorId
Definition: HcalZDCDetId.h:35
bool isCastor() const
bool isCalo() const
bool isZDC() const