1 #ifndef ECALDETID_ESDETID_H 2 #define ECALDETID_ESDETID_H 25 id_ |= (strip & 0x3F) | ((ixs & 0x3F) << 6) | ((iys & 0x3F) << 12) | (((plane - 1) & 0
x1) << 18) |
26 ((iz > 0) ? (1 << 19) : (0));
28 verify(strip, ixs, iys, plane, iz);
39 int zside()
const {
return (
id_ & 0x80000) ? (1) : (-1); }
43 int six()
const {
return (
id_ >> 6) & 0x3F; }
45 int siy()
const {
return (
id_ >> 12) & 0x3F; }
61 static bool validDetId(
int istrip,
int ixs,
int iys,
int iplane,
int iz);
62 static void verify(
int istrip,
int ixs,
int iys,
int iplane,
int iz);
84 kNb = PLANE_MAX - PLANE_MIN + 1,
86 kNd = ISTRIP_MAX - ISTRIP_MIN + 1,
static bool validDenseIndex(uint32_t din)
ESDetId(int strip, int ixs, int iys, int plane, int iz, bool doverify=false)
constructor from strip, ix, iy, plane, and iz
static const unsigned short hy2[kXYMAX]
static const unsigned short hxy2[kXMAX][kYMAX]
constexpr bool null() const
is this a null id ?
static const unsigned short hy1[kXYMAX]
constexpr uint32_t rawId() const
get the raw id
static const int ISTRIP_MAX
ESDetId & operator=(const DetId &id)
static const int PLANE_MIN
static void verify(int istrip, int ixs, int iys, int iplane, int iz)
static const int PLANE_MAX
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
std::ostream & operator<<(std::ostream &, const ESDetId &id)
static ESDetId detIdFromDenseIndex(uint32_t din)
uint32_t denseIndex() const
static const unsigned short hxy1[kXMAX][kYMAX]
static const unsigned short hx2[kXYMAX]
static bool validDetId(int istrip, int ixs, int iys, int iplane, int iz)
check if a valid index combination
static ESDetId unhashIndex(int hi)
get a DetId from a compact index for arrays
EcalSubdetector subdet() const
get the subdetector
static const unsigned short hx1[kXYMAX]
static const int ISTRIP_MIN
static bool validHashIndex(int hi)
constexpr Detector det() const
get the detector field from this detid
int hashedIndex() const
get a compact index for arrays [TODO: NEEDS WORK]