28 std::bitset<32> binary_ID(ID);
31 uint32_t mask = (7<<25);
32 uint32_t iSubDet = ID & mask;
33 iSubDet = iSubDet >> 25;
42 for(uint32_t
i=0;
i<(
in)->components().size();
i++) {
43 uint32_t jSubDet = ((
in)->components())[
i]->geographicalID().rawId();
45 temp |= (jSubDet<<25);
46 ((
in)->components())[
i]->setGeographicalID(temp);
54 if( ((in)->components())[
i]->translation().z()<0. ) {
66 if( (((in)->components())[
i])->components()[0]->translation().z()<0. ) {
78 if( ((in)->components())[
i]->translation().z()<0. ) {
95 ((
in)->components())[
i]->setGeographicalID(
DetId(temp));
98 iterate(((in)->components())[
i],level+1,((in)->components())[
i]->geographicalID().rawId());
106 for (uint32_t
i=0;
i<(
in)->components().size();
i++) {
114 temp |= (((
in)->components())[
i]->geographicalID().rawId()<<16);
121 temp |= (((
in)->components())[
i]->geographicalID().rawId()<<16);
128 temp |= (((
in)->components())[
i]->geographicalID().rawId()<<14);
135 temp |= (((
in)->components())[
i]->geographicalID().rawId()<<11);
142 temp |= (((
in)->components())[
i]->geographicalID().rawId()<<14);
149 temp |= (((
in)->components())[
i]->geographicalID().rawId()<<14);
162 ((
in)->components())[
i]->setGeographicalID(temp);
165 iterate(((in)->components())[
i],level+1,((in)->components())[
i]->geographicalID().rawId());
174 for (uint32_t
i=0;
i<(
in)->components().size();
i++) {
183 temp |= (((
in)->components())[
i]->geographicalID().rawId()<<8);
184 ((
in)->components())[
i]->setGeographicalID(temp);
193 temp |= (((
in)->components())[
i]->geographicalID().rawId()<<8);
194 ((
in)->components())[
i]->setGeographicalID(temp);
203 temp |= (((
in)->components())[
i]->geographicalID().rawId()<<4);
204 ((
in)->components())[
i]->setGeographicalID(temp);
213 temp |= (((
in)->components())[
i]->geographicalID().rawId()<<9);
214 ((
in)->components())[
i]->setGeographicalID(
DetId(temp));
223 temp |= (((
in)->components())[
i]->geographicalID().rawId()<<5);
224 ((
in)->components())[
i]->setGeographicalID(temp);
233 temp |= (((
in)->components())[
i]->geographicalID().rawId()<<8);
234 ((
in)->components())[
i]->setGeographicalID(temp);
248 iterate(((in)->components())[
i],level+1,((in)->components())[
i]->geographicalID().rawId());
257 for (uint32_t
i=0;
i<(
in)->components().size();
i++) {
266 temp |= (((
in)->components())[
i]->geographicalID().rawId()<<5);
267 ((
in)->components())[
i]->setGeographicalID(temp);
275 temp |= (((
in)->components())[
i]->geographicalID().rawId()<<2);
276 ((
in)->components())[
i]->setGeographicalID(temp);
283 iterate(((in)->components())[
i],level+1,((in)->components())[
i]->geographicalID().rawId());
294 for (uint32_t
i=0;
i<(
in)->components().size();
i++) {
303 temp |= (((
in)->components())[
i]->geographicalID().rawId()<<2);
304 ((
in)->components())[
i]->setGeographicalID(temp);
306 iterate(((in)->components())[
i],level+1,((in)->components())[
i]->geographicalID().rawId());
313 for (uint32_t
i=0;
i<(
in)->components().size();
i++) {
315 temp |= (((
in)->components())[
i]->geographicalID().rawId());
316 ((
in)->components())[
i]->setGeographicalID(temp);
332 for (uint32_t
i=0;
i<(
in)->components().size();
i++) {
334 temp |= (((
in)->components())[
i]->geographicalID().rawId());
335 ((
in)->components())[
i]->setGeographicalID(temp);
void setGeographicalID(DetId id) const
DetId geographicalID() const
uint32_t rawId() const
get the raw id
void iterate(GeometricDet const *, int, unsigned int)
GeometricDet * buildId(GeometricDet *)