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