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 
8 
24 class EcalPnDiodeDetId : public DetId {
25  public:
29  EcalPnDiodeDetId(uint32_t rawid);
32  EcalPnDiodeDetId(int EcalSubDetectorId, int DCCId, int PnId);
34  EcalPnDiodeDetId(const DetId& id);
36  EcalPnDiodeDetId& operator=(const DetId& id);
37 
38  static const int MAX_DCCID = 54;
39  static const int MIN_DCCID = 1;
40  static const int MAX_PNID = 15;
41  static const int MIN_PNID = 1;
42 
44  int iEcalSubDetectorId() const { return (id_ & 0x800 ) ? (EcalEndcap):(EcalBarrel); }
46  int iDCCId() const { return (id_>>4) & 0x7F; }
48  int iPnId() const { return id_&0xF; }
50  int hashedIndex() const;
51 
52 };
53 
54 std::ostream& operator<<(std::ostream&,const EcalPnDiodeDetId& id);
55 
56 #endif
EcalPnDiodeDetId & operator=(const DetId &id)
static const int MIN_DCCID
int iPnId() const
get the PnId
static const int MAX_PNID
int iEcalSubDetectorId() const
get EcalSubDetectorId
std::ostream & operator<<(std::ostream &, const EcalPnDiodeDetId &id)
static const int MAX_DCCID
int iDCCId() const
get the DCCId
Definition: DetId.h:18
int hashedIndex() const
get a compact index for arrays [TODO: NEEDS WORK]
uint32_t id_
Definition: DetId.h:62
static const int MIN_PNID