Project
Loading...
Searching...
No Matches
o2::mch::raw Namespace Reference

Namespaces

namespace  impl
 

Classes

class  BareElinkDecoder
 Main element of the MCH Bare Raw Data Format decoder. More...
 
struct  BareFormat
 
class  BareGBTDecoder
 A BareGBTDecoder groups 40 ElinkDecoder objects. More...
 
class  BitSet
 
struct  ChargeSumMode
 
struct  DataBlock
 A DataBlock is a pair (DataBlockHeader,payload) More...
 
struct  DataBlockHeader
 A lightweight struct to describe a MCH Raw Data Block. More...
 
struct  DataBlockRef
 a DataBlockRef is a pair (DataBlock,offset) The offset is an offset into some external buffer More...
 
class  DataDecoder
 
class  DataDecoderTask
 
struct  DataFormatSizeFactor
 
struct  DataFormatSizeFactor< ChargeSumMode >
 
struct  DataFormatSizeFactor< SampleMode >
 
class  DataParserTask
 
struct  DecodedDataHandlers
 
class  DigitPayloadEncoder
 
class  DigitRawEncoder
 
struct  DigitRawEncoderOptions
 
class  DigitTreeReader
 
class  DsDetId
 A DsDetId is just a pair (detection element id, dual sampa id) More...
 
class  DsElecId
 
class  DumpPagesTask
 
struct  ElectronicMapperDummy
 
struct  ElectronicMapperGenerated
 
struct  ElectronicMapperString
 
struct  ElinkEncoder
 
class  ElinkEncoder< BareFormat, CHARGESUM >
 Center piece of the MCH Bare Raw Data Format encoder logic. More...
 
class  ElinkEncoder< UserLogicFormat, CHARGESUM, VERSION >
 
struct  ElinkEncoderMerger
 
struct  ElinkEncoderMerger< BareFormat, CHARGESUM >
 
struct  ElinkEncoderMerger< UserLogicFormat, CHARGESUM, VERSION >
 
struct  FEEID
 
class  FeeLinkId
 
class  FileReaderTask
 
class  GBTEncoder
 A GBTEncoder manages 40 ElinkEncoder to encode the data of one GBT. More...
 
struct  isChargeSumMode
 
struct  isChargeSumMode< ChargeSumMode >
 
struct  isChargeSumMode< SampleMode >
 
struct  isUserLogicFormat
 
struct  isUserLogicFormat< BareFormat >
 
struct  isUserLogicFormat< UserLogicFormat >
 
struct  LinkInfo
 
class  MapCRU
 
class  MapFEC
 
struct  OrbitInfoHash
 
class  PayloadDecoder
 Decoder for MCH Raw Data Format. More...
 
class  PayloadEncoder
 A PayloadEncoder builds MCH raw data (payload part only) More...
 
class  PayloadEncoderImpl
 (Default) implementation of Encoder More...
 
class  PedestalsTask
 
class  ROFFinder
 
struct  SampaCluster
 Piece of data for one Sampa channel. More...
 
class  SampaHeader
 SampaHeader is the 50-bits header word used in Sampa data transmission protocol. More...
 
struct  SampleMode
 
struct  TimeFrame
 
struct  ULHeaderWord
 
struct  ULHeaderWord< 0 >
 
struct  ULHeaderWord< 1 >
 
class  UserLogicElinkDecoder
 
class  UserLogicEndpointDecoder
 A UserLogicEndpointDecoder groups 12 x (40 UserLogicElinkDecoder objects) More...
 
struct  UserLogicFormat
 

Typedefs

using RDH = o2::header::RDHAny
 
using uint5_t = uint8_t
 
using uint6_t = uint8_t
 
using SampaChannelAddress = uint5_t
 
using DualSampaChannelId = uint6_t
 
using uint10_t = uint16_t
 
using uint20_t = uint32_t
 
using uint50_t = uint64_t
 
using RdhHandler = std::function< void(o2::header::RDHAny *)>
 
using SampaChannelHandler = std::function< void(DsElecId dsId, DualSampaChannelId channel, SampaCluster)>
 
using SampaHeartBeatHandler = std::function< void(DsElecId dsId, uint8_t chip, uint20_t bunchCrossing)>
 
using SampaErrorHandler = std::function< void(DsElecId dsId, int8_t chip, uint32_t error)>
 
using Page = gsl::span< const std::byte >
 
using PageDecoder = std::function< void(Page buffer)>
 
using RawBuffer = gsl::span< const std::byte >
 
using PageParser = std::function< void(RawBuffer buffer, PageDecoder pageDecoder)>
 
using Payload = Page
 
using Digit2ElecMapper = std::function< std::optional< std::pair< DsElecId, int > >(const o2::mch::Digit &digit)>
 
using Solar2LinkInfo = std::function< std::optional< LinkInfo >(uint16_t)>
 
using TFQueue = std::queue< TimeFrame >
 

Enumerations

enum class  SampaPacketType : uint8_t {
  HeartBeat = 0 , DataTruncated = 1 , Sync = 2 , DataTruncatedTriggerTooEarly = 3 ,
  Data = 4 , DataNumWords = 5 , DataTriggerTooEarly = 6 , DataTriggerTooEarlyNumWords = 7
}
 
enum  ErrorCodes {
  ErrorParity = 1 , ErrorHammingCorrectable = 1 << 1 , ErrorHammingUncorrectable = 1 << 2 , ErrorBadSyncPacket = 1 << 3 ,
  ErrorBadHeartBeatPacket = 1 << 4 , ErrorBadDataPacket = 1 << 5 , ErrorBadClusterSize = 1 << 6 , ErrorBadIncompleteWord = 1 << 7 ,
  ErrorTruncatedData = 1 << 8 , ErrorTruncatedDataUL = 1 << 9 , ErrorUnexpectedSyncPacket = 1 << 10 , ErrorBadELinkID = 1 << 11 ,
  ErrorBadLinkID = 1 << 12 , ErrorUnknownLinkID = 1 << 13 , ErrorBadHBTime = 1 << 14 , ErrorNonRecoverableDecodingError = 1 << 15
}
 
enum class  OutputSplit : int { None , PerLink , PerCruEndpoint }
 

Functions

template<typename CHARGESUM >
uint16_t extraFeeIdChargeSumMask ()
 
template<int VERSION>
uint16_t extraFeeIdVersionMask ()
 
template<typename FORMAT >
uint8_t linkRemapping (uint8_t linkID)
 
std::ostream & operator<< (std::ostream &os, const FEEID &f)
 
uint20_t sampaBunchCrossingCounter (uint32_t orbit, uint16_t bc, uint32_t firstOrbit)
 
std::tuple< uint32_t, uint16_t > orbitBC (uint20_t bunchCrossing, uint32_t firstOrbit)
 
template<typename CHARGESUM >
void assertNotMixingClusters (const std::vector< SampaCluster > &data)
 
std::ostream & operator<< (std::ostream &os, const SampaCluster &sc)
 
std::string asString (const SampaCluster &sc)
 
constexpr bool isSampaSync (uint64_t w)
 Whether the 50 LSB bits match the sync word.
 
SampaHeader sampaSync ()
 The 50-bits Sampa SYNC word.
 
SampaHeader sampaHeartbeat (uint8_t elinkId, uint20_t bunchCrossing)
 Heartbeat packet.
 
DualSampaChannelId getDualSampaChannelId (const SampaHeader &sh)
 Return channel number (0..63)
 
std::string packetTypeName (SampaPacketType pkt)
 packetTypeName returns a string representation of the given packet type.
 
int computeHammingCode (uint64_t value)
 
int computeHammingCode1 (uint64_t value)
 
int computeHammingCode2 (uint64_t value)
 
int computeHammingCode3 (uint64_t value)
 
int computeHammingCode4 (uint64_t value)
 
int computeHeaderParity (uint64_t value)
 
int computeHeaderParity1 (uint64_t value)
 
int computeHeaderParity2 (uint64_t value)
 
int computeHeaderParity3 (uint64_t value)
 
int computeHeaderParity4 (uint64_t value)
 
std::string asString (const SampaHeader &sh)
 
std::ostream & operator<< (std::ostream &os, const SampaHeader &sh)
 
template<>
uint16_t extraFeeIdChargeSumMask< ChargeSumMode > ()
 
template<>
uint16_t extraFeeIdChargeSumMask< SampleMode > ()
 
template uint16_t extraFeeIdVersionMask< 0 > ()
 
template uint16_t extraFeeIdVersionMask< 1 > ()
 
template<>
uint8_t linkRemapping< UserLogicFormat > (uint8_t linkID)
 
template<>
uint8_t linkRemapping< BareFormat > (uint8_t linkID)
 
int computeParity (uint64_t v)
 
int partialOddParity3 (uint64_t value, int pos)
 
template<size_t N>
int partialOddParity2 (uint64_t value, const std::array< int, N > &pos)
 
template<size_t N>
int partialOddParity (uint64_t value, const std::array< uint64_t, N > &masks)
 
template<size_t N>
uint64_t computeMask (const std::array< uint64_t, N > &masks)
 
void dumpOrbits (const std::unordered_set< OrbitInfo, OrbitInfoHash > &mOrbits)
 
bool operator< (const DataDecoder::RawDigit &d1, const DataDecoder::RawDigit &d2)
 
std::ostream & operator<< (std::ostream &os, const DataDecoder::RawDigit &d)
 
std::string asString (const DataDecoder::RawDigit &d)
 
uint32_t getErrorCodesSize ()
 
std::string errorCodeAsString (uint32_t code)
 
PageDecoder createPageDecoder (RawBuffer rdhBuffer, DecodedDataHandlers decodedDataHandlers)
 will be called for each decoded Sampa packet and in case of decoding errors
 
PageDecoder createPageDecoder (RawBuffer rdhBuffer, DecodedDataHandlers decodedDataHandlers, FeeLink2SolarMapper fee2solar)
 
PageDecoder createPageDecoder (RawBuffer rdhBuffer, SampaChannelHandler channelHandler)
 
PageDecoder createPageDecoder (RawBuffer rdhBuffer, SampaChannelHandler channelHandler, FeeLink2SolarMapper fee2solar)
 
PageParser createPageParser ()
 
std::string bitBufferString (const std::bitset< 50 > &bs, int imax)
 
template<typename CHARGESUM >
std::ostream & operator<< (std::ostream &os, const o2::mch::raw::BareElinkDecoder< CHARGESUM > &e)
 
void append (const char *msg, std::string &to)
 
bool hasOrbitJump (uint32_t orb1, uint32_t orb2)
 
void append (std::vector< std::byte > &buffer, uint64_t w)
 
void append (std::vector< uint32_t > &buffer, uint64_t w)
 
