CbmRoot
|
#include <CbmTrdRawToDigiBaseR.h>
Public Member Functions | |
CbmTrdRawToDigiBaseR () | |
Construct a new CbmTrdRawToDigiBaseR object. | |
virtual | ~CbmTrdRawToDigiBaseR () |
Destructor. | |
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. | |
virtual ULong64_t | GetBinTimeShift (const std::vector< std::int16_t > *samples)=0 |
Get the Bin Time Shift value. | |
virtual Float_t | GetMaxAdcValue (const std::vector< std::int16_t > *samples)=0 |
Get the MaxAdc value. | |
Float_t | GetBaseline (const std::vector< std::int16_t > *samples) |
Get the Baseline value. | |
std::shared_ptr< CbmTrdSpadic > | GetSpadicObject () |
Get the spadic class. | |
UInt_t | GetNrOfPresamples () |
Get the Nr Of Presamples. | |
virtual void | SetNrOfPresamples (UInt_t value) |
Set the Nr Of Presamples. | |
void | SetSpadicObject (std::shared_ptr< CbmTrdSpadic > spadic) |
Set the spadic class. | |
ClassDef (CbmTrdRawToDigiBaseR, 2) | |
Static Public Member Functions | |
static CbmTrdDigi::eTriggerType | GetDigiTriggerType (Spadic::eTriggerType tt) |
Get the Digi Trigger Type from the raw message triggertype. | |
Protected Attributes | |
UInt_t | fNrOfPresamples = CbmTrdSpadic::GetNrOfPresamples() |
Number of presamples before the signal starts (SPADIC default 2) | |
ULong64_t | fCurrentTimeshift = 0 |
Bin timeshift for the current sample set in [ns]. | |
std::shared_ptr< CbmTrdSpadic > | fSpadic = std::make_shared<CbmTrdSpadic>() |
Private Member Functions | |
CbmTrdRawToDigiBaseR (const CbmTrdRawToDigiBaseR &)=delete | |
Copy constructor - not implemented! | |
Definition at line 34 of file CbmTrdRawToDigiBaseR.h.
CbmTrdRawToDigiBaseR::CbmTrdRawToDigiBaseR | ( | ) |
Construct a new CbmTrdRawToDigiBaseR object.
Definition at line 14 of file CbmTrdRawToDigiBaseR.cxx.
|
inlinevirtual |
Destructor.
Definition at line 43 of file CbmTrdRawToDigiBaseR.h.
|
privatedelete |
Copy constructor - not implemented!
CbmTrdRawToDigiBaseR::ClassDef | ( | CbmTrdRawToDigiBaseR | , |
2 | ) |
Float_t CbmTrdRawToDigiBaseR::GetBaseline | ( | const std::vector< std::int16_t > * | samples | ) |
Get the Baseline value.
The digi charge is an unsigned. Hence, we need to get the baseline to 0
samples |
Definition at line 17 of file CbmTrdRawToDigiBaseR.cxx.
References fNrOfPresamples, and fSpadic.
Referenced by CbmTrdRawToDigiFitR::fitResponse(), CbmTrdRawToDigiLookUpCorrR::GetBinTimeShift(), and CbmTrdRawToDigiMaxAdcR::GetMaxAdcValue().
|
pure virtual |
Get the Bin Time Shift value.
samples |
Implemented in CbmTrdRawToDigiFitR, CbmTrdRawToDigiLookUpCorrR, and CbmTrdRawToDigiMaxAdcR.
Referenced by MakeDigi().
|
static |
Get the Digi Trigger Type from the raw message triggertype.
tt |
Definition at line 36 of file CbmTrdRawToDigiBaseR.cxx.
References Spadic::kGlobal, Spadic::kNeigh, CbmTrdDigi::kNeighbor, CbmTrdDigi::kNTrg, Spadic::kSandN, CbmTrdDigi::kSelf, and Spadic::kSelf.
Referenced by CbmTrdUnpackAlgoLegacy2020R::makeDigi(), CbmTrdUnpackAlgoR::makeDigi(), and CbmTrdUnpackAlgoR::makeDigi().
|
pure virtual |
Get the MaxAdc value.
samples |
Implemented in CbmTrdRawToDigiFitR, CbmTrdRawToDigiLookUpCorrR, and CbmTrdRawToDigiMaxAdcR.
Referenced by MakeDigi().
|
inline |
Get the Nr Of Presamples.
Definition at line 103 of file CbmTrdRawToDigiBaseR.h.
References fNrOfPresamples.
|
inline |
Get the spadic class.
Definition at line 96 of file CbmTrdRawToDigiBaseR.h.
References fSpadic.
std::unique_ptr< CbmTrdDigi > CbmTrdRawToDigiBaseR::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.
Get digi from the input values. The methods how a timeshift within the bins is estimated and how the input charge to the asic is extracted are implemented in the derived classes
samples | Adc samples |
padChNr | Channel number of the pad |
uniqueModuleId | unique Id of the module |
time | Absolute time [ns]. |
triggerType | SPADIC trigger type see CbmTrdTriggerType. |
errClass | SPADIC signal error parametrization based on message type. |
Definition at line 52 of file CbmTrdRawToDigiBaseR.cxx.
References fCurrentTimeshift, fSpadic, GetBinTimeShift(), and GetMaxAdcValue().
|
inlinevirtual |
Set the Nr Of Presamples.
value |
Reimplemented in CbmTrdRawToDigiFitR, and CbmTrdRawToDigiLookUpCorrR.
Definition at line 118 of file CbmTrdRawToDigiBaseR.h.
References fNrOfPresamples.
|
inline |
Set the spadic class.
spadic |
Definition at line 126 of file CbmTrdRawToDigiBaseR.h.
References fSpadic.
|
protected |
Bin timeshift for the current sample set in [ns].
Definition at line 146 of file CbmTrdRawToDigiBaseR.h.
Referenced by CbmTrdRawToDigiLookUpCorrR::GetMaxAdcValue(), and MakeDigi().
|
protected |
Number of presamples before the signal starts (SPADIC default 2)
Definition at line 140 of file CbmTrdRawToDigiBaseR.h.
Referenced by GetBaseline(), GetNrOfPresamples(), SetNrOfPresamples(), CbmTrdRawToDigiFitR::SetNrOfPresamples(), and CbmTrdRawToDigiLookUpCorrR::SetNrOfPresamples().
|
protected |
Definition at line 148 of file CbmTrdRawToDigiBaseR.h.
Referenced by CbmTrdRawToDigiLookUpCorrR::createAnalyticLookUpTables(), GetBaseline(), CbmTrdRawToDigiLookUpCorrR::GetBinTimeShift(), GetSpadicObject(), MakeDigi(), and SetSpadicObject().