ATLAS Offline Software
Loading...
Searching...
No Matches
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) { }
ServiceHandle< InDetDD::IPixelReadoutManager > m_pixelReadout
SG::ReadCondHandle< PixelCablingCondData > m_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}
virtual Identifier identify() const override final
setEventNumber uint32_t

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.

106{};

◆ 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: