CMS 3D CMS Logo

List of all members | Static Public Member Functions
sistrip::FEDStripOrdering Class Reference

#include <SiStripFEDBufferComponents.h>

Static Public Member Functions

static uint8_t physicalOrderForStripInAPV (const uint8_t readoutOrderStripIndexInAPV)
 
static uint8_t physicalOrderForStripInChannel (const uint8_t readoutOrderStripIndexInChannel)
 
static uint8_t readoutOrderForStripInAPV (const uint8_t physicalOrderStripIndexInAPV)
 
static uint8_t readoutOrderForStripInChannel (const uint8_t physicalOrderStripIndexInChannel)
 

Detailed Description

Definition at line 187 of file SiStripFEDBufferComponents.h.

Member Function Documentation

◆ physicalOrderForStripInAPV()

uint8_t sistrip::FEDStripOrdering::physicalOrderForStripInAPV ( const uint8_t  readoutOrderStripIndexInAPV)
inlinestatic

Definition at line 822 of file SiStripFEDBufferComponents.h.

822  {
823  return ((32 * (readout_order % 4)) + (8 * static_cast<uint16_t>(static_cast<float>(readout_order) / 4.0)) -
824  (31 * static_cast<uint16_t>(static_cast<float>(readout_order) / 16.0)));
825  }

Referenced by physicalOrderForStripInChannel().

◆ physicalOrderForStripInChannel()

uint8_t sistrip::FEDStripOrdering::physicalOrderForStripInChannel ( const uint8_t  readoutOrderStripIndexInChannel)
inlinestatic

Definition at line 812 of file SiStripFEDBufferComponents.h.

812  {
813  return physicalOrderForStripInAPV(readoutOrderStripIndexInChannel / 2) +
814  (readoutOrderStripIndexInChannel % 2) * STRIPS_PER_APV;
815  }

References physicalOrderForStripInAPV(), and sistrip::STRIPS_PER_APV.

Referenced by sistrip::FEDBufferPayloadCreator::fillRawChannelBuffer(), and sistrip::SpyDigiConverter::reorderDigis().

◆ readoutOrderForStripInAPV()

uint8_t sistrip::FEDStripOrdering::readoutOrderForStripInAPV ( const uint8_t  physicalOrderStripIndexInAPV)
inlinestatic

Definition at line 827 of file SiStripFEDBufferComponents.h.

827  {
828  return (4 * ((static_cast<uint16_t>((static_cast<float>(physical_order) / 8.0))) % 4) +
829  static_cast<uint16_t>(static_cast<float>(physical_order) / 32.0) + 16 * (physical_order % 8));
830  }

Referenced by readoutOrderForStripInChannel().

◆ readoutOrderForStripInChannel()

uint8_t sistrip::FEDStripOrdering::readoutOrderForStripInChannel ( const uint8_t  physicalOrderStripIndexInChannel)
inlinestatic

Definition at line 817 of file SiStripFEDBufferComponents.h.

817  {
818  return (readoutOrderForStripInAPV(physicalOrderStripIndexInChannel % 128) * 2 +
819  (physicalOrderStripIndexInChannel / 128));
820  }

References readoutOrderForStripInAPV().

sistrip::FEDStripOrdering::readoutOrderForStripInAPV
static uint8_t readoutOrderForStripInAPV(const uint8_t physicalOrderStripIndexInAPV)
Definition: SiStripFEDBufferComponents.h:827
sistrip::STRIPS_PER_APV
static const uint16_t STRIPS_PER_APV
Definition: ConstantsForHardwareSystems.h:43
sistrip::FEDStripOrdering::physicalOrderForStripInAPV
static uint8_t physicalOrderForStripInAPV(const uint8_t readoutOrderStripIndexInAPV)
Definition: SiStripFEDBufferComponents.h:822