129 uint32_t column)
const
142 unsigned int rowsPerFE = 0;
143 int column_row_offset = 0;
146 column_row_offset = -1;
162 row = row + column_row_offset;
163 column = column + column_row_offset;
166 ATH_MSG_DEBUG(
"Illegal pixel requested OfflineID: " << std::hex << offlineId << std::dec <<
" FE: " << FE <<
" row: " << row <<
" column: " << column);
174 unsigned int phi_index, eta_index;
178 eta_index = rowsPerFE-1-row;
183 phi_index = columnsPerFE-1-column;
188 phi_index = rowsPerFE-1-row;
189 eta_index = FE*columnsPerFE+column;
193 phi_index = rowsPerFE-1-row;
194 eta_index = FE*columnsPerFE+column;
198 if (FE<FEsPerHalfModule) {
199 phi_index = ((2*rowsPerFE)-1)-row;
200 eta_index = ((columnsPerFE*FEsPerHalfModule)-1)-(column+(FE*columnsPerFE));
204 eta_index = ((FE-FEsPerHalfModule)*columnsPerFE)+column;
208 if ((
m_idHelper->phi_module(offlineId))%2==0) {
209 phi_index = 2*rowsPerFE-phi_index-1;
210 ATH_MSG_DEBUG(
"Even disk module found, phi module: " <<
m_idHelper->phi_module(offlineId) <<
" swapped phi index to : " << phi_index);
219 unsigned int eta_index_max =
m_idHelper->eta_index_max(offlineId);
220 unsigned int phi_index_max =
m_idHelper->phi_index_max(offlineId);
221 if (eta_index>eta_index_max) {
222 ATH_MSG_DEBUG(
"Error! eta_index: " << eta_index <<
" > eta_index_max: " << eta_index_max);
224 if (phi_index>phi_index_max) {
225 ATH_MSG_DEBUG(
"Error! phi_index: " << phi_index <<
" > phi_index_max: " << phi_index_max);
228 uint32_t check_FE =
getFE(diodeId, offlineId);
229 uint32_t check_row =
getRow(diodeId, offlineId) + column_row_offset;
230 uint32_t check_column =
getColumn(diodeId, offlineId) + column_row_offset;
231 if (check_FE!=FE || check_row!=row || check_column!=column) {
232 ATH_MSG_WARNING(
"identify OfflineID: 0x" << std::hex << offlineId << std::dec <<
" FE: " << FE <<
" row: " << row <<
" column: " << column <<
" unequal to:");
233 ATH_MSG_WARNING(
"identify PixelID: 0x" << std::hex << diodeId << std::dec <<
" FE: " << check_FE <<
" row: " << check_row <<
" column: " << check_column);
324 unsigned int rowsPerFE = 0;
325 int column_offset = 0;
336 unsigned int phi_index =
m_idHelper->phi_index(diodeId);
337 int eta_index =
m_idHelper->eta_index(diodeId);
349 if ((
m_idHelper->phi_module(offlineId))%2==0) {
350 phi_index = 2*rowsPerFE-phi_index-1;
368 column = columnsPerFE-
m_idHelper->phi_index(diodeId)-1;
373 if ((phi_index>=rowsPerFE)) {
374 column = (columnsPerFE-1)-(eta_index%columnsPerFE);
377 column = eta_index%columnsPerFE;
384 if (column >= (
int)columnsPerFE) {
385 ATH_MSG_ERROR(
"Computed column number exceeds maximum value: col = " << column + column_offset <<
" (max = " << columnsPerFE <<
")");
389 return column + column_offset;