65 bool CheckBmonComp(uint32_t uCompId)
const {
return ((uCompId & 0xFFF0) == 0xABF0); }
66 bool CheckInnerComp(uint32_t uCompId)
const {
return ((uCompId & 0xFFF0) == 0xBBC0); }
100 std::vector<uint32_t>
Map(uint16_t equipId, uint16_t elink);
119 std::map<uint16_t, std::vector<std::vector<uint32_t>>>
fReadoutMap = {};
std::map< uint16_t, std::vector< std::vector< uint32_t > > > fReadoutMap
void Init(const ReadoutSetup &pars)
Initialisation of readout map.
ReadoutConfig(const ReadoutSetup &pars)
Constructor.
int32_t GetElinkTimeOffset(uint16_t equipId, uint16_t elink)
API: Mapping from component and elink to time offset.
std::vector< uint16_t > GetEquipmentIds()
Equipment in the configuration.
i32 GetSystemTimeOffset() const
System time offset for BMon.
virtual ~ReadoutConfig()
Destructor.
std::vector< uint32_t > Map(uint16_t equipId, uint16_t elink)
API: Mapping from component and elink to addresses per channel.
std::map< uint16_t, std::vector< int32_t > > fTimeOffsetMap
void BuildChannelsUidMap(const ReadoutSetup &pars)
size_t GetNumElinks(uint16_t equipmentId)
Number of elinks of a component.
void BuildChannelsUidMapBmon(uint32_t &uCh, uint32_t uGbtx, const ReadoutSetup &pars)
std::vector< int32_t > fviRpcChUId
UID/address for each channel, build from type, side and module.
void BuildChannelsUidMapBmon_2022(uint32_t &uCh, uint32_t uGbtx, const ReadoutSetup &pars)
Property(T Class::*member, std::string_view key, std::string_view description) -> Property< Class, T >
CBM_YAML_PROPERTIES(yaml::Property(&CROB::moduleId, "moduleId", "Unique ID of module the CROB resides in"), yaml::Property(&CROB::rpcType, "rpcType", "add explanation."), yaml::Property(&CROB::rpcSide, "rpcSide", "add explanation."), yaml::Property(&CROB::nRPC, "nRPC", "number of RPCs."), yaml::Property(&CROB::timeOffset, "timeOffset", "time offset for CROB"))
Readout setup / Hardware cabling for BMon Used to create the hardware mapping for the BMon unpacker.
i32 NElinksPerCrob() const
bool CheckInnerComp(uint32_t uCompId) const
i32 NCrobsPerComponent() const
std::vector< CROB > crobs
bool CheckBmonComp(uint32_t uCompId) const
i32 NChansPerComponent() const
size_t NComponents() const
i32 NElinksPerComponent() const
CBM_YAML_PROPERTIES(yaml::Property(&ReadoutSetup::timeOffset, "timeOffset", "Time offset for BMon"), yaml::Property(&ReadoutSetup::nFebsPerComponent, "nFebsPerComponent", "Number of FEBs per component"), yaml::Property(&ReadoutSetup::nAsicsPerFeb, "nAsicsPerFeb", "Number of ASICs per FEB"), yaml::Property(&ReadoutSetup::nChannelsPerAsic, "nChannelsPerAsic", "Number of channels per ASIC"), yaml::Property(&ReadoutSetup::nCrobPerComponent, "nCrobPerComponent", "Number of CROBs per component"), yaml::Property(&ReadoutSetup::crobs, "crobs", "Crobs", {}, YAML::Flow), yaml::Property(&ReadoutSetup::eqIds, "eqIds", "Array to hold the unique IDs (equipment ID) for all BMON DPBs", YAML::Flow, YAML::Hex))