|  | ATLAS Offline Software
    | 
 
 
 
#include <PixelReadoutManager.h>
|  | 
|  | PixelReadoutManager (const std::string &name, ISvcLocator *svc) | 
|  | 
| virtual StatusCode | initialize () override final | 
|  | 
| virtual PixelModuleType | getModuleType (Identifier id) const override final | 
|  | 
| virtual PixelDiodeType | getDiodeType (Identifier id) const override final | 
|  | 
| virtual PixelDiodeType | getDiodeType (Identifier id, const SiDetectorElement *element) const override final | 
|  | 
| virtual Identifier | getPixelIdfromHash (IdentifierHash offlineIdHash, uint32_t FE, uint32_t row, uint32_t column) const override final | 
|  | 
| virtual Identifier | getPixelId (Identifier offlineId, uint32_t FE, uint32_t row, uint32_t column) const override final | 
|  | 
| virtual uint32_t | getFE (Identifier diodeId, Identifier offlineId) const override final | 
|  | 
| virtual uint32_t | getFE (Identifier diodeId, Identifier offlineId, const SiDetectorElement *element) const override final | 
|  | 
| virtual uint32_t | getColumn (Identifier diodeId, Identifier offlineId) const override final | 
|  | 
| virtual uint32_t | getRow (Identifier diodeId, Identifier offlineId) const override final | 
|  | 
Definition at line 18 of file PixelReadoutManager.h.
 
◆ PixelReadoutManager()
      
        
          | InDetDD::PixelReadoutManager::PixelReadoutManager | ( | const std::string & | name, | 
        
          |  |  | ISvcLocator * | svc | 
        
          |  | ) |  |  | 
      
 
 
◆ getColumn()
Definition at line 325 of file PixelReadoutManager.cxx.
  329   const PixelModuleDesign *p_design = 