void appendRDH (std::vector< std::byte > &buffer, const o2::header::RDHAny &rdh)
 Append bytes from RDH to the buffer.
 
uint64_t eightBytes (gsl::span< const std::byte > buffer)
 
o2::header::RDHAny createRDH (gsl::span< const std::byte > buffer, int version)
 
int forEachRDH (gsl::span< const std::byte > buffer, std::function< void(const void *)> f=nullptr)
 
int showRDHs (gsl::span< const std::byte > buffer)
 Dump the RDHs found in the buffer.
 
int countRDHs (gsl::span< const std::byte > buffer)
 Count the number of RDHs in the buffer.
 
constexpr bool isSync (uint64_t data)
 
template<typename T >
std::ostream & operator<< (std::ostream &os, const o2::mch::raw::UserLogicElinkDecoder< T > &e)
 
DsDetId decodeDsDetId (uint32_t code)
 Create a DsDetId object from a integer code.
 
uint32_t encode (const DsDetId &id)
 Create an integer code for the given id.
 
std::string asString (DsDetId dsDetId)
 Returns a string representation of the id.
 
std::ostream & operator<< (std::ostream &os, const DsDetId &id)
 
uint32_t encode (const DsElecId &id)
 
std::optional< DsElecIddecodeDsElecId (uint32_t code)
 
std::optional< DsElecIddecodeDsElecId (std::string rep)
 
std::optional< uint8_t > decodeChannelId (std::string rep)
 
std::ostream & operator<< (std::ostream &os, const DsElecId &id)
 
std::string asString (DsElecId dsId)
 Returns a string representation of the given DsElecId.
 
std::optional< uint8_t > groupFromElinkId (uint8_t elinkId)
 Extracts the group from the elinkId.
 
std::optional< uint8_t > indexFromElinkId (uint8_t elinkId)
 Extracts the index from the elinkId.
 
FeeLinkId decodeFeeLinkId (uint32_t code)
 
uint32_t encode (const FeeLinkId &id)
 
bool operator< (const FeeLinkId &f1, const FeeLinkId &f2)
 
std::ostream & operator<< (std::ostream &os, const FeeLinkId &id)
 
std::string asString (const FeeLinkId &feeLinkId)
 
template<typename T >
std::set< uint16_t > getSolarUIDs (int deid)
 List of Solar Unique Ids for a given detection element id.
 
template<typename T >
std::set< uint16_t > getSolarUIDs ()
 List of Solar Unique Ids for all MCH.
 
template<typename T >
std::set< uint16_t > getSolarUIDsPerFeeId (uint16_t feeId)
 List of Solar Unique Ids for a given FeeId.
 
template<typename T >
std::set< DsDetIdgetDualSampas (uint16_t solarId)
 List of Dual Sampa handled by a given Solar.
 
template<typename T >
std::set< DsDetIdgetDualSampasPerFeeId (uint16_t feeId)
 List of Dual Sampa handled by a given FeeId.
 
template<typename T >
std::set< DsElecIdgetAllDs ()
 
template<typename T >
std::vector< std::string > solar2FeeLinkConsistencyCheck ()
 
template<typename T >
std::optional< uint16_t > solarIndex2Id (uint16_t solarIndex)
 
template<typename T >
std::optional< uint16_t > solarId2Index (uint16_t solarId)
 
template<>
std::function< std::optional< DsDetId >(DsElecId)> createElec2DetMapper< ElectronicMapperDummy > (uint64_t timestamp)
 
template<>
std::function< std::optional< DsElecId >(DsDetId)> createDet2ElecMapper< ElectronicMapperDummy > ()
 
template<>
std::function< std::optional< uint16_t >(FeeLinkId)> createFeeLink2SolarMapper< ElectronicMapperDummy > ()
 
template<>
std::function< std::optional< FeeLinkId >(uint16_t)> createSolar2FeeLinkMapper< ElectronicMapperDummy > ()
 
template<>
std::set< uint16_t > getSolarUIDs< ElectronicMapperDummy > (int deid)
 
template<>
std::set< uint16_t > getSolarUIDs< ElectronicMapperDummy > ()
 
template<>
std::vector< std::string > solar2FeeLinkConsistencyCheck< ElectronicMapperDummy > ()
 
template<>
std::set< DsElecIdgetAllDs< ElectronicMapperDummy > ()
 
template<>
std::set< uint16_t > getSolarUIDsPerFeeId< ElectronicMapperDummy > (uint16_t feeid)
 
template<>
std::set< DsDetIdgetDualSampas< ElectronicMapperDummy > (uint16_t solarId)
 
template<>
std::set< DsDetIdgetDualSampasPerFeeId< ElectronicMapperDummy > (uint16_t feeId)
 
template<>
std::optional< uint16_t > solarIndex2Id< ElectronicMapperDummy > (uint16_t solarIndex)
 
template<>
std::optional< uint16_t > solarId2Index< ElectronicMapperDummy > (uint16_t solarId)
 
template<>
std::function< std::optional< DsDetId >(DsElecId)> createElec2DetMapper< ElectronicMapperGenerated > (uint64_t)
 
template<>
std::function< std::optional< DsElecId >(DsDetId)> createDet2ElecMapper< ElectronicMapperGenerated > ()
 
template<>
std::function< std::optional< FeeLinkId >(uint16_t)> createSolar2FeeLinkMapper< ElectronicMapperGenerated > ()
 
template<>
std::function< std::optional< uint16_t >(FeeLinkId)> createFeeLink2SolarMapper< ElectronicMapperGenerated > ()
 
template<>
std::set< uint16_t > getSolarUIDs< ElectronicMapperGenerated > (int deid)
 
template<>
std::set< uint16_t > getSolarUIDs< ElectronicMapperGenerated > ()
 
template<>
std::vector< std::string > solar2FeeLinkConsistencyCheck< ElectronicMapperGenerated > ()
 
template<>
std::set< DsElecIdgetAllDs< ElectronicMapperGenerated > ()
 
template<>
std::set< uint16_t > getSolarUIDsPerFeeId< ElectronicMapperGenerated > (uint16_t feeid)
 
template<>
std::set< DsDetIdgetDualSampas< ElectronicMapperGenerated > (uint16_t solarId)
 
template<>
std::set< DsDetIdgetDualSampasPerFeeId< ElectronicMapperGenerated > (uint16_t feeId)
 
template<>
std::optional< uint16_t > solarIndex2Id< ElectronicMapperGenerated > (uint16_t solarIndex)
 
template<>
std::optional< uint16_t > solarId2Index< ElectronicMapperGenerated > (uint16_t solarId)
 
template<>
Elec2DetMapper createElec2DetMapper< ElectronicMapperString > (uint64_t)
 
template<>
FeeLink2SolarMapper createFeeLink2SolarMapper< ElectronicMapperString > ()
 
template<>
Solar2FeeLinkMapper createSolar2FeeLinkMapper< ElectronicMapperString > ()
 
template<>
std::set< uint16_t > getSolarUIDs< ElectronicMapperString > ()
 
Digit2ElecMapper createDigit2ElecMapper (Det2ElecMapper det2elec)
 
std::string asString (o2::mch::Digit d)
 
void setupRawFileWriter (o2::raw::RawFileWriter &fw, const std::set< LinkInfo > &links, DigitRawEncoderOptions opt)
 
Solar2LinkInfo getSolar2LinkInfo (bool userLogic, bool dummyElecMap, int userLogicVersion)
 
Solar2FeeLinkMapper getSolar2FeeLink (bool dummyElecMap)
 
std::set< uint16_t > getSolarUIDs (bool dummyElecMap)
 
std::set< o2::mch::raw::LinkInfogetLinks (Solar2LinkInfo solar2LinkInfo, bool dummyElecMap)
 
Digit2ElecMapper getDigit2Elec (bool dummyElecMap)
 
std::ostream & operator<< (std::ostream &os, const DigitRawEncoderOptions &opt)
 
void AssertBranch (ROOT::Internal::TTreeReaderValueBase &value)
 
template<typename CHARGESUM >
bool areElinksAligned (gsl::span< ElinkEncoder< BareFormat, CHARGESUM > > elinks)
 
template<typename CHARGESUM >
void align (gsl::span< ElinkEncoder< BareFormat, CHARGESUM > > elinks)
 
template<typename CHARGESUM >
uint64_t aggregate (gsl::span< ElinkEncoder< BareFormat, CHARGESUM > > elinks, int jstart, int jend, int i)
 
template<typename CHARGESUM >
void elink2gbt (gsl::span< ElinkEncoder< BareFormat, CHARGESUM > > elinks, std::vector< uint64_t > &b64)
 
int circularAppend (BitSet &bs, const BitSet &ringBuffer, int startBit, int n)
 
std::ostream & operator<< (std::ostream &os, const BitSet &bs)
 
std::string compactString (const BitSet &bs)
 
void appendDataBlockHeader (std::vector< std::byte > &outBuffer, DataBlockHeader header)
 Convert the header into bytes.
 
int forEachDataBlockRef (gsl::span< const std::byte > buffer, std::function< void(DataBlockRef ref)> f)
 
int countHeaders (gsl::span< const std::byte > buffer)
 Count the headers in the input buffer.
 
std::ostream & operator<< (std::ostream &os, const DataBlockHeader &header)
 
std::ostream & operator<< (std::ostream &os, const DataBlock &block)
 
std::ostream & operator<< (std::ostream &os, const DataBlockRef &ref)
 
bool operator< (const DataBlockHeader &a, const DataBlockHeader &b)
 
bool operator< (const DataBlockRef &a, const DataBlockRef &b)
 
int phase (int i, bool forceNoPhase)
 
int forEachDataBlockRef (gsl::span< const std::byte > buffer, std::function< void(DataBlockRef blockRef)> f)
 Loop over a buffer, that should consist of (DataBlockHeader,payload) pairs.
 
std::unique_ptr< PayloadEncodercreatePayloadEncoder (Solar2FeeLinkMapper solar2feelink, bool userLogic, int version, bool chargeSumMode)
 
bool operator< (const LinkInfo &, const LinkInfo &)
 
std::ostream & operator<< (std::ostream &os, const LinkInfo &li)
 
template<typename ELECMAP , typename FORMAT , typename CHARGESUM , int VERSION>
Solar2LinkInfo createSolar2LinkInfo ()
 
void registerLinks (o2::raw::RawFileWriter &rawFileWriter, std::string outputBase, const std::set< LinkInfo > &links, bool filePerLink, bool filePerCru)
 
void paginate (o2::raw::RawFileWriter &rawFileWriter, gsl::span< const std::byte > buffer, const std::set< LinkInfo > &links, Solar2LinkInfo solar2LinkInfo)
 
