Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
32 return StatusCode::SUCCESS;
102 if (
col > 0 && col < p_design->columnsPerCircuit() - 1) {
103 if (
row >= p_design->
rowsPerCircuit() / 2 - 1 - 6 - 1 && row <= p_design->rowsPerCircuit() / 2 - 1) {
152 unsigned int rowsPerFE = 0;
153 int column_row_offset = 0;
156 column_row_offset = -1;
169 row =
row + column_row_offset;
173 ATH_MSG_DEBUG(
"Illegal pixel requested OfflineID: " << std::hex << offlineId << std::dec <<
" FE: " << FE <<
" row: " <<
row <<
" column: " <<
column);
190 phi_index = columnsPerFE-1-
column;
195 phi_index = rowsPerFE-1-
row;
200 phi_index = rowsPerFE-1-
row;
205 if (FE<FEsPerHalfModule) {
206 phi_index = ((2*rowsPerFE)-1)-
row;
207 eta_index = ((columnsPerFE*FEsPerHalfModule)-1)-(
column+(FE*columnsPerFE));
216 phi_index = 2*rowsPerFE-phi_index-1;
231 if (phi_index>phi_index_max) {
232 ATH_MSG_DEBUG(
"Error! phi_index: " << phi_index <<
" > phi_index_max: " << phi_index_max);
236 uint32_t check_row =
getRow(diodeId, offlineId) + column_row_offset;
238 if (check_FE!=FE || check_row!=
row || check_column!=
column) {
239 ATH_MSG_WARNING(
"identify OfflineID: 0x" << std::hex << offlineId << std::dec <<
" FE: " << FE <<
" row: " <<
row <<
" column: " <<
column <<
" unequal to:");
240 ATH_MSG_WARNING(
"identify PixelID: 0x" << std::hex << diodeId << std::dec <<
" FE: " << check_FE <<
" row: " << check_row <<
" column: " << check_column);
252 return getFE(diodeId, offlineId, element);
267 unsigned int rowsPerFE = 0;
293 phi_index = 2*rowsPerFE-phi_index-1;
305 if (phi_index>=rowsPerFE) {
306 FE = (
int)((FEsPerHalfModule-1)-(
eta_index/columnsPerFE));
331 unsigned int rowsPerFE = 0;
332 int column_offset = 0;
357 phi_index = 2*rowsPerFE-phi_index-1;
380 if ((phi_index>=rowsPerFE)) {
391 if (
column >= (
int)columnsPerFE) {
392 ATH_MSG_ERROR(
"Computed column number exceeds maximum value: col = " <<
column + column_offset <<
" (max = " << columnsPerFE <<
")");
396 return column + column_offset;
410 unsigned int rowsPerFE = 0;
435 phi_index = 2*rowsPerFE-phi_index-1;
455 row = rowsPerFE-1-phi_index;
459 row = rowsPerFE-1-phi_index;
463 if (phi_index>=rowsPerFE) {
464 row = ((2*rowsPerFE)-1)-phi_index;
475 if (
row >= (
int)rowsPerFE) {
476 ATH_MSG_ERROR(
"Computed row number exceeds maximum value: row = " <<
row + row_offset <<
"(max = " << rowsPerFE <<
")");
479 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