21#ifndef CbmStsUnpackAlgoBase_H
22#define CbmStsUnpackAlgoBase_H
25#include "CbmRecoUnpackAlgo.tmpl"
29#include "Timeslice.hpp"
34#include <RtypesCore.h>
68 void SetWalkMap(
const std::map<uint32_t, CbmStsParModule>& mapIn);
89 virtual std::vector<std::pair<std::string, std::shared_ptr<FairParGenericSet>>>*
99 virtual void MaskNoisyChannel(
const uint32_t uFeb,
const uint32_t uChan,
const bool bMasked =
true)
116 std::shared_ptr<CbmStsUnpackMonitor>
fMonitor =
nullptr;
131 std::map<uint32_t, std::vector<std::vector<double>>>
fWalkLookup = {};
void SetMonitor(std::shared_ptr< CbmStsUnpackMonitor > monitor)
Set a predefined monitor.
void SetMinAdcCut(uint32_t febid, uint32_t value)
std::vector< double > fvdTimeOffsetNsAsics
Time offsets per Asic???
virtual void MaskNoisyChannel(const uint32_t uFeb, const uint32_t uChan, const bool bMasked=true)
Mask a Noisy Channel.
virtual void finish()
Finish function for this algorithm base clase.
bool fbUseTimeWalkCorrection
Enable/Disable time-walk correction.
bool fbUseFwBinning
Enables firmware binning (some implementations ignore this)
void SetWalkMap(const std::map< uint32_t, CbmStsParModule > &mapIn)
Enable/Disable time-walk correction.
virtual ~CbmStsUnpackAlgoBase()
Destroy the Cbm Sts Unpack Task object.
uint32_t fdAdcCut
Minimum adc cut to store a hit.
std::map< uint32_t, std::vector< std::vector< double > > > fWalkLookup
Per-ASIC's sensors Time-Walk correction mapping.
bool fbRejectDuplicateDigis
Enables the rejection of duplicate digis.
void SetFwBinning(bool useFwBinning)
Enable/Disable firmware binning (switch only supported by older implementations)
void SetAsicTimeOffsetVec(std::vector< double > value)
Set the time offset per Asic.
std::shared_ptr< CbmStsUnpackMonitor > fMonitor
Potential (online) monitor for the unpacking process.
CbmStsUnpackAlgoBase(const CbmStsUnpackAlgoBase &)=delete
Copy constructor - not implemented.
CbmStsUnpackAlgoBase & operator=(const CbmStsUnpackAlgoBase &)=delete
Assignment operator - not implemented.
CbmStsUnpackAlgoBase(std::string name)
Create the Cbm Sts Unpack AlgoBase object.
virtual std::vector< std::pair< std::string, std::shared_ptr< FairParGenericSet > > > * GetParContainerRequest(std::string geoTag, std::uint32_t runId)
Get the requested parameter containers. To be defined in the derived classes! Return the required par...
void SetDuplicatesRejection(bool bIn=true, bool bDiffAdc=true)
Enable/Disable the duplicate digis rejection, without or with same ADC checks.
std::map< uint32_t, uint32_t > fdAdcCut_perFeb
Minimum adc cut per Feb to store a hit.
void SetMinAdcCut(uint32_t value)
Set the minimum adc cut value.
bool fbDupliWithoutAdc
If rejecting duplicate digis, enables rejection even if ADC differs.