32 for (
auto& feeId : feeIds) {
33#if defined(MID_RAW_VECTORS)
53 for (
auto it = parser.
begin(),
end = parser.
end(); it !=
end; ++it) {
57 gsl::span<const uint8_t> payload(it.data(), it.size());
67 return std::make_unique<Decoder>(isDebugMode, isBare, electronicsDelay, crateMasks, feeIdConfig);
69std::unique_ptr<Decoder>
createDecoder(
const o2::header::RDHAny& rdh,
bool isDebugMode,
const char* electronicsDelayFile,
const char* crateMasksFile,
const char* feeIdConfigFile)
73 std::string
filename = electronicsDelayFile;
90 return createDecoder(rdh, isDebugMode, electronicsDelay, crateMasks, feeIdConfig);
Generic parser for consecutive raw pages.
const_iterator begin() const
const_iterator end() const
uint8_t getMask(uint16_t feeId) const
Gets the mask for the feeId.
std::unordered_map< uint16_t, std::unique_ptr< LinkDecoder > > mLinkDecoders
Decoder(bool isDebugMode=false, bool isBare=false, const ElectronicsDelay &electronicsDelay=ElectronicsDelay(), const CrateMasks &crateMasks=CrateMasks(), const FEEIdConfig &feeIdConfig=FEEIdConfig())
void process(gsl::span< const uint8_t > bytes)
std::vector< uint16_t > getConfiguredGBTUniqueIDs() const
std::vector< uint16_t > getConfiguredFEEIDs() const
bool isBare(const o2::header::RDHAny &rdh)
Test if the data comes from the common logic.
std::unique_ptr< Decoder > createDecoder(const o2::header::RDHAny &rdh, bool isDebugMode, const ElectronicsDelay &electronicsDelay, const CrateMasks &crateMasks, const FEEIdConfig &feeIdConfig)
ElectronicsDelay readElectronicsDelay(const char *filename)
std::unique_ptr< LinkDecoder > createLinkDecoder(const o2::header::RDHAny &rdh, uint16_t feeId, bool isDebugMode, uint8_t mask, const ElectronicsDelay &electronicsDelay, const FEEIdConfig &feeIdConfig)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...