14 constexpr std::array<u8, 2> SystemVersion = {0x01, 0x10};
17 auto equipIdsTrd =
fReadout.GetEquipmentIds();
18 for (
auto& equip : equipIdsTrd) {
20 const size_t numCrobs =
fReadout.GetNumCrobs(equip);
22 for (
size_t crob = 0; crob < numCrobs; crob++) {
24 const size_t numElinks =
fReadout.GetNumElinks(equip, crob);
26 for (
size_t elink = 0; elink < numElinks; elink++) {
28 auto addresses =
fReadout.Map(equip, crob, elink);
34 par.fCrobParams.push_back(crobPar);
36 auto algo_01 = std::make_unique<UnpackMS<SystemVersion[0]>>(std::move(par));
37 auto algo_10 = std::make_unique<UnpackMS<SystemVersion[1]>>(std::move(par));
38 fAlgos[{equip, SystemVersion[0]}] = std::move(algo_01);
39 fAlgos[{equip, SystemVersion[1]}] = std::move(algo_10);
41 L_(debug) <<
"--- Configured equipment " << equip <<
" with " << numCrobs <<
" crobs";
43 L_(info) <<
"--- Configured " <<
fAlgos.size() <<
" unpacker algorithms for TRD.";