ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
OrderInitialRdos Class Reference

#include <PixelRawContByteStreamTool.h>

Collaboration diagram for OrderInitialRdos:

Public Member Functions

 OrderInitialRdos (const ServiceHandle< InDetDD::IPixelReadoutManager > &pixelReadout, const PixelID *pixelID, SG::ReadCondHandle< PixelCablingCondData > &pixCabling)
 
bool operator() (const PixelRDORawData *rdo0, const PixelRDORawData *rdo1)
 

Private Attributes

ServiceHandle< InDetDD::IPixelReadoutManagerm_pixelReadout
 
const PixelIDm_PixelID {}
 
SG::ReadCondHandle< PixelCablingCondDatam_pixCabling
 

Detailed Description

Definition at line 102 of file PixelRawContByteStreamTool.h.

Constructor & Destructor Documentation

◆ OrderInitialRdos()

OrderInitialRdos::OrderInitialRdos ( const ServiceHandle< InDetDD::IPixelReadoutManager > &  pixelReadout,
const PixelID pixelID,
SG::ReadCondHandle< PixelCablingCondData > &  pixCabling 
)
inline

Definition at line 110 of file PixelRawContByteStreamTool.h.

110  :
111  m_pixelReadout(pixelReadout), m_PixelID(pixelID), m_pixCabling(pixCabling) { }

Member Function Documentation

◆ operator()()

bool OrderInitialRdos::operator() ( const PixelRDORawData rdo0,
const PixelRDORawData rdo1 
)

Definition at line 791 of file PixelRawContByteStreamTool.cxx.

792 {
793  Identifier pixelId0 = rdo0->identify();
794  Identifier offlineId0 = m_PixelID->wafer_id(pixelId0);
795  Identifier pixelId1 = rdo1->identify();
796  Identifier offlineId1 = m_PixelID->wafer_id(pixelId1);
797  if (offlineId0 < offlineId1) {
798  return true;
799  }
800  if (offlineId0 == offlineId1) {
801  if ( m_pixelReadout->getModuleType(pixelId0) == InDetDD::PixelModuleType::IBL_PLANAR
802  || m_pixelReadout->getModuleType(pixelId0) == InDetDD::PixelModuleType::IBL_3D
803  || m_pixelReadout->getModuleType(pixelId0) == InDetDD::PixelModuleType::DBM) { // IBL and DBM
804 
805  uint64_t onlineId0 = m_pixCabling->find_entry_offon(offlineId0);
806  uint32_t linkNum0 = (onlineId0>>24) & 0xFFFF;
807  unsigned int localFE0 = m_pixelReadout->getFE(pixelId0, offlineId0);
808  uint32_t fe0= (linkNum0>>(localFE0*8)) & 0xF;
809 
810  uint64_t onlineId1 = m_pixCabling->find_entry_offon(offlineId1);
811  uint32_t linkNum1 = (onlineId1>>24) & 0xFFFF;
812  unsigned int localFE1 = m_pixelReadout->getFE(pixelId1, offlineId1);
813  uint32_t fe1= (linkNum1>>(localFE1*8)) & 0xF;
814 
815  return (fe0 < fe1);
816  }
817  else { // PixelCase
818  uint32_t fe0 = m_pixelReadout->getFE(pixelId0, offlineId0);
819  uint32_t fe1 = m_pixelReadout->getFE(pixelId1, offlineId1);
820  return (fe0 < fe1);
821 
822  // return false;
823  }
824  }
825  else {return false; }
826 }

Member Data Documentation

◆ m_pixCabling

SG::ReadCondHandle<PixelCablingCondData> OrderInitialRdos::m_pixCabling
private

Definition at line 107 of file PixelRawContByteStreamTool.h.

◆ m_PixelID

const PixelID* OrderInitialRdos::m_PixelID {}
private

Definition at line 106 of file PixelRawContByteStreamTool.h.

◆ m_pixelReadout

ServiceHandle<InDetDD::IPixelReadoutManager> OrderInitialRdos::m_pixelReadout
private

Definition at line 105 of file PixelRawContByteStreamTool.h.


The documentation for this class was generated from the following files:
OrderInitialRdos::m_pixCabling
SG::ReadCondHandle< PixelCablingCondData > m_pixCabling
Definition: PixelRawContByteStreamTool.h:107
InDetDD::PixelModuleType::DBM
@ DBM
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
OrderInitialRdos::m_PixelID
const PixelID * m_PixelID
Definition: PixelRawContByteStreamTool.h:106
PixelID::wafer_id
Identifier wafer_id(int barrel_ec, int layer_disk, int phi_module, int eta_module) const
For a single crystal.
Definition: PixelID.h:364
PixelCablingCondData::find_entry_offon
uint64_t find_entry_offon(const Identifier) const
Definition: PixelCablingCondData.cxx:102
xAOD::uint64_t
uint64_t
Definition: EventInfo_v1.cxx:123
InDetDD::PixelModuleType::IBL_PLANAR
@ IBL_PLANAR
OrderInitialRdos::m_pixelReadout
ServiceHandle< InDetDD::IPixelReadoutManager > m_pixelReadout
Definition: PixelRawContByteStreamTool.h:105
InDetRawData::identify
virtual Identifier identify() const override final
Definition: InDetRawData.h:41
InDetDD::PixelModuleType::IBL_3D
@ IBL_3D
Identifier
Definition: IdentifierFieldParser.cxx:14