template<typename FORMAT , typename CHARGESUM , int VERSION, bool forceNoPhase = true>
std::unique_ptr< PayloadEncodercreatePayloadEncoder (Solar2FeeLinkMapper solar2feelink)
 
uint64_t encode (const LinkInfo &li)
 
o2::header::RDHAny rdhFromLinkInfo (LinkInfo li)
 
std::string flpName (LinkInfo li)
 
template Solar2LinkInfo createSolar2LinkInfo< ElectronicMapperGenerated, BareFormat, SampleMode, 0 > ()
 
template Solar2LinkInfo createSolar2LinkInfo< ElectronicMapperGenerated, BareFormat, ChargeSumMode, 0 > ()
 
template Solar2LinkInfo createSolar2LinkInfo< ElectronicMapperGenerated, UserLogicFormat, SampleMode, 0 > ()
 
template Solar2LinkInfo createSolar2LinkInfo< ElectronicMapperGenerated, UserLogicFormat, ChargeSumMode, 0 > ()
 
template Solar2LinkInfo createSolar2LinkInfo< ElectronicMapperGenerated, UserLogicFormat, SampleMode, 1 > ()
 
template Solar2LinkInfo createSolar2LinkInfo< ElectronicMapperGenerated, UserLogicFormat, ChargeSumMode, 1 > ()
 
template Solar2LinkInfo createSolar2LinkInfo< ElectronicMapperDummy, BareFormat, SampleMode, 0 > ()
 
template Solar2LinkInfo createSolar2LinkInfo< ElectronicMapperDummy, BareFormat, ChargeSumMode, 0 > ()
 
template Solar2LinkInfo createSolar2LinkInfo< ElectronicMapperDummy, UserLogicFormat, SampleMode, 0 > ()
 
template Solar2LinkInfo createSolar2LinkInfo< ElectronicMapperDummy, UserLogicFormat, ChargeSumMode, 0 > ()
 
template Solar2LinkInfo createSolar2LinkInfo< ElectronicMapperDummy, UserLogicFormat, SampleMode, 1 > ()
 
template Solar2LinkInfo createSolar2LinkInfo< ElectronicMapperDummy, UserLogicFormat, ChargeSumMode, 1 > ()
 
o2::framework::DataProcessorSpec getDecodingSpec (const char *specName="mch-data-decoder", std::string inputSpec="TF:MCH/RAWDATA", bool askDISTSTF=false)
 
o2::framework::DataProcessorSpec getFileReaderSpec (const char *specName)
 
o2::framework::DataProcessorSpec getDumpPagesSpec (const char *specName)
 

Variables

constexpr uint64_t sampaSyncWord {0x1555540f00113}
 
constexpr int BCINORBIT = o2::constants::lhc::LHCMaxBunches
 
constexpr std::array< int, 49 > conv
 
std::array< int, 24 > p0 {7, 8, 10, 11, 13, 15, 17, 18, 20, 22, 24, 26, 28, 30, 32, 33, 35, 37, 39, 41, 43, 45, 47, 49}
 
std::array< int, 23 > p1 {7, 9, 10, 12, 13, 16, 17, 19, 20, 23, 24, 27, 28, 31, 32, 34, 35, 38, 39, 42, 43, 46, 47}
 
std::array< int, 23 > p2 {8, 9, 10, 14, 15, 16, 17, 21, 22, 23, 24, 29, 30, 31, 32, 36, 37, 38, 39, 44, 45, 46, 47}
 
std::array< int, 23 > p3 {11, 12, 13, 14, 15, 16, 17, 25, 26, 27, 28, 29, 30, 31, 32, 40, 41, 42, 43, 44, 45, 46, 47}
 
std::array< int, 17 > p4 {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 48, 49}
 
std::array< int, 17 > p5 {33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49}
 
std::array< uint64_t, 24 > m0 = {0x80, 0x100, 0x400, 0x800, 0x2000, 0x8000, 0x20000, 0x40000, 0x100000, 0x400000, 0x1000000, 0x4000000, 0x10000000, 0x40000000, 0x100000000, 0x200000000, 0x800000000, 0x2000000000, 0x8000000000, 0x20000000000, 0x80000000000, 0x200000000000, 0x800000000000, 0x2000000000000}
 
std::array< uint64_t, 23 > m1 = {0x80, 0x200, 0x400, 0x1000, 0x2000, 0x10000, 0x20000, 0x80000, 0x100000, 0x800000, 0x1000000, 0x8000000, 0x10000000, 0x80000000, 0x100000000, 0x400000000, 0x800000000, 0x4000000000, 0x8000000000, 0x40000000000, 0x80000000000, 0x400000000000, 0x800000000000}
 
std::array< uint64_t, 23 > m2 = {0x100, 0x200, 0x400, 0x4000, 0x8000, 0x10000, 0x20000, 0x200000, 0x400000, 0x800000, 0x1000000, 0x20000000, 0x40000000, 0x80000000, 0x100000000, 0x1000000000, 0x2000000000, 0x4000000000, 0x8000000000, 0x100000000000, 0x200000000000, 0x400000000000, 0x800000000000}
 
std::array< uint64_t, 23 > m3 = {0x800, 0x1000, 0x2000, 0x4000, 0x8000, 0x10000, 0x20000, 0x2000000, 0x4000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, 0x80000000, 0x100000000, 0x10000000000, 0x20000000000, 0x40000000000, 0x80000000000, 0x100000000000, 0x200000000000, 0x400000000000, 0x800000000000}
 
std::array< uint64_t, 17 > m4 = {0x40000, 0x80000, 0x100000, 0x200000, 0x400000, 0x800000, 0x1000000, 0x2000000, 0x4000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, 0x80000000, 0x100000000, 0x1000000000000, 0x2000000000000}
 
std::array< uint64_t, 17 > m5 = {0x200000000, 0x400000000, 0x800000000, 0x1000000000, 0x2000000000, 0x4000000000, 0x8000000000, 0x10000000000, 0x20000000000, 0x40000000000, 0x80000000000, 0x100000000000, 0x200000000000, 0x400000000000, 0x800000000000, 0x1000000000000, 0x2000000000000}
 
constexpr std::array< uint64_t, 49 > parityMasks = {0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x80, 0x100, 0x200, 0x400, 0x800, 0x1000, 0x2000, 0x4000, 0x8000, 0x10000, 0x20000, 0x40000, 0x80000, 0x100000, 0x200000, 0x400000, 0x800000, 0x1000000, 0x2000000, 0x4000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, 0x80000000, 0x100000000, 0x200000000, 0x400000000, 0x800000000, 0x1000000000, 0x2000000000, 0x4000000000, 0x8000000000, 0x10000000000, 0x20000000000, 0x40000000000, 0x80000000000, 0x100000000000, 0x200000000000, 0x400000000000, 0x800000000000, 0x1000000000000, 0x2000000000000}
 
constexpr int HEADERSIZE = 50
 
std::array< int, 2 > deIdsOfCH1R {100, 103}
 
std::array< int, 2 > deIdsOfCH1L {101, 102}
 
std::array< int, 2 > deIdsOfCH2R {200, 203}
 
std::array< int, 2 > deIdsOfCH2L {201, 202}
 
std::array< int, 2 > deIdsOfCH3R {300, 303}
 
std::array< int, 2 > deIdsOfCH3L {301, 302}
 
std::array< int, 2 > deIdsOfCH4R {400, 403}
 
std::array< int, 2 > deIdsOfCH4L {401, 402}
 
std::array< int, 9 > deIdsOfCH5R {504, 503, 502, 501, 500, 517, 516, 515, 514}
 
std::array< int, 9 > deIdsOfCH5L {505, 506, 507, 508, 509, 510, 511, 512, 513}
 
std::array< int, 9 > deIdsOfCH6R {604, 603, 602, 601, 600, 617, 616, 615, 614}
 
std::array< int, 9 > deIdsOfCH6L {605, 606, 607, 608, 609, 610, 611, 612, 613}
 
std::array< int, 13 > deIdsOfCH7R {706, 705, 704, 703, 702, 701, 700, 725, 724, 723, 722, 721, 720}
 
std::array< int, 13 > deIdsOfCH7L {707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719}
 
std::array< int, 13 > deIdsOfCH8R {806, 805, 804, 803, 802, 801, 800, 825, 824, 823, 822, 821, 820}
 
std::array< int, 13 > deIdsOfCH8L {807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819}
 
std::array< int, 13 > deIdsOfCH9R {906, 905, 904, 903, 902, 901, 900, 925, 924, 923, 922, 921, 920}
 
std::array< int, 13 > deIdsOfCH9L {907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919}
 
std::array< int, 13 > deIdsOfCH10R {1006, 1005, 1004, 1003, 1002, 1001, 1000, 1025, 1024, 1023, 1022, 1021, 1020}
 
std::array< int, 13 > deIdsOfCH10L {1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019}
 
TFQueue tfQueues [NFEEID][NLINKS]
 

Mapper templates.

Those creator functions return functions that can do the mapping to/from DsElecId to DsDetId and to/from FeeLinkId to solarId.

using Elec2DetMapper = std::function< std::optional< DsDetId >(DsElecId)>
 
using Det2ElecMapper = std::function< std::optional< DsElecId >(DsDetId id)>
 From (deId,dsId) to (solarId,groupId,index)
 
using FeeLink2SolarMapper = std::function< std::optional< uint16_t >(FeeLinkId id)>
 From (feeId,linkId) to solarId.
 
using Solar2FeeLinkMapper = std::function< std::optional< FeeLinkId >(uint16_t solarId)>
 From solarId to (feeId,linkId)
 
template<typename T >
Elec2DetMapper createElec2DetMapper (uint64_t timestamp=0)
 
template<typename T >
Det2ElecMapper createDet2ElecMapper ()
 
template<typename T >
FeeLink2SolarMapper createFeeLink2SolarMapper ()
 
template<typename T >
Solar2FeeLinkMapper createSolar2FeeLinkMapper ()
 

Detailed Description

SampaBunchCrossingCounter is the internal Sampa counter at 40MHz, and coded in 20 bits

DigitPayloadEncoder encodes MCH digits into memory buffers that contain the MCH RawData Payload and a very slim information about the {orbit,bc} for each payload. That {orbit,bc} is then used by the PayloadPaginator to create Raw Data in the actual Alice format, i.e. using RDH (RawDataHeader) + payload blocks.

DigitRawEncoder converts MCH digits into raw data.

Typedef Documentation

◆ Det2ElecMapper

using o2::mch::raw::Det2ElecMapper = typedef std::function<std::optional<DsElecId>(DsDetId id)>

