15 edm::LogError(
"WrongConfiguration") <<
"Wrong configuration of TrackerGeometricDetESModule. Vector of " 16 << detidShifts.size() <<
" elements provided";
25 LogDebug(
"BuildingTrackerDetId") <<
"Starting to build Tracker DetIds";
33 std::bitset<32> binary_ID(
ID);
36 uint32_t
mask = (7 << 25);
37 uint32_t iSubDet =
ID &
mask;
38 iSubDet = iSubDet >> 25;
46 for (uint32_t
i = 0;
i <
in.components().size();
i++) {
50 temp |= (iSubDet << 25);
58 negside = component->
components().front()->translation().z() <
61 <<
"Is negative endcap? " << negside <<
", because z translation is " << component->
translation().z()
62 <<
" and component z translation is " << component->
components().front()->translation().z();
72 iterate(*component,
level + 1, (
in.components())[
i]->geographicalId().rawId());
78 for (uint32_t
i = 0;
i <
in.components().size();
i++) {
79 auto component =
in.component(
i);
86 component->setGeographicalID(
temp);
88 iterate(*component,
level + 1, (
in.components())[
i]->geographicalId().rawId());
CmsTrackerDetIdBuilder(const std::vector< int > &detidShifts)
static const unsigned int nSubDet
void iterate(GeometricDet &det, int level, unsigned int ID)
void setGeographicalID(DetId id)
static const int maxLevels
ConstGeometricDetContainer & components()
void buildId(GeometricDet &det)
const Translation & translation() const
Abs< T >::type abs(const T &t)
const DetId & geographicalId() const
constexpr uint32_t rawId() const
get the raw id
std::array< int, nSubDet *maxLevels > m_detidshifts