20#ifndef CBMTRDRAWTODIGIBASER_H
21#define CBMTRDRAWTODIGIBASER_H
28#include <RtypesCore.h>
62 std::unique_ptr<CbmTrdDigi>
MakeDigi(
const std::vector<std::int16_t>* samples, Int_t padChNr, Int_t uniqueModuleId,
79 virtual Float_t
GetMaxAdcValue(
const std::vector<std::int16_t>* samples) = 0;
89 Float_t
GetBaseline(
const std::vector<std::int16_t>* samples);
148 std::shared_ptr<CbmTrdSpadic>
fSpadic = std::make_shared<CbmTrdSpadic>();
Software representation of the SPADIC v2.2+.
virtual Float_t GetMaxAdcValue(const std::vector< std::int16_t > *samples)=0
Get the MaxAdc value.
CbmTrdRawToDigiBaseR(const CbmTrdRawToDigiBaseR &)=delete
Copy constructor - not implemented!
UInt_t fNrOfPresamples
Number of presamples before the signal starts (SPADIC default 2)
void SetSpadicObject(std::shared_ptr< CbmTrdSpadic > spadic)
Set the spadic class.
std::shared_ptr< CbmTrdSpadic > GetSpadicObject()
Get the spadic class.
virtual ~CbmTrdRawToDigiBaseR()
Destructor.
ClassDef(CbmTrdRawToDigiBaseR, 2)
static CbmTrdDigi::eTriggerType GetDigiTriggerType(Spadic::eTriggerType tt)
Get the Digi Trigger Type from the raw message triggertype.
virtual void SetNrOfPresamples(UInt_t value)
Set the Nr Of Presamples.
virtual ULong64_t GetBinTimeShift(const std::vector< std::int16_t > *samples)=0
Get the Bin Time Shift value.
std::shared_ptr< CbmTrdSpadic > fSpadic
CbmTrdRawToDigiBaseR()
Construct a new CbmTrdRawToDigiBaseR object.
Float_t GetBaseline(const std::vector< std::int16_t > *samples)
Get the Baseline value.
ULong64_t fCurrentTimeshift
Bin timeshift for the current sample set in [ns].
std::unique_ptr< CbmTrdDigi > MakeDigi(const std::vector< std::int16_t > *samples, Int_t padChNr, Int_t uniqueModuleId, ULong64_t time, CbmTrdDigi::eTriggerType triggerType, Int_t errClass)
Get digi from input values. Implemented in the derived classes.
UInt_t GetNrOfPresamples()
Get the Nr Of Presamples.
static constexpr UInt_t GetNrOfPresamples()
Get the Nr Of Preamples.