CMS 3D CMS Logo

EcalPnDiodeDetId.h
Go to the documentation of this file.
1 #ifndef ECALDETID_ECALPNDIODEDETID_H
2 #define ECALDETID_ECALPNDIODEDETID_H
3 
4 #include <ostream>
7 
22 class EcalPnDiodeDetId : public DetId {
23 public:
27  EcalPnDiodeDetId(uint32_t rawid);
30  EcalPnDiodeDetId(int EcalSubDetectorId, int DCCId, int PnId);
32  EcalPnDiodeDetId(const DetId& id);
34  EcalPnDiodeDetId& operator=(const DetId& id);
35 
36  static const int MAX_DCCID = 54;
37  static const int MIN_DCCID = 1;
38  static const int MAX_PNID = 15;
39  static const int MIN_PNID = 1;
40 
42  int iEcalSubDetectorId() const { return (id_ & 0x800) ? (EcalEndcap) : (EcalBarrel); }
44  int iDCCId() const { return (id_ >> 4) & 0x7F; }
46  int iPnId() const { return id_ & 0xF; }
48  int hashedIndex() const;
49 };
50 
51 std::ostream& operator<<(std::ostream&, const EcalPnDiodeDetId& id);
52 
53 #endif
operator<<
std::ostream & operator<<(std::ostream &, const EcalPnDiodeDetId &id)
Definition: EcalPnDiodeDetId.cc:32
EcalPnDiodeDetId::iPnId
int iPnId() const
get the PnId
Definition: EcalPnDiodeDetId.h:46
EcalPnDiodeDetId
Definition: EcalPnDiodeDetId.h:22
EcalPnDiodeDetId::iEcalSubDetectorId
int iEcalSubDetectorId() const
get EcalSubDetectorId
Definition: EcalPnDiodeDetId.h:42
EcalBarrel
Definition: EcalSubdetector.h:10
DetId
Definition: DetId.h:17
EcalPnDiodeDetId::hashedIndex
int hashedIndex() const
get a compact index for arrays [TODO: NEEDS WORK]
Definition: EcalPnDiodeDetId.cc:30
EcalSubdetector.h
EcalEndcap
Definition: EcalSubdetector.h:10
EcalPnDiodeDetId::MIN_PNID
static const int MIN_PNID
Definition: EcalPnDiodeDetId.h:39
EcalPnDiodeDetId::iDCCId
int iDCCId() const
get the DCCId
Definition: EcalPnDiodeDetId.h:44
DetId::id_
uint32_t id_
Definition: DetId.h:69
EcalPnDiodeDetId::EcalPnDiodeDetId
EcalPnDiodeDetId()
Definition: EcalPnDiodeDetId.cc:4
EcalPnDiodeDetId::operator=
EcalPnDiodeDetId & operator=(const DetId &id)
Definition: EcalPnDiodeDetId.cc:22
DetId.h
EcalPnDiodeDetId::MAX_DCCID
static const int MAX_DCCID
Definition: EcalPnDiodeDetId.h:36
EcalPnDiodeDetId::MIN_DCCID
static const int MIN_DCCID
Definition: EcalPnDiodeDetId.h:37
EcalPnDiodeDetId::MAX_PNID
static const int MAX_PNID
Definition: EcalPnDiodeDetId.h:38