CbmRoot
Loading...
Searching...
No Matches
CbmTrdRawToDigiMaxAdcR Class Reference

#include <CbmTrdRawToDigiMaxAdcR.h>

Inheritance diagram for CbmTrdRawToDigiMaxAdcR:
[legend]
Collaboration diagram for CbmTrdRawToDigiMaxAdcR:
[legend]

Public Member Functions

 CbmTrdRawToDigiMaxAdcR ()
 default Constructor with messages
 
 CbmTrdRawToDigiMaxAdcR (const CbmTrdRawToDigiMaxAdcR &)=delete
 Copy constructor - not implemented!
 
CbmTrdRawToDigiMaxAdcR operator= (const CbmTrdRawToDigiMaxAdcR &)
 Assignment operator - not implemented!
 
virtual ~CbmTrdRawToDigiMaxAdcR ()
 Destructor.
 
ULong64_t GetBinTimeShift (const std::vector< std::int16_t > *)
 Get the Bin Time Shift value.
 
Float_t GetMaxAdcValue (const std::vector< std::int16_t > *samples)
 Get the MaxAdc value.
 
void SetPeakingRange (size_t min, size_t max)
 Set the peaking range in sample numbers.
 
 ClassDef (CbmTrdRawToDigiMaxAdcR, 2)
 
std::unique_ptr< CbmTrdDigiMakeDigi (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.
 
Float_t GetBaseline (const std::vector< std::int16_t > *samples)
 Get the Baseline value.
 
std::shared_ptr< CbmTrdSpadicGetSpadicObject ()
 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< CbmTrdSpadicfSpadic = std::make_shared<CbmTrdSpadic>()
 

Private Attributes

size_t fPeakingBinMin = fNrOfPresamples
 First sample to look for the max adc.
 
size_t fPeakingBinMax
 Last sample to look for the max adc Default value is set based on the Shaping time + 5 samples safety margin.
 

Detailed Description

Definition at line 31 of file CbmTrdRawToDigiMaxAdcR.h.

Constructor & Destructor Documentation

◆ CbmTrdRawToDigiMaxAdcR() [1/2]

CbmTrdRawToDigiMaxAdcR::CbmTrdRawToDigiMaxAdcR ( )

default Constructor with messages

Definition at line 14 of file CbmTrdRawToDigiMaxAdcR.cxx.

◆ CbmTrdRawToDigiMaxAdcR() [2/2]

CbmTrdRawToDigiMaxAdcR::CbmTrdRawToDigiMaxAdcR ( const CbmTrdRawToDigiMaxAdcR & )
delete

Copy constructor - not implemented!

◆ ~CbmTrdRawToDigiMaxAdcR()

virtual CbmTrdRawToDigiMaxAdcR::~CbmTrdRawToDigiMaxAdcR ( )
inlinevirtual

Destructor.

Definition at line 53 of file CbmTrdRawToDigiMaxAdcR.h.

Member Function Documentation

◆ ClassDef() [1/2]

CbmTrdRawToDigiBaseR::ClassDef ( CbmTrdRawToDigiBaseR ,
2  )
inherited

◆ ClassDef() [2/2]

CbmTrdRawToDigiMaxAdcR::ClassDef ( CbmTrdRawToDigiMaxAdcR ,
2  )

◆ GetBaseline()

Float_t CbmTrdRawToDigiBaseR::GetBaseline ( const std::vector< std::int16_t > * samples)
inherited

Get the Baseline value.

The digi charge is an unsigned. Hence, we need to get the baseline to 0

Parameters
samples
Returns
Float_t

Definition at line 17 of file CbmTrdRawToDigiBaseR.cxx.

References CbmTrdRawToDigiBaseR::fNrOfPresamples, and CbmTrdRawToDigiBaseR::fSpadic.

Referenced by CbmTrdRawToDigiFitR::fitResponse(), CbmTrdRawToDigiLookUpCorrR::GetBinTimeShift(), and GetMaxAdcValue().

◆ GetBinTimeShift()

ULong64_t CbmTrdRawToDigiMaxAdcR::GetBinTimeShift ( const std::vector< std::int16_t > * )
inlinevirtual

Get the Bin Time Shift value.

No method developed up to now to extract a time-shift together with the max adc charge esxtraction method.

Parameters
samples
Returns
ULong64_t

Implements CbmTrdRawToDigiBaseR.

Definition at line 63 of file CbmTrdRawToDigiMaxAdcR.h.

◆ GetDigiTriggerType()

CbmTrdDigi::eTriggerType CbmTrdRawToDigiBaseR::GetDigiTriggerType ( Spadic::eTriggerType tt)
staticinherited

◆ GetMaxAdcValue()

Float_t CbmTrdRawToDigiMaxAdcR::GetMaxAdcValue ( const std::vector< std::int16_t > * samples)
virtual

Get the MaxAdc value.

Parameters
samples
Returns
Float_t

Implements CbmTrdRawToDigiBaseR.

Definition at line 17 of file CbmTrdRawToDigiMaxAdcR.cxx.

References fPeakingBinMax, fPeakingBinMin, and CbmTrdRawToDigiBaseR::GetBaseline().

◆ GetNrOfPresamples()

UInt_t CbmTrdRawToDigiBaseR::GetNrOfPresamples ( )
inlineinherited

Get the Nr Of Presamples.

Returns
UInt_t

Definition at line 103 of file CbmTrdRawToDigiBaseR.h.

References CbmTrdRawToDigiBaseR::fNrOfPresamples.

◆ GetSpadicObject()

std::shared_ptr< CbmTrdSpadic > CbmTrdRawToDigiBaseR::GetSpadicObject ( )
inlineinherited

Get the spadic class.

Returns
std::shared_ptr<CbmTrdSpadic>

Definition at line 96 of file CbmTrdRawToDigiBaseR.h.

References CbmTrdRawToDigiBaseR::fSpadic.

◆ MakeDigi()

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 )
inherited

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

