60 size_t GetNumElinks(uint16_t equipmentId, uint16_t crobId);
69 std::pair<int32_t, std::vector<uint32_t>>
Map(uint16_t equipId, uint16_t crob, uint16_t elink);
87 void Init(
const std::map<
size_t, std::map<
size_t, std::map<size_t, size_t>>>& addressMap,
88 std::map<
size_t, std::map<
size_t, std::map<
size_t, std::map<size_t, size_t>>>>& channelMap);
102 std::map<uint16_t, std::vector<std::vector<uint16_t>>>
fReadoutMap = {};
106 std::map<uint16_t, std::vector<std::vector<std::vector<uint32_t>>>>
fChannelMap = {};
#define CBM_YAML_EXTERN_DECL(type)
Declare the external instantiation of the Read and Dump functions for a type.
Provides the hardware-to-software address mapping for the CBM-TRD.
std::vector< uint16_t > GetEquipmentIds()
Equipment in the configuration.
void Init(const std::map< size_t, std::map< size_t, std::map< size_t, size_t > > > &addressMap, std::map< size_t, std::map< size_t, std::map< size_t, std::map< size_t, size_t > > > > &channelMap)
Initialisation of readout map.
CBM_YAML_PROPERTIES(yaml::Property(&ReadoutConfig::fSystemTimeOffset, "timeOffset", "System time offset for TRD1D"), yaml::Property(&ReadoutConfig::fReadoutMap, "readoutMap", "TRD readout map", {}, YAML::Hex), yaml::Property(&ReadoutConfig::fChannelMap, "channelMap", "TRD channel map"), yaml::Property(&ReadoutConfig::fElinkTimeOffsetMap, "elinkTimeOffset", "TRD time offset per CRI&Elink combination"))
int64_t fSystemTimeOffset
void SetElinkTimeOffset(uint32_t criid, uint8_t elinkid, int32_t offsetNs)
Register a time offeset to be substracted from the digis which come from a specific CRI.
std::pair< int32_t, std::vector< uint32_t > > Map(uint16_t equipId, uint16_t crob, uint16_t elink)
API: Mapping from component, crob and elink to pair (ASIC address, channel addresses)
int32_t GetElinkTimeOffset(uint32_t criid, uint8_t elinkid)
Get the time offeset to be substracted from the digis which come from a specific CRI.
size_t GetNumCrobs(uint16_t equipmentId)
Number of CROBS of a component.
std::string PrintReadoutMap()
Debug output of readout map.
std::map< uint32_t, std::vector< int32_t > > fElinkTimeOffsetMap
Map to store time offsets for each CRI&Elink combination.
~ReadoutConfig()
Destructor.
std::map< uint16_t, std::vector< std::vector< std::vector< uint32_t > > > > fChannelMap
ReadoutConfig()
Constructor.
size_t GetNumElinks(uint16_t equipmentId, uint16_t crobId)
Number of elinks of a component - CROB pair.
void SetSystemTimeOffset(int64_t offsetNs)
Get system time offset.
std::map< uint16_t, std::vector< std::vector< uint16_t > > > fReadoutMap
int64_t GetSystemTimeOffset()
Get system time offset.
Property(T Class::*member, std::string_view key, std::string_view description) -> Property< Class, T >