Go to the documentation of this file.00001
00002
00003
00005 #include "SimDataFormats/CaloTest/interface/HcalTestNumbering.h"
00006
00007 uint32_t HcalTestNumbering::packHcalIndex(int det, int z, int depth,
00008 int eta, int phi, int lay) {
00009
00010 uint32_t idx=(det&15)<<28;
00011 idx+=((depth-1)&3)<<26;
00012 idx+=((lay-1)&31)<<21;
00013 idx+=(z&1)<<20;
00014 idx+=(eta&1023)<<10;
00015 idx+=(phi&1023);
00016
00017 return idx;
00018
00019 }
00020
00021 void HcalTestNumbering::unpackHcalIndex(const uint32_t & idx, int& det, int& z,
00022 int& depth, int& eta, int& phi,
00023 int& lay) {
00024 det = (idx>>28)&15;
00025 depth= (idx>>26)&3; depth+=1;
00026 lay = (idx>>21)&31; lay+=1;
00027 z = (idx>>20)&1;
00028 eta = (idx>>10)&1023;
00029 phi = (idx&1023);
00030 }