From (deId,dsId) to (solarId,groupId,index)

Definition at line 47 of file Mapper.h.

◆ Digit2ElecMapper

using o2::mch::raw::Digit2ElecMapper = typedef std::function<std::optional<std::pair<DsElecId, int> >(const o2::mch::Digit& digit)>

Definition at line 27 of file Digit2ElecMapper.h.

◆ DualSampaChannelId

Definition at line 65 of file DataFormats.h.

◆ Elec2DetMapper

using o2::mch::raw::Elec2DetMapper = typedef std::function<std::optional<DsDetId>(DsElecId)>

From (solarId,groupdId,index) to (deId,dsId) timestamp is foreseen to specify a data taking period (not used for the moment) use 0 to get the latest mapping

Definition at line 42 of file Mapper.h.

◆ FeeLink2SolarMapper

using o2::mch::raw::FeeLink2SolarMapper = typedef std::function<std::optional<uint16_t>(FeeLinkId id)>

From (feeId,linkId) to solarId.

Definition at line 52 of file Mapper.h.

◆ Page

using o2::mch::raw::Page = typedef gsl::span<const std::byte>

Definition at line 25 of file PageDecoder.h.

◆ PageDecoder

using o2::mch::raw::PageDecoder = typedef std::function<void(Page buffer)>

Definition at line 28 of file PageDecoder.h.

◆ PageParser

using o2::mch::raw::PageParser = typedef std::function<void(RawBuffer buffer, PageDecoder pageDecoder)>

Definition at line 63 of file PageDecoder.h.

◆ Payload

using o2::mch::raw::Payload = typedef Page

Definition at line 33 of file PayloadDecoder.h.

◆ RawBuffer

using o2::mch::raw::RawBuffer = typedef gsl::span<const std::byte>

Definition at line 30 of file PageDecoder.h.

◆ RDH

◆ RdhHandler

using o2::mch::raw::RdhHandler = typedef std::function<void(o2::header::RDHAny*)>

Definition at line 41 of file DataDecoder.h.

◆ SampaChannelAddress

Definition at line 64 of file DataFormats.h.

◆ SampaChannelHandler

using o2::mch::raw::SampaChannelHandler = typedef std::function<void(DsElecId dsId, DualSampaChannelId channel, SampaCluster)>

A SampaChannelHandler is a function that takes a pair to identify a readout dual sampa channel and a SampaCluster containing the channel data.

Definition at line 28 of file DecodedDataHandlers.h.

◆ SampaErrorHandler

using o2::mch::raw::SampaErrorHandler = typedef std::function<void(DsElecId dsId, int8_t chip, uint32_t error)>

A SampaErrorHandler is a function that takes a chip index and a numerical code describing the error encountered during the decoding

Definition at line 40 of file DecodedDataHandlers.h.

◆ SampaHeartBeatHandler

using o2::mch::raw::SampaHeartBeatHandler = typedef std::function<void(DsElecId dsId, uint8_t chip, uint20_t bunchCrossing)>

A SampaHeartBeatHandler is a function that takes a chip index and a bunch crossing counter value found in a HeartBeat packet

Definition at line 34 of file DecodedDataHandlers.h.

◆ Solar2FeeLinkMapper

using o2::mch::raw::Solar2FeeLinkMapper = typedef std::function<std::optional<FeeLinkId>(uint16_t solarId)>

From solarId to (feeId,linkId)

Definition at line 57 of file Mapper.h.

◆ Solar2LinkInfo

using o2::mch::raw::Solar2LinkInfo = typedef std::function<std::optional<LinkInfo>(uint16_t)>

Definition at line 43 of file PayloadPaginator.h.

◆ TFQueue

using o2::mch::raw::TFQueue = typedef std::queue<TimeFrame>

Definition at line 160 of file cru-page-reader-workflow.cxx.

◆ uint10_t

using o2::mch::raw::uint10_t = typedef uint16_t

Definition at line 67 of file DataFormats.h.

◆ uint20_t

using o2::mch::raw::uint20_t = typedef uint32_t

Definition at line 68 of file DataFormats.h.

◆ uint50_t

using o2::mch::raw::uint50_t = typedef uint64_t

Definition at line 69 of file DataFormats.h.

◆ uint5_t

using o2::mch::raw::uint5_t = typedef uint8_t

Definition at line 61 of file DataFormats.h.

◆ uint6_t

using o2::mch::raw::uint6_t = typedef uint8_t

Definition at line 62 of file DataFormats.h.

Enumeration Type Documentation

◆ ErrorCodes

Enumerator
ErrorParity 
ErrorHammingCorrectable 
ErrorHammingUncorrectable 
ErrorBadSyncPacket 
ErrorBadHeartBeatPacket 
ErrorBadDataPacket 
ErrorBadClusterSize 
ErrorBadIncompleteWord 
ErrorTruncatedData 
ErrorTruncatedDataUL 
ErrorUnexpectedSyncPacket 
ErrorBadELinkID 
ErrorBadLinkID 
ErrorUnknownLinkID 
ErrorBadHBTime 
ErrorNonRecoverableDecodingError 

Definition at line 25 of file ErrorCodes.h.

◆ OutputSplit

enum class o2::mch::raw::OutputSplit : int
strong
Enumerator
None 
PerLink 
PerCruEndpoint 

Definition at line 32 of file DigitRawEncoder.h.

◆ SampaPacketType

enum class o2::mch::raw::SampaPacketType : uint8_t
strong
Enumerator
HeartBeat 
DataTruncated 
Sync 
DataTruncatedTriggerTooEarly 
Data 
DataNumWords 
DataTriggerTooEarly 
DataTriggerTooEarlyNumWords 

Definition at line 26 of file SampaHeader.h.

Function Documentation

◆ aggregate()

template<typename CHARGESUM >
uint64_t o2::mch::raw::aggregate ( gsl::span< ElinkEncoder< BareFormat, CHARGESUM > >  elinks,
int  jstart,
int  jend,
int  i 
)

Definition at line 53 of file BareElinkEncoderMerger.h.

◆ align()

template<typename CHARGESUM >
void o2::mch::raw::align ( gsl::span< ElinkEncoder< BareFormat, CHARGESUM > >  elinks)

Definition at line 36 of file BareElinkEncoderMerger.h.

◆ append() [1/3]

void o2::mch::raw::append ( const char msg,
std::string &  to 
)

Definition at line 26 of file ErrorCodes.cxx.

◆ append() [2/3]

void o2::mch::raw::append ( std::vector< std::byte > &  buffer,
uint64_t  w 
)

Definition at line 129 of file RDHManip.cxx.

◆ append() [3/3]

void o2::mch::raw::append ( std::vector< uint32_t > &  buffer,
uint64_t  w 
)

Definition at line 141 of file RDHManip.cxx.

◆ appendDataBlockHeader()

void o2::mch::raw::appendDataBlockHeader ( std::vector< std::byte > &  outBuffer,
DataBlockHeader  header 
)

Convert the header into bytes.

Definition at line 17 of file DataBlock.cxx.

◆ appendRDH()

void o2::mch::raw::appendRDH ( std::vector< std::byte > &  buffer,
const o2::header::RDHAny rdh 
)

Append bytes from RDH to the buffer.

Definition at line 147 of file RDHManip.cxx.

◆ areElinksAligned()

template<typename CHARGESUM >
bool o2::mch::raw::areElinksAligned ( gsl::span< ElinkEncoder< BareFormat, CHARGESUM > >  elinks)

Definition at line 24 of file BareElinkEncoderMerger.h.

◆ AssertBranch()

void o2::mch::raw::AssertBranch ( ROOT::Internal::TTreeReaderValueBase &  value)

Definition at line 19 of file DigitTreeReader.cxx.

◆ assertNotMixingClusters()

template<typename CHARGESUM >
void o2::mch::raw::assertNotMixingClusters ( const std::vector< SampaCluster > &  data)

Definition at line 85 of file SampaCluster.h.

◆ asString() [1/7]

std::string o2::mch::raw::asString ( const DataDecoder::RawDigit d)

Definition at line 113 of file DataDecoder.cxx.

◆ asString() [2/7]

std::string o2::mch::raw::asString ( const FeeLinkId feeLinkId)

Definition at line 43 of file FeeLinkId.cxx.

◆ asString() [3/7]

std::string o2::mch::raw::asString ( const SampaCluster sc)

Definition at line 105 of file SampaCluster.cxx.

◆ asString() [4/7]

std::string o2::mch::raw::asString ( const SampaHeader sh)

Definition at line 389 of file SampaHeader.cxx.

◆ asString() [5/7]

std::string o2::mch::raw::asString ( DsDetId  dsDetId)

Returns a string representation of the id.

Definition at line 46 of file DsDetId.cxx.

◆ asString() [6/7]

std::string o2::mch::raw::asString ( DsElecId  dsId)

Returns a string representation of the given DsElecId.

Definition at line 119 of file DsElecId.cxx.

◆ asString() [7/7]

std::string o2::mch::raw::asString ( o2::mch::Digit  d)

Definition at line 31 of file DigitPayloadEncoder.cxx.

◆ bitBufferString()

std::string o2::mch::raw::bitBufferString ( const std::bitset< 50 > &  bs,
int  imax 
)

Definition at line 48 of file BareELinkDecoder.cxx.

◆ circularAppend()

int o2::mch::raw::circularAppend ( BitSet bs,
const BitSet ringBuffer,
int  startBit,
int  n 
)

Definition at line 421 of file BitSet.cxx.

◆ compactString()

std::string o2::mch::raw::compactString ( const BitSet bs)

Definition at line 440 of file BitSet.cxx.

◆ computeHammingCode()

int o2::mch::raw::computeHammingCode ( uint64_t  value)

compute the hamming code of value assuming it is 50 bits and represents a Sampa header

Definition at line 519 of file SampaHeader.cxx.

◆ computeHammingCode1()

int o2::mch::raw::computeHammingCode1 ( uint64_t  value)

Definition at line 524 of file SampaHeader.cxx.

◆ computeHammingCode2()

int o2::mch::raw::computeHammingCode2 ( uint64_t  value)

Definition at line 498 of file SampaHeader.cxx.

◆ computeHammingCode3()

int o2::mch::raw::computeHammingCode3 ( uint64_t  value)

Definition at line 457 of file SampaHeader.cxx.

◆ computeHammingCode4()

int o2::mch::raw::computeHammingCode4 ( uint64_t  value)

Definition at line 549 of file SampaHeader.cxx.

◆ computeHeaderParity()

int o2::mch::raw::computeHeaderParity ( uint64_t  value)

compute parity of value assuming it is 50 bits and represents a Sampa header (not using the existing header parity at bit pos 6)

