7 : hdcons_(hdcons), subdet_(sub), type_(type) {
15 <<
" cells along Z|Eta and " << nPhi_ <<
" cells along phi: total channels " <<
kSizeForDenseIndexing <<
":" 32 int iPhi = (di %
nPhi_);
85 id_.
iEtaZ =
id.ieta();
86 id_.
iType =
id.type();
87 id_.
zside =
id.zside();
88 id_.
subdet =
id.subdetId();
99 int iEtaZ = id_.
iEtaZ + nrStepsX;
100 int iPhi = id_.
iPhi + nrStepsY;
103 else if (iPhi >
nPhi_)
105 if (id_.
iType == 1 && iEtaZ < 0) {
112 if (
valid(nextPoint))
DecodedDetId decode(const DetId &id) const
unsigned int totalGeomModules() const
bool isValidXY(int type, int izeta, int iphi) const
ForwardSubdetector subdet_
int numberEtaZ(int type) const
DetId switchZSide(const DetId startId) const
DetId denseId2detId(uint32_t denseId) const override
DetId changeXY(const DetId &id, int nrStepsX, int nrStepsY) const
move the nagivator along x, y
int numberPhi(int type) const
unsigned int kSizeForDenseIndexing
virtual uint32_t detId2denseGeomId(const DetId &id) const
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
DecodedDetId geomDenseId2decId(const uint32_t &hi) const
const FastTimeDDDConstants & hdcons_
#define TYPELOOKUP_DATA_REG(_dataclass_)
bool valid(const DetId &id) const override
Is this a valid cell id.
FastTimeTopology(const FastTimeDDDConstants &hdcons, ForwardSubdetector subdet, int type)
create a new Topology
DetId encode(const DecodedDetId &id_) const
bool validHashIndex(uint32_t ix) const
DetId offsetBy(const DetId startId, int nrStepsX, int nrStepsY) const
uint32_t detId2denseId(const DetId &id) const override
Dense indexing.
constexpr Detector det() const
get the detector field from this detid