1 #ifndef DATAFORMATS_HCALDETID_HCALDETID_H 2 #define DATAFORMATS_HCALDETID_HCALDETID_H 1 56 ((tower_ieta>0)?(kHcalZsideMask2|(tower_ieta<<
kHcalEtaOffset2)):((-tower_ieta)<<kHcalEtaOffset2)) |
57 (tower_iphi&kHcalPhiMask2);
103 uint32_t rawid = gen.
rawId();
104 if (rawid ==
id_)
return true;
105 int zsid{0},
eta{0},
phi{0}, dep{0};
114 uint32_t rawid = gen.
rawId();
115 if (rawid ==
id_)
return false;
116 int zsid{0},
eta{0},
phi{0}, dep{0};
125 uint32_t rawid = gen.
rawId();
126 if ((rawid&kHcalIdFormat2)==(
id_&kHcalIdFormat2)) {
129 int zsid{0},
eta{0},
phi{0}, dep{0};
139 (
phi&kHcalPhiMask2));
151 else return (
id_&kHcalZsideMask2)?(1):(-1);
174 if (dep > 2) dep -= 2;
181 else return (
id_|kHcalDepthSet2);
202 uint32_t rawid(inpid);
203 if ((rawid&kHcalIdFormat2)==0) {
204 int zsid{0},
eta{0},
phi{0}, dep{0};
209 (
phi&kHcalPhiMask2));
215 uint32_t rawid = gen.
rawId();
216 if (rawid ==
id_)
return true;
217 int zsid{0},
eta{0},
phi{0}, dep{0};
218 if ((
id_&kHcalIdMask) != (rawid&kHcalIdMask))
return false;
229 int zsid{0},
eta{0},
phi{0}, dep{0};
244 int zsid{0},
eta{0},
phi{0}, dep{0};
261 int simple_iphi=((
iphi()-1)*5)+1;
263 return ((simple_iphi>360)?(simple_iphi-360):(simple_iphi));
267 int simple_iphi=((
iphi()-1)*5)+5;
269 return ((simple_iphi>360)?(simple_iphi-360):(simple_iphi));
282 if ((rawid&kHcalIdFormat2)==0) {
static const HcalDetId Undefined
static uint32_t kHcalDepthSet1
HcalDetId(HcalSubdetector subdet, int tower_ieta, int tower_iphi, int depth)
HcalSubdetector subdet() const
get the subdetector
static int32_t newForm(const uint32_t &inpid)
static uint32_t kHcalEtaMask2
HcalDetId & operator=(const DetId &gen)
constexpr bool null() const
is this a null id ?
int zside() const
get the z-side of the cell (1/-1)
static uint32_t kHcalZsideMask1
int crystal_iphi_low() const
get the smallest crystal_iphi of the crystal in front of this tower (HB and HE tower 17 only) ...
static uint32_t kHcalEtaOffset1
constexpr uint32_t rawId() const
get the raw id
static uint32_t kHcalIdMask
HcalDetId(const DetId &gen)
static const int kSubdetOffset
uint32_t maskDepth() const
get the tower depth
static uint32_t kHcalDepthSet2
int hfdepth() const
get full depth information for HF
bool operator!=(DetId gen) const
bool operator==(DetId gen) const
bool sameBaseDetId(const DetId &gen) const
base detId for HF dual channels
int depth() const
get the tower depth
static uint32_t kHcalDepthOffset1
HcalDetId(uint32_t rawid)
static const int kSubdetMask
int crystal_ieta_low() const
get the smallest crystal_ieta of the crystal in front of this tower (HB and HE tower 17 only) ...
std::ostream & operator<<(std::ostream &, const HcalDetId &id)
static uint32_t kHcalDepthMask2
static void unpackId(const uint32_t &rawid, int &zsid, int &eta, int &phi, int &dep)
static uint32_t kHcalPhiMask1
int ieta() const
get the cell ieta
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
HcalDetId baseDetId() const
static uint32_t kHcalEtaMask1
int ietaAbs() const
get the absolute value of the cell ieta
int iphi() const
get the cell iphi
uint32_t otherForm() const
change format
static uint32_t kHcalPhiMask2
static const int kDetMask
int crystal_ieta_high() const
get the largest crystal_ieta of the crystal in front of this tower (HB and HE tower 17 only) ...
static uint32_t kHcalEtaOffset2
static uint32_t kHcalDepthMask1
static uint32_t kHcalIdFormat2
static uint32_t kHcalZsideMask2
static const int kDetOffset
void newFromOld(const uint32_t &rawid)
bool operator<(DetId gen) const
int crystal_iphi_high() const
get the largest crystal_iphi of the crystal in front of this tower (HB and HE tower 17 only) ...
HcalDetId secondAnodeId() const
second PMT anode detId for HF dual channels
static uint32_t kHcalDepthOffset2
constexpr Detector det() const
get the detector field from this detid