Definition at line 567 of file SampaHeader.cxx.

◆ computeHeaderParity1()

int o2::mch::raw::computeHeaderParity1 ( uint64_t  v)

compute parity of v, assuming it is 50 bits and represents a Sampa header (not using the existing header parity at bit position 6)

Definition at line 575 of file SampaHeader.cxx.

◆ computeHeaderParity2()

int o2::mch::raw::computeHeaderParity2 ( uint64_t  value)

Definition at line 594 of file SampaHeader.cxx.

◆ computeHeaderParity3()

int o2::mch::raw::computeHeaderParity3 ( uint64_t  value)

Definition at line 606 of file SampaHeader.cxx.

◆ computeHeaderParity4()

int o2::mch::raw::computeHeaderParity4 ( uint64_t  value)

Definition at line 629 of file SampaHeader.cxx.

◆ computeMask()

template<size_t N>
uint64_t o2::mch::raw::computeMask ( const std::array< uint64_t, N > &  masks)

Definition at line 539 of file SampaHeader.cxx.

◆ computeParity()

int o2::mch::raw::computeParity ( uint64_t  v)

Definition at line 618 of file SampaHeader.cxx.

◆ countHeaders()

int o2::mch::raw::countHeaders ( gsl::span< const std::byte >  buffer)

Count the headers in the input buffer.

Definition at line 42 of file DataBlock.cxx.

◆ countRDHs()

int o2::mch::raw::countRDHs ( gsl::span< const std::byte >  buffer)

Count the number of RDHs in the buffer.

Definition at line 241 of file RDHManip.cxx.

◆ createDet2ElecMapper()

template<typename T >
Det2ElecMapper o2::mch::raw::createDet2ElecMapper ( )

◆ createDet2ElecMapper< ElectronicMapperDummy >()

template<>
std::function< std::optional< DsElecId >(DsDetId)> o2::mch::raw::createDet2ElecMapper< ElectronicMapperDummy > ( )

Definition at line 67 of file ElectronicMapperDummy.cxx.

◆ createDet2ElecMapper< ElectronicMapperGenerated >()

template<>
std::function< std::optional< DsElecId >(DsDetId)> o2::mch::raw::createDet2ElecMapper< ElectronicMapperGenerated > ( )

Definition at line 100 of file ElectronicMapperGenerated.cxx.

◆ createDigit2ElecMapper()

Digit2ElecMapper o2::mch::raw::createDigit2ElecMapper ( Det2ElecMapper  det2elec)

Definition at line 21 of file Digit2ElecMapper.cxx.

◆ createElec2DetMapper()

template<typename T >
Elec2DetMapper o2::mch::raw::createElec2DetMapper ( uint64_t  timestamp = 0)

◆ createElec2DetMapper< ElectronicMapperDummy >()

template<>
std::function< std::optional< DsDetId >(DsElecId)> o2::mch::raw::createElec2DetMapper< ElectronicMapperDummy > ( uint64_t  timestamp)

Definition at line 67 of file ElectronicMapperDummy.cxx.

◆ createElec2DetMapper< ElectronicMapperGenerated >()

template<>
std::function< std::optional< DsDetId >(DsElecId)> o2::mch::raw::createElec2DetMapper< ElectronicMapperGenerated > ( uint64_t  )

Definition at line 100 of file ElectronicMapperGenerated.cxx.

◆ createElec2DetMapper< ElectronicMapperString >()

◆ createFeeLink2SolarMapper()

template<typename T >
FeeLink2SolarMapper o2::mch::raw::createFeeLink2SolarMapper ( )

◆ createFeeLink2SolarMapper< ElectronicMapperDummy >()

template<>
std::function< std::optional< uint16_t >(FeeLinkId)> o2::mch::raw::createFeeLink2SolarMapper< ElectronicMapperDummy > ( )

Definition at line 67 of file ElectronicMapperDummy.cxx.

◆ createFeeLink2SolarMapper< ElectronicMapperGenerated >()

template<>
std::function< std::optional< uint16_t >(FeeLinkId)> o2::mch::raw::createFeeLink2SolarMapper< ElectronicMapperGenerated > ( )

Definition at line 100 of file ElectronicMapperGenerated.cxx.

◆ createFeeLink2SolarMapper< ElectronicMapperString >()

◆ createPageDecoder() [1/4]

PageDecoder o2::mch::raw::createPageDecoder ( RawBuffer  rdhBuffer,
DecodedDataHandlers  decodedDataHandlers 
)

will be called for each decoded Sampa packet and in case of decoding errors

Definition at line 140 of file PageDecoder.cxx.

◆ createPageDecoder() [2/4]

PageDecoder o2::mch::raw::createPageDecoder ( RawBuffer  rdhBuffer,
DecodedDataHandlers  decodedDataHandlers,
FeeLink2SolarMapper  fee2solar 
)

Definition at line 103 of file PageDecoder.cxx.

◆ createPageDecoder() [3/4]

PageDecoder o2::mch::raw::createPageDecoder ( RawBuffer  rdhBuffer,
SampaChannelHandler  channelHandler 
)

Definition at line 146 of file PageDecoder.cxx.

◆ createPageDecoder() [4/4]

PageDecoder o2::mch::raw::createPageDecoder ( RawBuffer  rdhBuffer,
SampaChannelHandler  channelHandler,
FeeLink2SolarMapper  fee2solar 
)

Definition at line 153 of file PageDecoder.cxx.

◆ createPageParser()

PageParser o2::mch::raw::createPageParser ( )

Definition at line 160 of file PageDecoder.cxx.

◆ createPayloadEncoder() [1/2]

template<typename FORMAT , typename CHARGESUM , int VERSION, bool forceNoPhase = true>
std::unique_ptr< PayloadEncoder > o2::mch::raw::createPayloadEncoder ( Solar2FeeLinkMapper  solar2feelink)

Definition at line 36 of file PayloadEncoder.cxx.

◆ createPayloadEncoder() [2/2]

std::unique_ptr< PayloadEncoder > o2::mch::raw::createPayloadEncoder ( Solar2FeeLinkMapper  solar2feelink,
bool  userLogic,
int  version,
bool  chargeSumMode 
)

createPayloadEncoder creates a payload encoder

Parameters
userLogicwhether to encode in UserLogic (true) or BareFormat (false)
versiondefines the version of the encoding format (currently 0 or 1 are possible, just for UserLogic)
chargeSumModewhether to encode in charge sum mode (true) or sample mode (false)
solar2feelinka mapper to convert solarId values into FeeLinkId objects

Definition at line 41 of file PayloadEncoder.cxx.

◆ createRDH()

o2::header::RDHAny o2::mch::raw::createRDH ( gsl::span< const std::byte >  buffer,
int  version 
)

Create a RDH of the given version from the buffer (which should have the right size and content to be a valid RDH)

Definition at line 171 of file RDHManip.cxx.

◆ createSolar2FeeLinkMapper()

template<typename T >
Solar2FeeLinkMapper o2::mch::raw::createSolar2FeeLinkMapper ( )

◆ createSolar2FeeLinkMapper< ElectronicMapperDummy >()

template<>
std::function< std::optional< FeeLinkId >(uint16_t)> o2::mch::raw::createSolar2FeeLinkMapper< ElectronicMapperDummy > ( )

Definition at line 67 of file ElectronicMapperDummy.cxx.

◆ createSolar2FeeLinkMapper< ElectronicMapperGenerated >()

template<>
std::function< std::optional< FeeLinkId >(uint16_t)> o2::mch::raw::createSolar2FeeLinkMapper< ElectronicMapperGenerated > ( )

Definition at line 100 of file ElectronicMapperGenerated.cxx.

◆ createSolar2FeeLinkMapper< ElectronicMapperString >()

◆ createSolar2LinkInfo()

template<typename ELECMAP , typename FORMAT , typename CHARGESUM , int VERSION>
Solar2LinkInfo o2::mch::raw::createSolar2LinkInfo ( )

Creates a function that is able to convert a solarId into a LinkInfo

Definition at line 47 of file PayloadPaginator.cxx.

◆ createSolar2LinkInfo< ElectronicMapperDummy, BareFormat, ChargeSumMode, 0 >()

◆ createSolar2LinkInfo< ElectronicMapperDummy, BareFormat, SampleMode, 0 >()

◆ createSolar2LinkInfo< ElectronicMapperDummy, UserLogicFormat, ChargeSumMode, 0 >()

◆ createSolar2LinkInfo< ElectronicMapperDummy, UserLogicFormat, ChargeSumMode, 1 >()

◆ createSolar2LinkInfo< ElectronicMapperDummy, UserLogicFormat, SampleMode, 0 >()

◆ createSolar2LinkInfo< ElectronicMapperDummy, UserLogicFormat, SampleMode, 1 >()

◆ createSolar2LinkInfo< ElectronicMapperGenerated, BareFormat, ChargeSumMode, 0 >()

◆ createSolar2LinkInfo< ElectronicMapperGenerated, BareFormat, SampleMode, 0 >()

◆ createSolar2LinkInfo< ElectronicMapperGenerated, UserLogicFormat, ChargeSumMode, 0 >()

◆ createSolar2LinkInfo< ElectronicMapperGenerated, UserLogicFormat, ChargeSumMode, 1 >()

◆ createSolar2LinkInfo< ElectronicMapperGenerated, UserLogicFormat, SampleMode, 0 >()

◆ createSolar2LinkInfo< ElectronicMapperGenerated, UserLogicFormat, SampleMode, 1 >()

◆ decodeChannelId()

std::optional< uint8_t > o2::mch::raw::decodeChannelId ( std::string  rep)

Returns the channel number of a full string representation of (DsElecId,channel) If the string does not correspond to a valid (DsElecId,channel) pair then std::nullopt is returned

Definition at line 84 of file DsElecId.cxx.

◆ decodeDsDetId()

DsDetId o2::mch::raw::decodeDsDetId ( uint32_t  code)

Create a DsDetId object from a integer code.

Definition at line 33 of file DsDetId.cxx.

◆ decodeDsElecId() [1/2]

std::optional< DsElecId > o2::mch::raw::decodeDsElecId ( std::string  rep)

Creates (if possible) a DsElecId object from a string representation If the string does not correspond to a valid DsElectId std::nullopt is returned

Definition at line 54 of file DsElecId.cxx.

◆ decodeDsElecId() [2/2]

std::optional< DsElecId > o2::mch::raw::decodeDsElecId ( uint32_t  code)

Creates (if possible) a DsElecId object from a code. If the code does not correspond to a valid DsElectId std::nullopt is returned

Definition at line 37 of file DsElecId.cxx.

◆ decodeFeeLinkId()