Parameters
samplesAdc samples
padChNrChannel number of the pad
uniqueModuleIdunique Id of the module
timeAbsolute time [ns].
triggerTypeSPADIC trigger type see CbmTrdTriggerType.
errClassSPADIC signal error parametrization based on message type.
Returns
std::shared_ptr<CbmTrdDigi> *

Definition at line 52 of file CbmTrdRawToDigiBaseR.cxx.

References CbmTrdRawToDigiBaseR::fCurrentTimeshift, CbmTrdRawToDigiBaseR::fSpadic, CbmTrdRawToDigiBaseR::GetBinTimeShift(), and CbmTrdRawToDigiBaseR::GetMaxAdcValue().

◆ operator=()

CbmTrdRawToDigiMaxAdcR CbmTrdRawToDigiMaxAdcR::operator= ( const CbmTrdRawToDigiMaxAdcR & )

Assignment operator - not implemented!

Returns
CbmTrdRawToDigiMaxAdcR

◆ SetNrOfPresamples()

virtual void CbmTrdRawToDigiBaseR::SetNrOfPresamples ( UInt_t value)
inlinevirtualinherited

Set the Nr Of Presamples.

Parameters
value

Reimplemented in CbmTrdRawToDigiFitR, and CbmTrdRawToDigiLookUpCorrR.

Definition at line 118 of file CbmTrdRawToDigiBaseR.h.

References CbmTrdRawToDigiBaseR::fNrOfPresamples.

◆ SetPeakingRange()

void CbmTrdRawToDigiMaxAdcR::SetPeakingRange ( size_t min,
size_t max )
inline

Set the peaking range in sample numbers.

Use this to define a peaking range for the max adc extraction. Presamples have to be included into the values!

Parameters
value

Definition at line 80 of file CbmTrdRawToDigiMaxAdcR.h.

References fPeakingBinMax, fPeakingBinMin, max(), and min().

◆ SetSpadicObject()

void CbmTrdRawToDigiBaseR::SetSpadicObject ( std::shared_ptr< CbmTrdSpadic > spadic)
inlineinherited

Set the spadic class.

Parameters
spadic

Definition at line 126 of file CbmTrdRawToDigiBaseR.h.

References CbmTrdRawToDigiBaseR::fSpadic.

Member Data Documentation

◆ fCurrentTimeshift

ULong64_t CbmTrdRawToDigiBaseR::fCurrentTimeshift = 0
protectedinherited

Bin timeshift for the current sample set in [ns].

Definition at line 146 of file CbmTrdRawToDigiBaseR.h.

Referenced by CbmTrdRawToDigiLookUpCorrR::GetMaxAdcValue(), and CbmTrdRawToDigiBaseR::MakeDigi().

◆ fNrOfPresamples

UInt_t CbmTrdRawToDigiBaseR::fNrOfPresamples = CbmTrdSpadic::GetNrOfPresamples()
protectedinherited

◆ fPeakingBinMax

size_t CbmTrdRawToDigiMaxAdcR::fPeakingBinMax
private
Initial value:
=
UInt_t fNrOfPresamples
Number of presamples before the signal starts (SPADIC default 2)
static Double_t GetClockCycle()
Get the Clock Cycle.
static Float_t GetShapingTime()
Get the Shaping Time (Spadic default)

Last sample to look for the max adc Default value is set based on the Shaping time + 5 samples safety margin.

Remarks
the peaking time strongly depends on the input signal. Effective range of the shaping time is between 120 and 240 ns.

Definition at line 100 of file CbmTrdRawToDigiMaxAdcR.h.

Referenced by GetMaxAdcValue(), and SetPeakingRange().

◆ fPeakingBinMin

size_t CbmTrdRawToDigiMaxAdcR::fPeakingBinMin = fNrOfPresamples
private

First sample to look for the max adc.

Definition at line 92 of file CbmTrdRawToDigiMaxAdcR.h.

Referenced by GetMaxAdcValue(), and SetPeakingRange().

◆ fSpadic


The documentation for this class was generated from the following files: