1 #ifndef ECALDETID_ESDETID_H 2 #define ECALDETID_ESDETID_H 31 (((plane-1)&0
x1)<<18) |
34 if (doverify)
verify(strip, ixs, iys, plane, iz);
45 int zside()
const {
return (
id_&0x80000)?(1):(-1); }
49 int six()
const {
return (
id_>>6)&0x3F; }
51 int siy()
const {
return (
id_>>12)&0x3F; }
67 static bool validDetId(
int istrip,
int ixs,
int iys,
int iplane,
int iz) ;
68 static void verify(
int istrip,
int ixs,
int iys,
int iplane,
int iz) ;
91 kNb =PLANE_MAX - PLANE_MIN + 1,
93 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]