FeeLinkId o2::mch::raw::decodeFeeLinkId ( uint32_t  code)

Definition at line 30 of file FeeLinkId.cxx.

◆ dumpOrbits()

void o2::mch::raw::dumpOrbits ( const std::unordered_set< OrbitInfo, OrbitInfoHash > &  mOrbits)

Definition at line 340 of file DataDecoder.cxx.

◆ eightBytes()

uint64_t o2::mch::raw::eightBytes ( gsl::span< const std::byte >  buffer)

Definition at line 159 of file RDHManip.cxx.

◆ elink2gbt()

template<typename CHARGESUM >
void o2::mch::raw::elink2gbt ( gsl::span< ElinkEncoder< BareFormat, CHARGESUM > >  elinks,
std::vector< uint64_t > &  b64 
)

Definition at line 71 of file BareElinkEncoderMerger.h.

◆ encode() [1/4]

uint32_t o2::mch::raw::encode ( const DsDetId id)

Create an integer code for the given id.

Definition at line 28 of file DsDetId.cxx.

◆ encode() [2/4]

uint32_t o2::mch::raw::encode ( const DsElecId id)

Definition at line 30 of file DsElecId.cxx.

◆ encode() [3/4]

uint32_t o2::mch::raw::encode ( const FeeLinkId id)

Definition at line 25 of file FeeLinkId.cxx.

◆ encode() [4/4]

uint64_t o2::mch::raw::encode ( const LinkInfo li)

Definition at line 26 of file PayloadPaginator.cxx.

◆ errorCodeAsString()

std::string o2::mch::raw::errorCodeAsString ( uint32_t  code)

Definition at line 36 of file ErrorCodes.cxx.

◆ extraFeeIdChargeSumMask()

template<typename CHARGESUM >
uint16_t o2::mch::raw::extraFeeIdChargeSumMask ( )

◆ extraFeeIdChargeSumMask< ChargeSumMode >()

Definition at line 20 of file DataFormats.cxx.

◆ extraFeeIdChargeSumMask< SampleMode >()

Definition at line 28 of file DataFormats.cxx.

◆ extraFeeIdVersionMask()

template<int VERSION>
uint16_t o2::mch::raw::extraFeeIdVersionMask ( )

Definition at line 33 of file DataFormats.cxx.

◆ extraFeeIdVersionMask< 0 >()

template uint16_t o2::mch::raw::extraFeeIdVersionMask< 0 > ( )

◆ extraFeeIdVersionMask< 1 >()

template uint16_t o2::mch::raw::extraFeeIdVersionMask< 1 > ( )

◆ flpName()

std::string o2::mch::raw::flpName ( LinkInfo  li)

Definition at line 74 of file PayloadPaginator.cxx.

◆ forEachDataBlockRef() [1/2]

int o2::mch::raw::forEachDataBlockRef ( gsl::span< const std::byte >  buffer,
std::function< void(DataBlockRef blockRef)>  f 
)

Loop over a buffer, that should consist of (DataBlockHeader,payload) pairs.

◆ forEachDataBlockRef() [2/2]

int o2::mch::raw::forEachDataBlockRef ( gsl::span< const std::byte >  buffer,
std::function< void(DataBlockRef ref)>  f 
)

Definition at line 23 of file DataBlock.cxx.

◆ forEachRDH()

int o2::mch::raw::forEachRDH ( gsl::span< const std::byte >  buffer,
std::function< void(const void *)>  f = nullptr 
)

Definition at line 193 of file RDHManip.cxx.

◆ getAllDs()

template<typename T >
std::set< DsElecId > o2::mch::raw::getAllDs ( )

Return the full set of Dual Sampa Electronic Id of MCH, for a given electronic mapping

◆ getAllDs< ElectronicMapperDummy >()

template<>
std::set< DsElecId > o2::mch::raw::getAllDs< ElectronicMapperDummy > ( )

Definition at line 67 of file ElectronicMapperDummy.cxx.

◆ getAllDs< ElectronicMapperGenerated >()

Definition at line 100 of file ElectronicMapperGenerated.cxx.

◆ getDecodingSpec()

o2::framework::DataProcessorSpec o2::mch::raw::getDecodingSpec ( const char specName = "mch-data-decoder",
std::string  inputSpec = "TF:MCH/RAWDATA",
bool  askDISTSTF = false 
)

Definition at line 354 of file DataDecoderSpec.cxx.

◆ getDigit2Elec()

Digit2ElecMapper o2::mch::raw::getDigit2Elec ( bool  dummyElecMap)

Definition at line 144 of file DigitRawEncoder.cxx.

◆ getDualSampaChannelId()

DualSampaChannelId o2::mch::raw::getDualSampaChannelId ( const SampaHeader sh)

Return channel number (0..63)

Definition at line 636 of file SampaHeader.cxx.

◆ getDualSampas()

template<typename T >
std::set< DsDetId > o2::mch::raw::getDualSampas ( uint16_t  solarId)

List of Dual Sampa handled by a given Solar.

◆ getDualSampas< ElectronicMapperDummy >()

template<>
std::set< DsDetId > o2::mch::raw::getDualSampas< ElectronicMapperDummy > ( uint16_t  solarId)

Definition at line 67 of file ElectronicMapperDummy.cxx.

◆ getDualSampas< ElectronicMapperGenerated >()

template<>
std::set< DsDetId > o2::mch::raw::getDualSampas< ElectronicMapperGenerated > ( uint16_t  solarId)

Definition at line 100 of file ElectronicMapperGenerated.cxx.

◆ getDualSampasPerFeeId()

template<typename T >
std::set< DsDetId > o2::mch::raw::getDualSampasPerFeeId ( uint16_t  feeId)

List of Dual Sampa handled by a given FeeId.

◆ getDualSampasPerFeeId< ElectronicMapperDummy >()

template<>
std::set< DsDetId > o2::mch::raw::getDualSampasPerFeeId< ElectronicMapperDummy > ( uint16_t  feeId)

Definition at line 67 of file ElectronicMapperDummy.cxx.

◆ getDualSampasPerFeeId< ElectronicMapperGenerated >()

template<>
std::set< DsDetId > o2::mch::raw::getDualSampasPerFeeId< ElectronicMapperGenerated > ( uint16_t  feeId)

Definition at line 100 of file ElectronicMapperGenerated.cxx.

◆ getDumpPagesSpec()

o2::framework::DataProcessorSpec o2::mch::raw::getDumpPagesSpec ( const char specName)

Definition at line 106 of file dump-pages-workflow.cxx.

◆ getErrorCodesSize()

uint32_t o2::mch::raw::getErrorCodesSize ( )

Definition at line 21 of file ErrorCodes.cxx.

◆ getFileReaderSpec()

o2::framework::DataProcessorSpec o2::mch::raw::getFileReaderSpec ( const char specName)

Definition at line 629 of file cru-page-reader-workflow.cxx.

◆ getLinks()

std::set< o2::mch::raw::LinkInfo > o2::mch::raw::getLinks ( Solar2LinkInfo  solar2LinkInfo,
bool  dummyElecMap 
)

Definition at line 119 of file DigitRawEncoder.cxx.

◆ getSolar2FeeLink()

Solar2FeeLinkMapper o2::mch::raw::getSolar2FeeLink ( bool  dummyElecMap)

Definition at line 103 of file DigitRawEncoder.cxx.

◆ getSolar2LinkInfo()

Solar2LinkInfo o2::mch::raw::getSolar2LinkInfo ( bool  userLogic,
bool  dummyElecMap,
int  userLogicVersion 
)

Definition at line 71 of file DigitRawEncoder.cxx.

◆ getSolarUIDs() [1/3]

template<typename T >
std::set< uint16_t > o2::mch::raw::getSolarUIDs ( )

List of Solar Unique Ids for all MCH.

◆ getSolarUIDs() [2/3]

std::set< uint16_t > o2::mch::raw::getSolarUIDs ( bool  dummyElecMap)

Definition at line 111 of file DigitRawEncoder.cxx.

◆ getSolarUIDs() [3/3]

template<typename T >
std::set< uint16_t > o2::mch::raw::getSolarUIDs ( int  deid)

List of Solar Unique Ids for a given detection element id.

◆ getSolarUIDs< ElectronicMapperDummy >() [1/2]

template<>
std::set< uint16_t > o2::mch::raw::getSolarUIDs< ElectronicMapperDummy > ( )

Definition at line 67 of file ElectronicMapperDummy.cxx.

◆ getSolarUIDs< ElectronicMapperDummy >() [2/2]

template<>
std::set< uint16_t > o2::mch::raw::getSolarUIDs< ElectronicMapperDummy > ( int  deid)

Definition at line 67 of file ElectronicMapperDummy.cxx.

◆ getSolarUIDs< ElectronicMapperGenerated >() [1/2]

template<>
std::set< uint16_t > o2::mch::raw::getSolarUIDs< ElectronicMapperGenerated > ( )

Definition at line 100 of file ElectronicMapperGenerated.cxx.

◆ getSolarUIDs< ElectronicMapperGenerated >() [2/2]

template<>
std::set< uint16_t > o2::mch::raw::getSolarUIDs< ElectronicMapperGenerated > ( int  deid)

Definition at line 100 of file ElectronicMapperGenerated.cxx.

◆ getSolarUIDs< ElectronicMapperString >()

template<>
std::set< uint16_t > o2::mch::raw::getSolarUIDs< ElectronicMapperString > ( )

Definition at line 37 of file ElectronicMapperString.cxx.

◆ getSolarUIDsPerFeeId()

template<typename T >
std::set< uint16_t > o2::mch::raw::getSolarUIDsPerFeeId ( uint16_t  feeId)

List of Solar Unique Ids for a given FeeId.

◆ getSolarUIDsPerFeeId< ElectronicMapperDummy >()

template<>
std::set< uint16_t > o2::mch::raw::getSolarUIDsPerFeeId< ElectronicMapperDummy > ( uint16_t  feeid)

Definition at line 67 of file ElectronicMapperDummy.cxx.

◆ getSolarUIDsPerFeeId< ElectronicMapperGenerated >()

template<>
std::set< uint16_t > o2::mch::raw::getSolarUIDsPerFeeId< ElectronicMapperGenerated > ( uint16_t  feeid)

Definition at line 100 of file ElectronicMapperGenerated.cxx.

◆ groupFromElinkId()

std::optional< uint8_t > o2::mch::raw::groupFromElinkId ( uint8_t  elinkId)

Extracts the group from the elinkId.

Definition at line 124 of file DsElecId.cxx.

◆ hasOrbitJump()

bool o2::mch::raw::hasOrbitJump ( uint32_t  orb1,
uint32_t  orb2 
)

