![]() |
Project
|
Namespaces | |
namespace | impl |
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< DsElecId > | decodeDsElecId (uint32_t code) |
std::optional< DsElecId > | decodeDsElecId (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< DsDetId > | getDualSampas (uint16_t solarId) |
List of Dual Sampa handled by a given Solar. | |
template<typename T > | |
std::set< DsDetId > | getDualSampasPerFeeId (uint16_t feeId) |
List of Dual Sampa handled by a given FeeId. | |
template<typename T > | |
std::set< DsElecId > | getAllDs () |
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< DsElecId > | getAllDs< ElectronicMapperDummy > () |
template<> | |
std::set< uint16_t > | getSolarUIDsPerFeeId< ElectronicMapperDummy > (uint16_t feeid) |
template<> | |
std::set< DsDetId > | getDualSampas< ElectronicMapperDummy > (uint16_t solarId) |
template<> | |
std::set< DsDetId > | getDualSampasPerFeeId< 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< DsElecId > | getAllDs< ElectronicMapperGenerated > () |
template<> | |
std::set< uint16_t > | getSolarUIDsPerFeeId< ElectronicMapperGenerated > (uint16_t feeid) |
template<> | |
std::set< DsDetId > | getDualSampas< ElectronicMapperGenerated > (uint16_t solarId) |
template<> | |
std::set< DsDetId > | getDualSampasPerFeeId< 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::LinkInfo > | getLinks (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< PayloadEncoder > | createPayloadEncoder (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< PayloadEncoder > | createPayloadEncoder (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 () |
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.
using o2::mch::raw::Det2ElecMapper = typedef std::function<std::optional<DsElecId>(DsDetId id)> |
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.
using o2::mch::raw::DualSampaChannelId = typedef uint6_t |
Definition at line 65 of file DataFormats.h.
using o2::mch::raw::Elec2DetMapper = typedef std::function<std::optional<DsDetId>(DsElecId)> |
using o2::mch::raw::FeeLink2SolarMapper = typedef std::function<std::optional<uint16_t>(FeeLinkId id)> |
using o2::mch::raw::Page = typedef gsl::span<const std::byte> |
Definition at line 25 of file PageDecoder.h.
using o2::mch::raw::PageDecoder = typedef std::function<void(Page buffer)> |
Definition at line 28 of file PageDecoder.h.
using o2::mch::raw::PageParser = typedef std::function<void(RawBuffer buffer, PageDecoder pageDecoder)> |
Definition at line 63 of file PageDecoder.h.
using o2::mch::raw::Payload = typedef Page |
Definition at line 33 of file PayloadDecoder.h.
using o2::mch::raw::RawBuffer = typedef gsl::span<const std::byte> |
Definition at line 30 of file PageDecoder.h.
typedef o2::header::RDHAny o2::mch::raw::RDH |
Definition at line 63 of file pedestal-decoding-workflow.cxx.
using o2::mch::raw::RdhHandler = typedef std::function<void(o2::header::RDHAny*)> |
Definition at line 41 of file DataDecoder.h.
using o2::mch::raw::SampaChannelAddress = typedef uint5_t |
Definition at line 64 of file DataFormats.h.
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.
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.
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.
using o2::mch::raw::Solar2FeeLinkMapper = typedef std::function<std::optional<FeeLinkId>(uint16_t solarId)> |
using o2::mch::raw::Solar2LinkInfo = typedef std::function<std::optional<LinkInfo>(uint16_t)> |
Definition at line 43 of file PayloadPaginator.h.
using o2::mch::raw::TFQueue = typedef std::queue<TimeFrame> |
Definition at line 160 of file cru-page-reader-workflow.cxx.
using o2::mch::raw::uint10_t = typedef uint16_t |
Definition at line 67 of file DataFormats.h.
using o2::mch::raw::uint20_t = typedef uint32_t |
Definition at line 68 of file DataFormats.h.
using o2::mch::raw::uint50_t = typedef uint64_t |
Definition at line 69 of file DataFormats.h.
using o2::mch::raw::uint5_t = typedef uint8_t |
Definition at line 61 of file DataFormats.h.
using o2::mch::raw::uint6_t = typedef uint8_t |
Definition at line 62 of file DataFormats.h.
Definition at line 25 of file ErrorCodes.h.
|
strong |
Enumerator | |
---|---|
None | |
PerLink | |
PerCruEndpoint |
Definition at line 32 of file DigitRawEncoder.h.
|
strong |
Enumerator | |
---|---|
HeartBeat | |
DataTruncated | |
Sync | |
DataTruncatedTriggerTooEarly | |
Data | |
DataNumWords | |
DataTriggerTooEarly | |
DataTriggerTooEarlyNumWords |
Definition at line 26 of file SampaHeader.h.
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.
void o2::mch::raw::align | ( | gsl::span< ElinkEncoder< BareFormat, CHARGESUM > > | elinks | ) |
Definition at line 36 of file BareElinkEncoderMerger.h.
Definition at line 26 of file ErrorCodes.cxx.
void o2::mch::raw::append | ( | std::vector< std::byte > & | buffer, |
uint64_t | w | ||
) |
Definition at line 129 of file RDHManip.cxx.
void o2::mch::raw::append | ( | std::vector< uint32_t > & | buffer, |
uint64_t | w | ||
) |
Definition at line 141 of file RDHManip.cxx.
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.
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.
bool o2::mch::raw::areElinksAligned | ( | gsl::span< ElinkEncoder< BareFormat, CHARGESUM > > | elinks | ) |
Definition at line 24 of file BareElinkEncoderMerger.h.
void o2::mch::raw::AssertBranch | ( | ROOT::Internal::TTreeReaderValueBase & | value | ) |
Definition at line 19 of file DigitTreeReader.cxx.
void o2::mch::raw::assertNotMixingClusters | ( | const std::vector< SampaCluster > & | data | ) |
Definition at line 85 of file SampaCluster.h.
std::string o2::mch::raw::asString | ( | const DataDecoder::RawDigit & | d | ) |
Definition at line 113 of file DataDecoder.cxx.
std::string o2::mch::raw::asString | ( | const FeeLinkId & | feeLinkId | ) |
Definition at line 43 of file FeeLinkId.cxx.
std::string o2::mch::raw::asString | ( | const SampaCluster & | sc | ) |
Definition at line 105 of file SampaCluster.cxx.
std::string o2::mch::raw::asString | ( | const SampaHeader & | sh | ) |
Definition at line 389 of file SampaHeader.cxx.
std::string o2::mch::raw::asString | ( | DsDetId | dsDetId | ) |
Returns a string representation of the id.
Definition at line 46 of file DsDetId.cxx.
std::string o2::mch::raw::asString | ( | DsElecId | dsId | ) |
Returns a string representation of the given DsElecId.
Definition at line 119 of file DsElecId.cxx.
std::string o2::mch::raw::asString | ( | o2::mch::Digit | d | ) |
Definition at line 31 of file DigitPayloadEncoder.cxx.
std::string o2::mch::raw::bitBufferString | ( | const std::bitset< 50 > & | bs, |
int | imax | ||
) |
Definition at line 48 of file BareELinkDecoder.cxx.
Definition at line 421 of file BitSet.cxx.
std::string o2::mch::raw::compactString | ( | const BitSet & | bs | ) |
Definition at line 440 of file BitSet.cxx.
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.
int o2::mch::raw::computeHammingCode1 | ( | uint64_t | value | ) |
Definition at line 524 of file SampaHeader.cxx.
int o2::mch::raw::computeHammingCode2 | ( | uint64_t | value | ) |
Definition at line 498 of file SampaHeader.cxx.
int o2::mch::raw::computeHammingCode3 | ( | uint64_t | value | ) |
Definition at line 457 of file SampaHeader.cxx.
int o2::mch::raw::computeHammingCode4 | ( | uint64_t | value | ) |
Definition at line 549 of file SampaHeader.cxx.
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.
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.
int o2::mch::raw::computeHeaderParity2 | ( | uint64_t | value | ) |
Definition at line 594 of file SampaHeader.cxx.
int o2::mch::raw::computeHeaderParity3 | ( | uint64_t | value | ) |
Definition at line 606 of file SampaHeader.cxx.
int o2::mch::raw::computeHeaderParity4 | ( | uint64_t | value | ) |
Definition at line 629 of file SampaHeader.cxx.
uint64_t o2::mch::raw::computeMask | ( | const std::array< uint64_t, N > & | masks | ) |
Definition at line 539 of file SampaHeader.cxx.
int o2::mch::raw::computeParity | ( | uint64_t | v | ) |
Definition at line 618 of file SampaHeader.cxx.
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.
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.
Det2ElecMapper o2::mch::raw::createDet2ElecMapper | ( | ) |
std::function< std::optional< DsElecId >(DsDetId)> o2::mch::raw::createDet2ElecMapper< ElectronicMapperDummy > | ( | ) |
Definition at line 67 of file ElectronicMapperDummy.cxx.
std::function< std::optional< DsElecId >(DsDetId)> o2::mch::raw::createDet2ElecMapper< ElectronicMapperGenerated > | ( | ) |
Definition at line 100 of file ElectronicMapperGenerated.cxx.
Digit2ElecMapper o2::mch::raw::createDigit2ElecMapper | ( | Det2ElecMapper | det2elec | ) |
Definition at line 21 of file Digit2ElecMapper.cxx.
Elec2DetMapper o2::mch::raw::createElec2DetMapper | ( | uint64_t | timestamp = 0 | ) |
std::function< std::optional< DsDetId >(DsElecId)> o2::mch::raw::createElec2DetMapper< ElectronicMapperDummy > | ( | uint64_t | timestamp | ) |
Definition at line 67 of file ElectronicMapperDummy.cxx.
std::function< std::optional< DsDetId >(DsElecId)> o2::mch::raw::createElec2DetMapper< ElectronicMapperGenerated > | ( | uint64_t | ) |
Definition at line 100 of file ElectronicMapperGenerated.cxx.
Elec2DetMapper o2::mch::raw::createElec2DetMapper< ElectronicMapperString > | ( | uint64_t | ) |
Definition at line 23 of file ElectronicMapperString.cxx.
FeeLink2SolarMapper o2::mch::raw::createFeeLink2SolarMapper | ( | ) |
std::function< std::optional< uint16_t >(FeeLinkId)> o2::mch::raw::createFeeLink2SolarMapper< ElectronicMapperDummy > | ( | ) |
Definition at line 67 of file ElectronicMapperDummy.cxx.
std::function< std::optional< uint16_t >(FeeLinkId)> o2::mch::raw::createFeeLink2SolarMapper< ElectronicMapperGenerated > | ( | ) |
Definition at line 100 of file ElectronicMapperGenerated.cxx.
FeeLink2SolarMapper o2::mch::raw::createFeeLink2SolarMapper< ElectronicMapperString > | ( | ) |
Definition at line 30 of file ElectronicMapperString.cxx.
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.
PageDecoder o2::mch::raw::createPageDecoder | ( | RawBuffer | rdhBuffer, |
DecodedDataHandlers | decodedDataHandlers, | ||
FeeLink2SolarMapper | fee2solar | ||
) |
Definition at line 103 of file PageDecoder.cxx.
PageDecoder o2::mch::raw::createPageDecoder | ( | RawBuffer | rdhBuffer, |
SampaChannelHandler | channelHandler | ||
) |
Definition at line 146 of file PageDecoder.cxx.
PageDecoder o2::mch::raw::createPageDecoder | ( | RawBuffer | rdhBuffer, |
SampaChannelHandler | channelHandler, | ||
FeeLink2SolarMapper | fee2solar | ||
) |
Definition at line 153 of file PageDecoder.cxx.
PageParser o2::mch::raw::createPageParser | ( | ) |
Definition at line 160 of file PageDecoder.cxx.
std::unique_ptr< PayloadEncoder > o2::mch::raw::createPayloadEncoder | ( | Solar2FeeLinkMapper | solar2feelink | ) |
Definition at line 36 of file PayloadEncoder.cxx.
std::unique_ptr< PayloadEncoder > o2::mch::raw::createPayloadEncoder | ( | Solar2FeeLinkMapper | solar2feelink, |
bool | userLogic, | ||
int | version, | ||
bool | chargeSumMode | ||
) |
createPayloadEncoder creates a payload encoder
userLogic | whether to encode in UserLogic (true) or BareFormat (false) |
version | defines the version of the encoding format (currently 0 or 1 are possible, just for UserLogic) |
chargeSumMode | whether to encode in charge sum mode (true) or sample mode (false) |
solar2feelink | a mapper to convert solarId values into FeeLinkId objects |
Definition at line 41 of file PayloadEncoder.cxx.
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.
Solar2FeeLinkMapper o2::mch::raw::createSolar2FeeLinkMapper | ( | ) |
std::function< std::optional< FeeLinkId >(uint16_t)> o2::mch::raw::createSolar2FeeLinkMapper< ElectronicMapperDummy > | ( | ) |
Definition at line 67 of file ElectronicMapperDummy.cxx.
std::function< std::optional< FeeLinkId >(uint16_t)> o2::mch::raw::createSolar2FeeLinkMapper< ElectronicMapperGenerated > | ( | ) |
Definition at line 100 of file ElectronicMapperGenerated.cxx.
Solar2FeeLinkMapper o2::mch::raw::createSolar2FeeLinkMapper< ElectronicMapperString > | ( | ) |
Definition at line 37 of file ElectronicMapperString.cxx.
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.
template Solar2LinkInfo o2::mch::raw::createSolar2LinkInfo< ElectronicMapperDummy, BareFormat, ChargeSumMode, 0 > | ( | ) |
template Solar2LinkInfo o2::mch::raw::createSolar2LinkInfo< ElectronicMapperDummy, BareFormat, SampleMode, 0 > | ( | ) |
template Solar2LinkInfo o2::mch::raw::createSolar2LinkInfo< ElectronicMapperDummy, UserLogicFormat, ChargeSumMode, 0 > | ( | ) |
template Solar2LinkInfo o2::mch::raw::createSolar2LinkInfo< ElectronicMapperDummy, UserLogicFormat, ChargeSumMode, 1 > | ( | ) |
template Solar2LinkInfo o2::mch::raw::createSolar2LinkInfo< ElectronicMapperDummy, UserLogicFormat, SampleMode, 0 > | ( | ) |
template Solar2LinkInfo o2::mch::raw::createSolar2LinkInfo< ElectronicMapperDummy, UserLogicFormat, SampleMode, 1 > | ( | ) |
template Solar2LinkInfo o2::mch::raw::createSolar2LinkInfo< ElectronicMapperGenerated, BareFormat, ChargeSumMode, 0 > | ( | ) |
template Solar2LinkInfo o2::mch::raw::createSolar2LinkInfo< ElectronicMapperGenerated, BareFormat, SampleMode, 0 > | ( | ) |
template Solar2LinkInfo o2::mch::raw::createSolar2LinkInfo< ElectronicMapperGenerated, UserLogicFormat, ChargeSumMode, 0 > | ( | ) |
template Solar2LinkInfo o2::mch::raw::createSolar2LinkInfo< ElectronicMapperGenerated, UserLogicFormat, ChargeSumMode, 1 > | ( | ) |
template Solar2LinkInfo o2::mch::raw::createSolar2LinkInfo< ElectronicMapperGenerated, UserLogicFormat, SampleMode, 0 > | ( | ) |
template Solar2LinkInfo o2::mch::raw::createSolar2LinkInfo< ElectronicMapperGenerated, UserLogicFormat, SampleMode, 1 > | ( | ) |
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.
DsDetId o2::mch::raw::decodeDsDetId | ( | uint32_t | code | ) |
Create a DsDetId object from a integer code.
Definition at line 33 of file DsDetId.cxx.
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.
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.
FeeLinkId o2::mch::raw::decodeFeeLinkId | ( | uint32_t | code | ) |
Definition at line 30 of file FeeLinkId.cxx.
void o2::mch::raw::dumpOrbits | ( | const std::unordered_set< OrbitInfo, OrbitInfoHash > & | mOrbits | ) |
Definition at line 340 of file DataDecoder.cxx.
uint64_t o2::mch::raw::eightBytes | ( | gsl::span< const std::byte > | buffer | ) |
Definition at line 159 of file RDHManip.cxx.
void o2::mch::raw::elink2gbt | ( | gsl::span< ElinkEncoder< BareFormat, CHARGESUM > > | elinks, |
std::vector< uint64_t > & | b64 | ||
) |
Definition at line 71 of file BareElinkEncoderMerger.h.
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.
uint32_t o2::mch::raw::encode | ( | const DsElecId & | id | ) |
Definition at line 30 of file DsElecId.cxx.
uint32_t o2::mch::raw::encode | ( | const FeeLinkId & | id | ) |
Definition at line 25 of file FeeLinkId.cxx.
uint64_t o2::mch::raw::encode | ( | const LinkInfo & | li | ) |
Definition at line 26 of file PayloadPaginator.cxx.
std::string o2::mch::raw::errorCodeAsString | ( | uint32_t | code | ) |
Definition at line 36 of file ErrorCodes.cxx.
uint16_t o2::mch::raw::extraFeeIdChargeSumMask | ( | ) |
uint16_t o2::mch::raw::extraFeeIdChargeSumMask< ChargeSumMode > | ( | ) |
Definition at line 20 of file DataFormats.cxx.
uint16_t o2::mch::raw::extraFeeIdChargeSumMask< SampleMode > | ( | ) |
Definition at line 28 of file DataFormats.cxx.
uint16_t o2::mch::raw::extraFeeIdVersionMask | ( | ) |
Definition at line 33 of file DataFormats.cxx.
template uint16_t o2::mch::raw::extraFeeIdVersionMask< 0 > | ( | ) |
template uint16_t o2::mch::raw::extraFeeIdVersionMask< 1 > | ( | ) |
std::string o2::mch::raw::flpName | ( | LinkInfo | li | ) |
Definition at line 74 of file PayloadPaginator.cxx.
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.
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.
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.
std::set< DsElecId > o2::mch::raw::getAllDs | ( | ) |
Return the full set of Dual Sampa Electronic Id of MCH, for a given electronic mapping
std::set< DsElecId > o2::mch::raw::getAllDs< ElectronicMapperDummy > | ( | ) |
Definition at line 67 of file ElectronicMapperDummy.cxx.
std::set< DsElecId > o2::mch::raw::getAllDs< ElectronicMapperGenerated > | ( | ) |
Definition at line 100 of file ElectronicMapperGenerated.cxx.
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.
Digit2ElecMapper o2::mch::raw::getDigit2Elec | ( | bool | dummyElecMap | ) |
Definition at line 144 of file DigitRawEncoder.cxx.
DualSampaChannelId o2::mch::raw::getDualSampaChannelId | ( | const SampaHeader & | sh | ) |
Return channel number (0..63)
Definition at line 636 of file SampaHeader.cxx.
std::set< DsDetId > o2::mch::raw::getDualSampas | ( | uint16_t | solarId | ) |
List of Dual Sampa handled by a given Solar.
std::set< DsDetId > o2::mch::raw::getDualSampas< ElectronicMapperDummy > | ( | uint16_t | solarId | ) |
Definition at line 67 of file ElectronicMapperDummy.cxx.
std::set< DsDetId > o2::mch::raw::getDualSampas< ElectronicMapperGenerated > | ( | uint16_t | solarId | ) |
Definition at line 100 of file ElectronicMapperGenerated.cxx.
std::set< DsDetId > o2::mch::raw::getDualSampasPerFeeId | ( | uint16_t | feeId | ) |
List of Dual Sampa handled by a given FeeId.
std::set< DsDetId > o2::mch::raw::getDualSampasPerFeeId< ElectronicMapperDummy > | ( | uint16_t | feeId | ) |
Definition at line 67 of file ElectronicMapperDummy.cxx.
std::set< DsDetId > o2::mch::raw::getDualSampasPerFeeId< ElectronicMapperGenerated > | ( | uint16_t | feeId | ) |
Definition at line 100 of file ElectronicMapperGenerated.cxx.
o2::framework::DataProcessorSpec o2::mch::raw::getDumpPagesSpec | ( | const char * | specName | ) |
Definition at line 106 of file dump-pages-workflow.cxx.
uint32_t o2::mch::raw::getErrorCodesSize | ( | ) |
Definition at line 21 of file ErrorCodes.cxx.
o2::framework::DataProcessorSpec o2::mch::raw::getFileReaderSpec | ( | const char * | specName | ) |
Definition at line 629 of file cru-page-reader-workflow.cxx.
std::set< o2::mch::raw::LinkInfo > o2::mch::raw::getLinks | ( | Solar2LinkInfo | solar2LinkInfo, |
bool | dummyElecMap | ||
) |
Definition at line 119 of file DigitRawEncoder.cxx.
Solar2FeeLinkMapper o2::mch::raw::getSolar2FeeLink | ( | bool | dummyElecMap | ) |
Definition at line 103 of file DigitRawEncoder.cxx.
Solar2LinkInfo o2::mch::raw::getSolar2LinkInfo | ( | bool | userLogic, |
bool | dummyElecMap, | ||
int | userLogicVersion | ||
) |
Definition at line 71 of file DigitRawEncoder.cxx.
std::set< uint16_t > o2::mch::raw::getSolarUIDs | ( | ) |
List of Solar Unique Ids for all MCH.
std::set< uint16_t > o2::mch::raw::getSolarUIDs | ( | bool | dummyElecMap | ) |
Definition at line 111 of file DigitRawEncoder.cxx.
std::set< uint16_t > o2::mch::raw::getSolarUIDs | ( | int | deid | ) |
List of Solar Unique Ids for a given detection element id.
std::set< uint16_t > o2::mch::raw::getSolarUIDs< ElectronicMapperDummy > | ( | ) |
Definition at line 67 of file ElectronicMapperDummy.cxx.
std::set< uint16_t > o2::mch::raw::getSolarUIDs< ElectronicMapperDummy > | ( | int | deid | ) |
Definition at line 67 of file ElectronicMapperDummy.cxx.
std::set< uint16_t > o2::mch::raw::getSolarUIDs< ElectronicMapperGenerated > | ( | ) |
Definition at line 100 of file ElectronicMapperGenerated.cxx.
std::set< uint16_t > o2::mch::raw::getSolarUIDs< ElectronicMapperGenerated > | ( | int | deid | ) |
Definition at line 100 of file ElectronicMapperGenerated.cxx.
std::set< uint16_t > o2::mch::raw::getSolarUIDs< ElectronicMapperString > | ( | ) |
Definition at line 37 of file ElectronicMapperString.cxx.
std::set< uint16_t > o2::mch::raw::getSolarUIDsPerFeeId | ( | uint16_t | feeId | ) |
List of Solar Unique Ids for a given FeeId.
std::set< uint16_t > o2::mch::raw::getSolarUIDsPerFeeId< ElectronicMapperDummy > | ( | uint16_t | feeid | ) |
Definition at line 67 of file ElectronicMapperDummy.cxx.
std::set< uint16_t > o2::mch::raw::getSolarUIDsPerFeeId< ElectronicMapperGenerated > | ( | uint16_t | feeid | ) |
Definition at line 100 of file ElectronicMapperGenerated.cxx.
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.
bool o2::mch::raw::hasOrbitJump | ( | uint32_t | orb1, |
uint32_t | orb2 | ||
) |
Definition at line 28 of file PayloadDecoder.h.
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.
|
constexpr |
Whether the 50 LSB bits match the sync word.
Definition at line 131 of file SampaHeader.h.
|
constexpr |
Definition at line 100 of file UserLogicElinkDecoder.h.
uint8_t o2::mch::raw::linkRemapping | ( | uint8_t | linkID | ) |
uint8_t o2::mch::raw::linkRemapping< BareFormat > | ( | uint8_t | linkID | ) |
Definition at line 50 of file DataFormats.cxx.
uint8_t o2::mch::raw::linkRemapping< UserLogicFormat > | ( | uint8_t | linkID | ) |
Definition at line 44 of file DataFormats.cxx.
bool o2::mch::raw::operator< | ( | const DataBlockHeader & | a, |
const DataBlockHeader & | b | ||
) |
Definition at line 70 of file DataBlock.cxx.
bool o2::mch::raw::operator< | ( | const DataBlockRef & | a, |
const DataBlockRef & | b | ||
) |
Definition at line 93 of file DataBlock.cxx.
bool o2::mch::raw::operator< | ( | const DataDecoder::RawDigit & | d1, |
const DataDecoder::RawDigit & | d2 | ||
) |
Definition at line 102 of file DataDecoder.cxx.
Definition at line 48 of file FeeLinkId.cxx.
Definition at line 34 of file PayloadPaginator.cxx.
std::ostream & o2::mch::raw::operator<< | ( | std::ostream & | os, |
const BitSet & | bs | ||
) |
Definition at line 434 of file BitSet.cxx.
std::ostream & o2::mch::raw::operator<< | ( | std::ostream & | os, |
const DataBlock & | block | ||
) |
Definition at line 54 of file DataBlock.cxx.
std::ostream & o2::mch::raw::operator<< | ( | std::ostream & | os, |
const DataBlockHeader & | header | ||
) |
Definition at line 47 of file DataBlock.cxx.
std::ostream & o2::mch::raw::operator<< | ( | std::ostream & | os, |
const DataBlockRef & | ref | ||
) |
Definition at line 61 of file DataBlock.cxx.
std::ostream & o2::mch::raw::operator<< | ( | std::ostream & | os, |
const DataDecoder::RawDigit & | d | ||
) |
Definition at line 119 of file DataDecoder.cxx.
std::ostream & o2::mch::raw::operator<< | ( | std::ostream & | os, |
const DigitRawEncoderOptions & | opt | ||
) |
Definition at line 152 of file DigitRawEncoder.cxx.
std::ostream & o2::mch::raw::operator<< | ( | std::ostream & | os, |
const DsDetId & | id | ||
) |
Definition at line 40 of file DsDetId.cxx.
std::ostream & o2::mch::raw::operator<< | ( | std::ostream & | os, |
const DsElecId & | id | ||
) |
Definition at line 112 of file DsElecId.cxx.
std::ostream & o2::mch::raw::operator<< | ( | std::ostream & | os, |
const FEEID & | f | ||
) |
Definition at line 55 of file DataFormats.cxx.
std::ostream & o2::mch::raw::operator<< | ( | std::ostream & | os, |
const FeeLinkId & | id | ||
) |
Definition at line 37 of file FeeLinkId.cxx.
std::ostream & o2::mch::raw::operator<< | ( | std::ostream & | os, |
const LinkInfo & | li | ||
) |
Definition at line 39 of file PayloadPaginator.cxx.
std::ostream & o2::mch::raw::operator<< | ( | std::ostream & | os, |
const o2::mch::raw::BareElinkDecoder< CHARGESUM > & | e | ||
) |
Definition at line 395 of file BareElinkDecoder.h.
std::ostream & o2::mch::raw::operator<< | ( | std::ostream & | os, |
const o2::mch::raw::UserLogicElinkDecoder< T > & | e | ||
) |
Definition at line 477 of file UserLogicElinkDecoder.h.
std::ostream & o2::mch::raw::operator<< | ( | std::ostream & | os, |
const SampaCluster & | sc | ||
) |
Definition at line 88 of file SampaCluster.cxx.
std::ostream & o2::mch::raw::operator<< | ( | std::ostream & | os, |
const SampaHeader & | sh | ||
) |
Definition at line 419 of file SampaHeader.cxx.
std::tuple< uint32_t, uint16_t > o2::mch::raw::orbitBC | ( | uint20_t | bunchCrossing, |
uint32_t | firstOrbit | ||
) |
Definition at line 33 of file SampaBunchCrossingCounter.cxx.
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.
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.
int o2::mch::raw::partialOddParity | ( | uint64_t | value, |
const std::array< uint64_t, N > & | masks | ||
) |
Definition at line 482 of file SampaHeader.cxx.
int o2::mch::raw::partialOddParity2 | ( | uint64_t | value, |
const std::array< int, N > & | pos | ||
) |
Definition at line 470 of file SampaHeader.cxx.
Definition at line 434 of file SampaHeader.cxx.
Definition at line 100 of file GBTEncoder.h.
o2::header::RDHAny o2::mch::raw::rdhFromLinkInfo | ( | LinkInfo | li | ) |
Definition at line 64 of file PayloadPaginator.cxx.
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.
uint20_t o2::mch::raw::sampaBunchCrossingCounter | ( | uint32_t | orbit, |
uint16_t | bc, | ||
uint32_t | firstOrbit | ||
) |
Definition at line 24 of file SampaBunchCrossingCounter.cxx.
SampaHeader o2::mch::raw::sampaHeartbeat | ( | uint8_t | elinkId, |
uint20_t | bunchCrossing | ||
) |
Heartbeat packet.
Definition at line 376 of file SampaHeader.cxx.
SampaHeader o2::mch::raw::sampaSync | ( | ) |
The 50-bits Sampa SYNC word.
Definition at line 363 of file SampaHeader.cxx.
void o2::mch::raw::setupRawFileWriter | ( | o2::raw::RawFileWriter & | fw, |
const std::set< LinkInfo > & | links, | ||
DigitRawEncoderOptions | opt | ||
) |
Prepare the rawfilewriter for work.
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) |
fw | : the rawFileWriter to configure |
opts | : processing options |
Definition at line 38 of file DigitRawEncoder.cxx.
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.
std::vector< std::string > o2::mch::raw::solar2FeeLinkConsistencyCheck | ( | ) |
std::vector< std::string > o2::mch::raw::solar2FeeLinkConsistencyCheck< ElectronicMapperDummy > | ( | ) |
Definition at line 67 of file ElectronicMapperDummy.cxx.
std::vector< std::string > o2::mch::raw::solar2FeeLinkConsistencyCheck< ElectronicMapperGenerated > | ( | ) |
Definition at line 100 of file ElectronicMapperGenerated.cxx.
std::optional< uint16_t > o2::mch::raw::solarId2Index | ( | uint16_t | solarId | ) |
Convert a solarId into a solar index
std::optional< uint16_t > o2::mch::raw::solarId2Index< ElectronicMapperDummy > | ( | uint16_t | solarId | ) |
Definition at line 67 of file ElectronicMapperDummy.cxx.
std::optional< uint16_t > o2::mch::raw::solarId2Index< ElectronicMapperGenerated > | ( | uint16_t | solarId | ) |
Definition at line 100 of file ElectronicMapperGenerated.cxx.
std::optional< uint16_t > o2::mch::raw::solarIndex2Id | ( | uint16_t | solarIndex | ) |
Convert a solar index into a solarId
std::optional< uint16_t > o2::mch::raw::solarIndex2Id< ElectronicMapperDummy > | ( | uint16_t | solarIndex | ) |
Definition at line 67 of file ElectronicMapperDummy.cxx.
std::optional< uint16_t > o2::mch::raw::solarIndex2Id< ElectronicMapperGenerated > | ( | uint16_t | solarIndex | ) |
Definition at line 100 of file ElectronicMapperGenerated.cxx.
|
constexpr |
Definition at line 22 of file SampaBunchCrossingCounter.cxx.
|
constexpr |
Definition at line 428 of file SampaHeader.cxx.
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.
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.
std::array< int, 2 > o2::mch::raw::deIdsOfCH1L {101, 102} |
Definition at line 18 of file Mapper.cxx.
std::array< int, 2 > o2::mch::raw::deIdsOfCH1R {100, 103} |
Definition at line 17 of file Mapper.cxx.
std::array< int, 2 > o2::mch::raw::deIdsOfCH2L {201, 202} |
Definition at line 20 of file Mapper.cxx.
std::array< int, 2 > o2::mch::raw::deIdsOfCH2R {200, 203} |
Definition at line 19 of file Mapper.cxx.
std::array< int, 2 > o2::mch::raw::deIdsOfCH3L {301, 302} |
Definition at line 22 of file Mapper.cxx.
std::array< int, 2 > o2::mch::raw::deIdsOfCH3R {300, 303} |
Definition at line 21 of file Mapper.cxx.
std::array< int, 2 > o2::mch::raw::deIdsOfCH4L {401, 402} |
Definition at line 24 of file Mapper.cxx.
std::array< int, 2 > o2::mch::raw::deIdsOfCH4R {400, 403} |
Definition at line 23 of file Mapper.cxx.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
|
constexpr |
Definition at line 136 of file BareElinkDecoder.h.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
|
constexpr |
Definition at line 592 of file SampaHeader.cxx.
|
constexpr |
Definition at line 128 of file SampaHeader.h.
TFQueue o2::mch::raw::tfQueues[NFEEID][NLINKS] |
Definition at line 162 of file cru-page-reader-workflow.cxx.