|
ATLAS Offline Software
|
Go to the documentation of this file.
32 return StatusCode::SUCCESS;
97 if (
col > 0 && col < p_design->columnsPerCircuit() - 1) {
98 if (
row >= p_design->
rowsPerCircuit() / 2 - 1 - 6 - 1 && row <= p_design->rowsPerCircuit() / 2 - 1) {
147 unsigned int rowsPerFE = 0;
148 int column_row_offset = 0;
151 column_row_offset = -1;
164 row =
row + column_row_offset;
168 ATH_MSG_DEBUG(
"Illegal pixel requested OfflineID: " << std::hex << offlineId << std::dec <<
" FE: " << FE <<
" row: " <<
row <<
" column: " <<
column);
185 phi_index = columnsPerFE-1-
column;
190 phi_index = rowsPerFE-1-
row;
195 phi_index = rowsPerFE-1-
row;
200 if (FE<FEsPerHalfModule) {
201 phi_index = ((2*rowsPerFE)-1)-
row;
202 eta_index = ((columnsPerFE*FEsPerHalfModule)-1)-(
column+(FE*columnsPerFE));
211 phi_index = 2*rowsPerFE-phi_index-1;
226 if (phi_index>phi_index_max) {
227 ATH_MSG_DEBUG(
"Error! phi_index: " << phi_index <<
" > phi_index_max: " << phi_index_max);
231 uint32_t check_row =
getRow(diodeId, offlineId) + column_row_offset;
233 if (check_FE!=FE || check_row!=
row || check_column!=
column) {
234 ATH_MSG_WARNING(
"identify OfflineID: 0x" << std::hex << offlineId << std::dec <<
" FE: " << FE <<
" row: " <<
row <<
" column: " <<
column <<
" unequal to:");
235 ATH_MSG_WARNING(
"identify PixelID: 0x" << std::hex << diodeId << std::dec <<
" FE: " << check_FE <<
" row: " << check_row <<
" column: " << check_column);
255 unsigned int rowsPerFE = 0;
281 phi_index = 2*rowsPerFE-phi_index-1;
293 if (phi_index>=rowsPerFE) {
294 FE = (
int)((FEsPerHalfModule-1)-(
eta_index/columnsPerFE));
319 unsigned int rowsPerFE = 0;
320 int column_offset = 0;
345 phi_index = 2*rowsPerFE-phi_index-1;
368 if ((phi_index>=rowsPerFE)) {
379 if (
column >= (
int)columnsPerFE) {
380 ATH_MSG_ERROR(
"Computed column number exceeds maximum value: col = " <<
column + column_offset <<
" (max = " << columnsPerFE <<
")");
384 return column + column_offset;
398 unsigned int rowsPerFE = 0;
423 phi_index = 2*rowsPerFE-phi_index-1;
443 row = rowsPerFE-1-phi_index;
447 row = rowsPerFE-1-phi_index;
451 if (phi_index>=rowsPerFE) {
452 row = ((2*rowsPerFE)-1)-phi_index;
463 if (
row >= (
int)rowsPerFE) {
464 ATH_MSG_ERROR(
"Computed row number exceeds maximum value: row = " <<
row + row_offset <<
"(max = " << rowsPerFE <<
")");
467 return row + row_offset;
This is an Identifier helper class for the Pixel subdetector. This class is a factory for creating co...
int phi_index(const Identifier &id) const
ServiceHandle< StoreGateSvc > m_detStore
virtual Identifier getPixelId(Identifier offlineId, uint32_t FE, uint32_t row, uint32_t column) const override final
int barrel_ec(const Identifier &id) const
Values of different levels (failure returns 0)
Identifier wafer_id(int barrel_ec, int layer_disk, int phi_module, int eta_module) const
For a single crystal.
int phi_index_max(const Identifier &id) const
int eta_index_max(const Identifier &id) const
::StatusCode StatusCode
StatusCode definition for legacy code.
int numberOfCircuits() const
Total number of circuits:
int eta_index(const Identifier &id) const
AthROOTErrorHandlerSvc * svc
PixelReadoutManager(const std::string &name, ISvcLocator *svc)
virtual uint32_t getFE(Identifier diodeId, Identifier offlineId) const override final
virtual uint32_t getRow(Identifier diodeId, Identifier offlineId) const override final
PixelReadoutTechnology getReadoutTechnology() const
bool is_dbm(const Identifier &id) const
Test for dbm - WARNING: id MUST be pixel id, otherwise answer is not accurate. Use SiliconID for gene...
virtual Identifier getPixelIdfromHash(IdentifierHash offlineIdHash, uint32_t FE, uint32_t row, uint32_t column) const override final
int rowsPerCircuit() const
Number of cell rows per circuit:
#define ATH_MSG_WARNING(x)
virtual uint32_t getColumn(Identifier diodeId, Identifier offlineId) const override final
const PixelDetectorManager * m_detManager
const PixelID * m_idHelper
Identifier pixel_id(int barrel_ec, int layer_disk, int phi_module, int eta_module, int phi_index, int eta_index) const
For an individual pixel.
virtual PixelModuleType getModuleType(Identifier id) const override final
virtual PixelDiodeType getDiodeType(Identifier id) const override final
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
virtual const SiDetectorDesign & design() const override final
access to the local description (inline):
int phi_module(const Identifier &id) const
int columnsPerCircuit() const
Number of cell columns per circuit:
virtual StatusCode initialize() override final
virtual SiDetectorElement * getDetectorElement(const Identifier &id) const override
access to individual elements : via Identifier