Definition at line 28 of file PayloadDecoder.h.

◆ indexFromElinkId()

std::optional< uint8_t > o2::mch::raw::indexFromElinkId ( uint8_t  elinkId)

Extracts the index from the elinkId.

Definition at line 132 of file DsElecId.cxx.

◆ isSampaSync()

constexpr bool o2::mch::raw::isSampaSync ( uint64_t  w)
constexpr

Whether the 50 LSB bits match the sync word.

Definition at line 131 of file SampaHeader.h.

◆ isSync()

constexpr bool o2::mch::raw::isSync ( uint64_t  data)
constexpr

Definition at line 100 of file UserLogicElinkDecoder.h.

◆ linkRemapping()

template<typename FORMAT >
uint8_t o2::mch::raw::linkRemapping ( uint8_t  linkID)

◆ linkRemapping< BareFormat >()

template<>
uint8_t o2::mch::raw::linkRemapping< BareFormat > ( uint8_t  linkID)

Definition at line 50 of file DataFormats.cxx.

◆ linkRemapping< UserLogicFormat >()

template<>
uint8_t o2::mch::raw::linkRemapping< UserLogicFormat > ( uint8_t  linkID)

Definition at line 44 of file DataFormats.cxx.

◆ operator<() [1/5]

bool o2::mch::raw::operator< ( const DataBlockHeader a,
const DataBlockHeader b 
)

Definition at line 70 of file DataBlock.cxx.

◆ operator<() [2/5]

bool o2::mch::raw::operator< ( const DataBlockRef a,
const DataBlockRef b 
)

Definition at line 93 of file DataBlock.cxx.

◆ operator<() [3/5]

bool o2::mch::raw::operator< ( const DataDecoder::RawDigit d1,
const DataDecoder::RawDigit d2 
)

Definition at line 102 of file DataDecoder.cxx.

◆ operator<() [4/5]

bool o2::mch::raw::operator< ( const FeeLinkId f1,
const FeeLinkId f2 
)

Definition at line 48 of file FeeLinkId.cxx.

◆ operator<() [5/5]

bool o2::mch::raw::operator< ( const LinkInfo li1,
const LinkInfo li2 
)

Definition at line 34 of file PayloadPaginator.cxx.

◆ operator<<() [1/15]

std::ostream & o2::mch::raw::operator<< ( std::ostream &  os,
const BitSet bs 
)

Definition at line 434 of file BitSet.cxx.

◆ operator<<() [2/15]

std::ostream & o2::mch::raw::operator<< ( std::ostream &  os,
const DataBlock block 
)

Definition at line 54 of file DataBlock.cxx.

◆ operator<<() [3/15]

std::ostream & o2::mch::raw::operator<< ( std::ostream &  os,
const DataBlockHeader header 
)

Definition at line 47 of file DataBlock.cxx.

◆ operator<<() [4/15]

std::ostream & o2::mch::raw::operator<< ( std::ostream &  os,
const DataBlockRef ref 
)

Definition at line 61 of file DataBlock.cxx.

◆ operator<<() [5/15]

std::ostream & o2::mch::raw::operator<< ( std::ostream &  os,
const DataDecoder::RawDigit d 
)

Definition at line 119 of file DataDecoder.cxx.

◆ operator<<() [6/15]

std::ostream & o2::mch::raw::operator<< ( std::ostream &  os,
const DigitRawEncoderOptions opt 
)

Definition at line 152 of file DigitRawEncoder.cxx.

◆ operator<<() [7/15]

std::ostream & o2::mch::raw::operator<< ( std::ostream &  os,
const DsDetId id 
)

Definition at line 40 of file DsDetId.cxx.

◆ operator<<() [8/15]

std::ostream & o2::mch::raw::operator<< ( std::ostream &  os,
const DsElecId id 
)

Definition at line 112 of file DsElecId.cxx.

◆ operator<<() [9/15]

std::ostream & o2::mch::raw::operator<< ( std::ostream &  os,
const FEEID f 
)

Definition at line 55 of file DataFormats.cxx.

◆ operator<<() [10/15]

std::ostream & o2::mch::raw::operator<< ( std::ostream &  os,
const FeeLinkId id 
)

Definition at line 37 of file FeeLinkId.cxx.

◆ operator<<() [11/15]

std::ostream & o2::mch::raw::operator<< ( std::ostream &  os,
const LinkInfo li 
)

Definition at line 39 of file PayloadPaginator.cxx.

◆ operator<<() [12/15]

template<typename CHARGESUM >
std::ostream & o2::mch::raw::operator<< ( std::ostream &  os,
const o2::mch::raw::BareElinkDecoder< CHARGESUM > &  e 
)

Definition at line 395 of file BareElinkDecoder.h.

◆ operator<<() [13/15]

template<typename T >
std::ostream & o2::mch::raw::operator<< ( std::ostream &  os,
const o2::mch::raw::UserLogicElinkDecoder< T > &  e 
)

Definition at line 477 of file UserLogicElinkDecoder.h.

◆ operator<<() [14/15]

std::ostream & o2::mch::raw::operator<< ( std::ostream &  os,
const SampaCluster sc 
)

Definition at line 88 of file SampaCluster.cxx.

◆ operator<<() [15/15]

std::ostream & o2::mch::raw::operator<< ( std::ostream &  os,
const SampaHeader sh 
)

Definition at line 419 of file SampaHeader.cxx.

◆ orbitBC()

std::tuple< uint32_t, uint16_t > o2::mch::raw::orbitBC ( uint20_t  bunchCrossing,
uint32_t  firstOrbit 
)

Definition at line 33 of file SampaBunchCrossingCounter.cxx.

◆ packetTypeName()

std::string o2::mch::raw::packetTypeName ( SampaPacketType  pkt)

packetTypeName returns a string representation of the given packet type.

Definition at line 161 of file SampaHeader.cxx.

◆ paginate()

void o2::mch::raw::paginate ( o2::raw::RawFileWriter rawFileWriter,
gsl::span< const std::byte >  buffer,
const std::set< LinkInfo > &  links,
Solar2LinkInfo  solar2LinkInfo 
)

Definition at line 114 of file PayloadPaginator.cxx.

◆ partialOddParity()

template<size_t N>
int o2::mch::raw::partialOddParity ( uint64_t  value,
const std::array< uint64_t, N > &  masks 
)

Definition at line 482 of file SampaHeader.cxx.

◆ partialOddParity2()

template<size_t N>
int o2::mch::raw::partialOddParity2 ( uint64_t  value,
const std::array< int, N > &  pos 
)

Definition at line 470 of file SampaHeader.cxx.

◆ partialOddParity3()

int o2::mch::raw::partialOddParity3 ( uint64_t  value,
int  pos 
)

Definition at line 434 of file SampaHeader.cxx.

◆ phase()

int o2::mch::raw::phase ( int  i,
bool  forceNoPhase 
)
inline

Definition at line 100 of file GBTEncoder.h.

◆ rdhFromLinkInfo()

o2::header::RDHAny o2::mch::raw::rdhFromLinkInfo ( LinkInfo  li)

Definition at line 64 of file PayloadPaginator.cxx.

◆ registerLinks()

void o2::mch::raw::registerLinks ( o2::raw::RawFileWriter rawFileWriter,
std::string  outputBase,
const std::set< LinkInfo > &  links,
bool  filePerLink,
bool  filePerCru 
)

Definition at line 95 of file PayloadPaginator.cxx.

◆ sampaBunchCrossingCounter()

uint20_t o2::mch::raw::sampaBunchCrossingCounter ( uint32_t  orbit,
uint16_t  bc,
uint32_t  firstOrbit 
)

Definition at line 24 of file SampaBunchCrossingCounter.cxx.

◆ sampaHeartbeat()

SampaHeader o2::mch::raw::sampaHeartbeat ( uint8_t  elinkId,
uint20_t  bunchCrossing 
)

Heartbeat packet.

Definition at line 376 of file SampaHeader.cxx.

◆ sampaSync()

SampaHeader o2::mch::raw::sampaSync ( )

The 50-bits Sampa SYNC word.

Definition at line 363 of file SampaHeader.cxx.

◆ setupRawFileWriter()

void o2::mch::raw::setupRawFileWriter ( o2::raw::RawFileWriter fw,
const std::set< LinkInfo > &  links,
DigitRawEncoderOptions  opt 
)

Prepare the rawfilewriter for work.

Template Parameters
ELECMAP: a type describing the electronic mapping of MCH
FORMAT: the output raw data format (Bare or UserLogic)
CHARGESUM: the output raw data mode (Sample or ChargeSum Mode)
Parameters
fw: the rawFileWriter to configure
opts: processing options

Definition at line 38 of file DigitRawEncoder.cxx.

◆ showRDHs()

int o2::mch::raw::showRDHs ( gsl::span< const std::byte >  buffer)

Dump the RDHs found in the buffer.

Definition at line 215 of file RDHManip.cxx.

◆ solar2FeeLinkConsistencyCheck()

template<typename T >
std::vector< std::string > o2::mch::raw::solar2FeeLinkConsistencyCheck ( )

◆ solar2FeeLinkConsistencyCheck< ElectronicMapperDummy >()

template<>
std::vector< std::string > o2::mch::raw::solar2FeeLinkConsistencyCheck< ElectronicMapperDummy > ( )

Definition at line 67 of file ElectronicMapperDummy.cxx.

◆ solar2FeeLinkConsistencyCheck< ElectronicMapperGenerated >()

template<>
std::vector< std::string > o2::mch::raw::solar2FeeLinkConsistencyCheck< ElectronicMapperGenerated > ( )

Definition at line 100 of file ElectronicMapperGenerated.cxx.

◆ solarId2Index()

template<typename T >
std::optional< uint16_t > o2::mch::raw::solarId2Index ( uint16_t  solarId)

Convert a solarId into a solar index

◆ solarId2Index< ElectronicMapperDummy >()

template<>
std::optional< uint16_t > o2::mch::raw::solarId2Index< ElectronicMapperDummy > ( uint16_t  solarId)

Definition at line 67 of file ElectronicMapperDummy.cxx.

◆ solarId2Index< ElectronicMapperGenerated >()

template<>
std::optional< uint16_t > o2::mch::raw::solarId2Index< ElectronicMapperGenerated > ( uint16_t  solarId)

Definition at line 100 of file ElectronicMapperGenerated.cxx.

◆ solarIndex2Id()

template<typename T >
std::optional< uint16_t > o2::mch::raw::solarIndex2Id ( uint16_t  solarIndex)

Convert a solar index into a solarId

◆ solarIndex2Id< ElectronicMapperDummy >()

template<>
std::optional< uint16_t > o2::mch::raw::solarIndex2Id< ElectronicMapperDummy > ( uint16_t  solarIndex)