static_cast<const PixelModuleDesign *
>(&element->design());
 
  335   unsigned int columnsPerFE     = p_design->columnsPerCircuit();
 
  336   unsigned int rowsPerFE = 0;
 
  337   int column_offset = 0;
 
  339     rowsPerFE    = p_design->rowsPerCircuit();
 
  343     rowsPerFE    = p_design->rowsPerCircuit()/2+4;  
 
  396   if (
column >= (
int)columnsPerFE) {
 
  397     ATH_MSG_ERROR(
"Computed column number exceeds maximum value: col = " << 
column + column_offset << 
" (max = " << columnsPerFE << 
")");
 
  401   return column + column_offset;
 
 
 
 
◆ getDiodeType() [1/2]
◆ getDiodeType() [2/2]
Definition at line 77 of file PixelReadoutManager.cxx.
   85   const PixelModuleDesign *p_design = 
static_cast<const PixelModuleDesign *
>(&element->design());
 
   92     if (p_design->numberOfCircuits() == 2) {       
 
   93       if (col == 0 || col == p_design->columnsPerCircuit() - 1) {   
 
  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) {
 
  104         if ((
row - (p_design->rowsPerCircuit() / 2 - 1 - 6) + 1) % 2 + 1 == 1) {
 
  107         if ((
row - (p_design->rowsPerCircuit() / 2 - 1 - 6) + 1) % 2 + 1 == 2) {
 
  114     if (col == 0 || col==p_design->columnsPerCircuit() - 1) {
 
  115       if (
row >= p_design->rowsPerCircuit() / 2 - 1 - 6 - 1) {
 
  121     ATH_MSG_WARNING(
"Pixel Type : the col number should be 0-" << p_design->columnsPerCircuit() << 
", not " <<col);
 
 
 
 
◆ getFE() [1/2]
◆ getFE() [2/2]
Definition at line 260 of file PixelReadoutManager.cxx.
  264   const PixelModuleDesign *p_design = 
static_cast<const PixelModuleDesign *
>(&element->design());
 
  270   unsigned int columnsPerFE     = p_design->columnsPerCircuit();
 
  271   unsigned int FEsPerHalfModule = p_design->numberOfCircuits();
 
  272   unsigned int rowsPerFE = 0;
 
  274     rowsPerFE    = p_design->rowsPerCircuit();
 
  277     rowsPerFE    = p_design->rowsPerCircuit()/2+4;  
 
  311     FE = (
int)((FEsPerHalfModule-1)-(
eta_index/columnsPerFE));
 
 
 
 
◆ getModuleType()
Definition at line 36 of file PixelReadoutManager.cxx.
   40   const PixelModuleDesign *p_design = 
static_cast<const PixelModuleDesign *
>(&element->design());
 
   51     if (p_design->numberOfCircuits() == 2) {
 
 
 
 
◆ getPixelId()
  
  | 
        
          | Identifier InDetDD::PixelReadoutManager::getPixelId | ( | Identifier | offlineId, |  
          |  |  | uint32_t | FE, |  
          |  |  | uint32_t | row, |  
          |  |  | uint32_t | column |  
          |  | ) |  | const |  | finaloverridevirtual | 
 
Definition at line 138 of file PixelReadoutManager.cxx.
  144   const PixelModuleDesign *p_design = 
static_cast<const PixelModuleDesign *
>(&element->design());
 
  152   unsigned int columnsPerFE     = p_design->columnsPerCircuit();
 
  153   unsigned int FEsPerHalfModule = p_design->numberOfCircuits();
 
  154   unsigned int rowsPerFE = 0;
 
  155   int column_row_offset = 0;
 
  157     rowsPerFE    = p_design->rowsPerCircuit();
 
  158     column_row_offset = -1;
 
  166     rowsPerFE    = p_design->rowsPerCircuit()/2+4;  
 
  174   row = 
row + column_row_offset;
 
  178     ATH_MSG_DEBUG(
"Illegal pixel requested OfflineID: " << std::hex << offlineId << std::dec << 
" FE: " << FE << 
" row: " << 
row << 
" column: " << 
column);
 
  210       if (FE<FEsPerHalfModule) {
 
  212         eta_index = ((columnsPerFE*FEsPerHalfModule)-1)-(
column+(FE*columnsPerFE));
 
  241   uint32_t check_row = 
getRow(diodeId, offlineId) + column_row_offset;
 
  243   if (check_FE!=FE || check_row!=
row || check_column!=
column) {
 
  244     ATH_MSG_WARNING(
"identify OfflineID: 0x" << std::hex << offlineId << std::dec << 
" FE: " << FE << 
" row: " << 
row << 
" column: " << 
column << 
" unequal to:");
 
  245     ATH_MSG_WARNING(
"identify PixelID: 0x" << std::hex << diodeId << std::dec << 
" FE: " << check_FE << 
" row: " << check_row << 
" column: " << check_column);
 
 
 
 
◆ getPixelIdfromHash()
  
  | 
        
          | Identifier InDetDD::PixelReadoutManager::getPixelIdfromHash | ( | IdentifierHash | offlineIdHash, |  
          |  |  | uint32_t | FE, |  
          |  |  | uint32_t | row, |  
          |  |  | uint32_t | column |  
          |  | ) |  | const |  | finaloverridevirtual | 
 
 
◆ getRow()
Definition at line 405 of file PixelReadoutManager.cxx.
  409   const PixelModuleDesign *p_design = 
static_cast<const PixelModuleDesign *
>(&element->design());
 
  415   unsigned int rowsPerFE = 0;
 
  418     rowsPerFE    = p_design->rowsPerCircuit();
 
  422     rowsPerFE    = p_design->rowsPerCircuit()/2+4;  
 
  480   if (
row >= (
int)rowsPerFE) {
 
  481     ATH_MSG_ERROR(
"Computed row number exceeds maximum value: row = " << 
row + row_offset << 
"(max = " << rowsPerFE << 
")");
 
  484   return row + row_offset;
 
 
 
 
◆ initialize()
  
  | 
        
          | StatusCode InDetDD::PixelReadoutManager::initialize | ( |  | ) |  |  | finaloverridevirtual | 
 
 
◆ m_detManager
◆ m_detStore
◆ m_idHelper
The documentation for this class was generated from the following files:
 
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
int eta_index(const Identifier &id) const
AthROOTErrorHandlerSvc * svc
virtual uint32_t getFE(Identifier diodeId, Identifier offlineId) const override final
virtual uint32_t getRow(Identifier diodeId, Identifier offlineId) const override final
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...
#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 const SiDetectorElement * getDetectorElement(const Identifier &id) const override
access to individual elements : via Identifier
virtual PixelDiodeType getDiodeType(Identifier id) const override final
int phi_module(const Identifier &id) const