24 for (
auto& equip : equipIdsTrd2d) {
30 for (
auto asic : asics) {
34 for (
size_t chan = 0; chan < numChans; chan++) {
38 chanPar.
fMask = pars.maskFlag;
43 L_(debug) <<
"--- Configured asic " << (int) asic <<
" with " << numChans <<
" channels";
46 par.fModId = comppars.moduleId;
48 par.fEqId = comppars.fiberId;
49 par.fAsicParams[asic] = asicPar;
51 L_(debug) <<
"--- Configured equipment 0x" << std::hex << (int) equip <<
" with " << std::dec << numAsics
55 std::unique_ptr<UnpackMSBase<CbmTrdDigi, UnpackMonitorData, UnpackAuxData>> algo;
56 for (
auto ver : AlgoVersion) {
66 L_(debug) <<
"Register algo for ver=" << (int) ver <<
" eqId=0x" << std::hex << (
int) equip;
67 fAlgos[{equip, ver}] = std::move(algo);
70 L_(info) <<
"--- Configured " <<
fAlgos.size() <<
" unpacker algorithms for TRD2D.";
Result_t DoUnpack(const fles::Subsystem subsystem, const fles::Timeslice &ts) const
std::map< UnpackKey, std::unique_ptr< Unpack_t > > fAlgos
Provides the hardware-to-software address mapping for the CBM-TRD2D.
ChanMapping ChanMap(uint16_t equipId, uint16_t asic, uint16_t chan)
API: Mapping from component, asic and channel to tuple (pad address, R pairing flag,...
size_t GetNumAsics(uint16_t equipmentId)
Number of ASICS of a component.
size_t GetNumChans(uint16_t equipmentId, uint16_t asicId)
Number of channels of a component - ASIC pair.
std::vector< uint8_t > GetAsicList(uint16_t equipmentId)
Number of ASICS of a component.
std::vector< uint16_t > GetEquipmentIds()
Equipment in the configuration.
int64_t GetSystemTimeOffset()
Get system time offset.
CompMapping CompMap(uint16_t equipId)
API: Mapping from component to pair (module id, crob id)
Unpack algorithm for TRD2D.
detail::UnpackBase::Result_t Result_t
Unpack(const ReadoutConfig &readout)
Result_t operator()(const fles::Timeslice &) const
@ kMess24
unpacker version for 2-board FASPRO+GETS HW
TRD2D Unpacking parameters for one Asic.
std::vector< UnpackChannelPar > fChanParams
Parameters for different channels.
TRD2D Unpacking parameters for one Asic channel.
int32_t fPadAddress
Pad address for channel.
uint16_t fSignalThres
Signal threshold to remove ringing channels.
uint8_t fDaqOffset
Time calibration parameter.
bool fMask
Flag for channel masking.
Parameters required for the TRD2D unpacking (specific to one component)