Definition at line 67 of file ElectronicMapperDummy.cxx.

◆ solarIndex2Id< ElectronicMapperGenerated >()

template<>
std::optional< uint16_t > o2::mch::raw::solarIndex2Id< ElectronicMapperGenerated > ( uint16_t  solarIndex)

Definition at line 100 of file ElectronicMapperGenerated.cxx.

Variable Documentation

◆ BCINORBIT

constexpr int o2::mch::raw::BCINORBIT = o2::constants::lhc::LHCMaxBunches
constexpr

Definition at line 22 of file SampaBunchCrossingCounter.cxx.

◆ conv

constexpr std::array<int, 49> o2::mch::raw::conv
constexpr
Initial value:
= {-1, -1, 7, -1, 8, 9, 10, -1, 11, 12, 13, 14, 15, 16, 17,
-1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30, 31, 32, -1, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49}

Definition at line 428 of file SampaHeader.cxx.

◆ deIdsOfCH10L

std::array< int, 13 > o2::mch::raw::deIdsOfCH10L {1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019}

Definition at line 36 of file Mapper.cxx.

◆ deIdsOfCH10R

std::array< int, 13 > o2::mch::raw::deIdsOfCH10R {1006, 1005, 1004, 1003, 1002, 1001, 1000, 1025, 1024, 1023, 1022, 1021, 1020}

Definition at line 35 of file Mapper.cxx.

◆ deIdsOfCH1L

std::array< int, 2 > o2::mch::raw::deIdsOfCH1L {101, 102}

Definition at line 18 of file Mapper.cxx.

◆ deIdsOfCH1R

std::array< int, 2 > o2::mch::raw::deIdsOfCH1R {100, 103}

Definition at line 17 of file Mapper.cxx.

◆ deIdsOfCH2L

std::array< int, 2 > o2::mch::raw::deIdsOfCH2L {201, 202}

Definition at line 20 of file Mapper.cxx.

◆ deIdsOfCH2R

std::array< int, 2 > o2::mch::raw::deIdsOfCH2R {200, 203}

Definition at line 19 of file Mapper.cxx.

◆ deIdsOfCH3L

std::array< int, 2 > o2::mch::raw::deIdsOfCH3L {301, 302}

Definition at line 22 of file Mapper.cxx.

◆ deIdsOfCH3R

std::array< int, 2 > o2::mch::raw::deIdsOfCH3R {300, 303}

Definition at line 21 of file Mapper.cxx.

◆ deIdsOfCH4L

std::array< int, 2 > o2::mch::raw::deIdsOfCH4L {401, 402}

Definition at line 24 of file Mapper.cxx.

◆ deIdsOfCH4R

std::array< int, 2 > o2::mch::raw::deIdsOfCH4R {400, 403}

Definition at line 23 of file Mapper.cxx.

◆ deIdsOfCH5L

std::array< int, 9 > o2::mch::raw::deIdsOfCH5L {505, 506, 507, 508, 509, 510, 511, 512, 513}

Definition at line 26 of file Mapper.cxx.

◆ deIdsOfCH5R

std::array< int, 9 > o2::mch::raw::deIdsOfCH5R {504, 503, 502, 501, 500, 517, 516, 515, 514}

Definition at line 25 of file Mapper.cxx.

◆ deIdsOfCH6L

std::array< int, 9 > o2::mch::raw::deIdsOfCH6L {605, 606, 607, 608, 609, 610, 611, 612, 613}

Definition at line 28 of file Mapper.cxx.

◆ deIdsOfCH6R

std::array< int, 9 > o2::mch::raw::deIdsOfCH6R {604, 603, 602, 601, 600, 617, 616, 615, 614}

Definition at line 27 of file Mapper.cxx.

◆ deIdsOfCH7L

std::array< int, 13 > o2::mch::raw::deIdsOfCH7L {707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719}

Definition at line 30 of file Mapper.cxx.

◆ deIdsOfCH7R

std::array< int, 13 > o2::mch::raw::deIdsOfCH7R {706, 705, 704, 703, 702, 701, 700, 725, 724, 723, 722, 721, 720}

Definition at line 29 of file Mapper.cxx.

◆ deIdsOfCH8L

std::array< int, 13 > o2::mch::raw::deIdsOfCH8L {807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819}

Definition at line 32 of file Mapper.cxx.

◆ deIdsOfCH8R

std::array< int, 13 > o2::mch::raw::deIdsOfCH8R {806, 805, 804, 803, 802, 801, 800, 825, 824, 823, 822, 821, 820}

Definition at line 31 of file Mapper.cxx.

◆ deIdsOfCH9L

std::array< int, 13 > o2::mch::raw::deIdsOfCH9L {907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919}

Definition at line 34 of file Mapper.cxx.

◆ deIdsOfCH9R

std::array< int, 13 > o2::mch::raw::deIdsOfCH9R {906, 905, 904, 903, 902, 901, 900, 925, 924, 923, 922, 921, 920}

Definition at line 33 of file Mapper.cxx.

◆ HEADERSIZE

constexpr int o2::mch::raw::HEADERSIZE = 50
constexpr

Definition at line 136 of file BareElinkDecoder.h.

◆ m0

std::array<uint64_t, 24> o2::mch::raw::m0 = {0x80, 0x100, 0x400, 0x800, 0x2000, 0x8000, 0x20000, 0x40000, 0x100000, 0x400000, 0x1000000, 0x4000000, 0x10000000, 0x40000000, 0x100000000, 0x200000000, 0x800000000, 0x2000000000, 0x8000000000, 0x20000000000, 0x80000000000, 0x200000000000, 0x800000000000, 0x2000000000000}

Definition at line 512 of file SampaHeader.cxx.

◆ m1

std::array<uint64_t, 23> o2::mch::raw::m1 = {0x80, 0x200, 0x400, 0x1000, 0x2000, 0x10000, 0x20000, 0x80000, 0x100000, 0x800000, 0x1000000, 0x8000000, 0x10000000, 0x80000000, 0x100000000, 0x400000000, 0x800000000, 0x4000000000, 0x8000000000, 0x40000000000, 0x80000000000, 0x400000000000, 0x800000000000}

Definition at line 513 of file SampaHeader.cxx.

◆ m2

std::array<uint64_t, 23> o2::mch::raw::m2 = {0x100, 0x200, 0x400, 0x4000, 0x8000, 0x10000, 0x20000, 0x200000, 0x400000, 0x800000, 0x1000000, 0x20000000, 0x40000000, 0x80000000, 0x100000000, 0x1000000000, 0x2000000000, 0x4000000000, 0x8000000000, 0x100000000000, 0x200000000000, 0x400000000000, 0x800000000000}

Definition at line 514 of file SampaHeader.cxx.

◆ m3

std::array<uint64_t, 23> o2::mch::raw::m3 = {0x800, 0x1000, 0x2000, 0x4000, 0x8000, 0x10000, 0x20000, 0x2000000, 0x4000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, 0x80000000, 0x100000000, 0x10000000000, 0x20000000000, 0x40000000000, 0x80000000000, 0x100000000000, 0x200000000000, 0x400000000000, 0x800000000000}

Definition at line 515 of file SampaHeader.cxx.

◆ m4

std::array<uint64_t, 17> o2::mch::raw::m4 = {0x40000, 0x80000, 0x100000, 0x200000, 0x400000, 0x800000, 0x1000000, 0x2000000, 0x4000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, 0x80000000, 0x100000000, 0x1000000000000, 0x2000000000000}

Definition at line 516 of file SampaHeader.cxx.

◆ m5

std::array<uint64_t, 17> o2::mch::raw::m5 = {0x200000000, 0x400000000, 0x800000000, 0x1000000000, 0x2000000000, 0x4000000000, 0x8000000000, 0x10000000000, 0x20000000000, 0x40000000000, 0x80000000000, 0x100000000000, 0x200000000000, 0x400000000000, 0x800000000000, 0x1000000000000, 0x2000000000000}

Definition at line 517 of file SampaHeader.cxx.

◆ p0

std::array<int, 24> o2::mch::raw::p0 {7, 8, 10, 11, 13, 15, 17, 18, 20, 22, 24, 26, 28, 30, 32, 33, 35, 37, 39, 41, 43, 45, 47, 49}

Definition at line 491 of file SampaHeader.cxx.

◆ p1

std::array<int, 23> o2::mch::raw::p1 {7, 9, 10, 12, 13, 16, 17, 19, 20, 23, 24, 27, 28, 31, 32, 34, 35, 38, 39, 42, 43, 46, 47}

Definition at line 492 of file SampaHeader.cxx.

◆ p2

std::array<int, 23> o2::mch::raw::p2 {8, 9, 10, 14, 15, 16, 17, 21, 22, 23, 24, 29, 30, 31, 32, 36, 37, 38, 39, 44, 45, 46, 47}

Definition at line 493 of file SampaHeader.cxx.

◆ p3

std::array<int, 23> o2::mch::raw::p3 {11, 12, 13, 14, 15, 16, 17, 25, 26, 27, 28, 29, 30, 31, 32, 40, 41, 42, 43, 44, 45, 46, 47}

Definition at line 494 of file SampaHeader.cxx.

◆ p4

std::array<int, 17> o2::mch::raw::p4 {18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 48, 49}

Definition at line 495 of file SampaHeader.cxx.

◆ p5

std::array<int, 17> o2::mch::raw::p5 {33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49}

Definition at line 496 of file SampaHeader.cxx.

◆ parityMasks

constexpr std::array<uint64_t, 49> o2::mch::raw::parityMasks = {0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x80, 0x100, 0x200, 0x400, 0x800, 0x1000, 0x2000, 0x4000, 0x8000, 0x10000, 0x20000, 0x40000, 0x80000, 0x100000, 0x200000, 0x400000, 0x800000, 0x1000000, 0x2000000, 0x4000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, 0x80000000, 0x100000000, 0x200000000, 0x400000000, 0x800000000, 0x1000000000, 0x2000000000, 0x4000000000, 0x8000000000, 0x10000000000, 0x20000000000, 0x40000000000, 0x80000000000, 0x100000000000, 0x200000000000, 0x400000000000, 0x800000000000, 0x1000000000000, 0x2000000000000}
constexpr

Definition at line 592 of file SampaHeader.cxx.

◆ sampaSyncWord

constexpr uint64_t o2::mch::raw::sampaSyncWord {0x1555540f00113}
constexpr

Definition at line 128 of file SampaHeader.h.

◆ tfQueues

TFQueue o2::mch::raw::tfQueues[NFEEID][NLINKS]

Definition at line 162 of file cru-page-reader-workflow.cxx.