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

#include <CbmMuchUnpackConfig.h>

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

Classes

struct  FebChanMaskReco
 

Public Member Functions

 CbmMuchUnpackConfig (std::string detGeoSetupTag, UInt_t runid=0)
 Create the Cbm Sts Unpack Task object.
 
virtual ~CbmMuchUnpackConfig ()
 Destroy the Cbm Sts Unpack Task object.
 
 CbmMuchUnpackConfig (const CbmMuchUnpackConfig &)=delete
 Copy constructor - not implemented.
 
CbmMuchUnpackConfigoperator= (const CbmMuchUnpackConfig &)=delete
 Assignment operator - not implemented.
 
std::shared_ptr< CbmMuchUnpackMonitorGetMonitor ()
 Get the potentially added monitor.
 
void InitAlgo ()
 Initialize the algorithm, should include all steps needing te parameter objects to be present. In this function most initialization steps of the unpacker algorithms happen.
 
void MaskNoisyChannel (UInt_t uFeb, UInt_t uChan, Bool_t bMasked=kTRUE)
 
virtual std::pair< size_t, bool > ReadInactiveChannels ()
 Read Inactive Channel list based on CbmMuchAddress from a file.
 
void SetAsicTimeOffset (size_t asicid, double value)
 Set the Asic Time Offset.
 
void SetDuplicatesRejection (bool bIn=true, bool bDiffAdc=true)
 Enable/Disable the duplicate digis rejection, without or with same ADC checks.
 
void SetMinAdcCut (uint32_t value)
 Set the minimum adc cut value.
 
void SetMinAdcCut (uint32_t febid, uint32_t value)
 
void SetMonitor (std::shared_ptr< CbmMuchUnpackMonitor > value)
 Add a monitor to the unpacker.
 
void SetParFileName (std::string sNewName)
 Sets the name of the parameter file to be used.
 
void LoadParFileName ()
 
void SetNoisyChannelFile (TString fileName)
 

Protected Member Functions

virtual std::shared_ptr< CbmMuchUnpackAlgochooseAlgo ()
 Choose the derived unpacker algorithm to be used for the DAQ output to Digi translation. If algo was already set manually by the user this algorithm is used.
 

Protected Attributes

std::shared_ptr< CbmMuchUnpackMonitorfMonitor = nullptr
 pointer to the monitor object
 
uint32_t fdAdcCut = 0
 Minimum adc cut to store a hit.
 
std::map< uint32_t, uint32_t > fdAdcCut_perFeb
 Minimum adc cut per Feb to store a hit.
 
std::vector< double > fvdTimeOffsetNsAsics = {}
 Vector with the Asic time offsets.
 
bool fbRejectDuplicateDigis = false
 Enables the rejection of duplicate digis.
 
bool fbDupliWithoutAdc = true
 If rejecting duplicate digis, enables rejection even if ADC differs.
 
std::vector< FebChanMaskRecofvChanMasks = {}
 Temporary storage of user parameters.
 
std::string fsParFileName = "mMuchPar.par"
 Parameter file name.
 
TString fInactiveChannelFileName = ""
 

Detailed Description

Definition at line 32 of file CbmMuchUnpackConfig.h.

Constructor & Destructor Documentation

◆ CbmMuchUnpackConfig() [1/2]

CbmMuchUnpackConfig::CbmMuchUnpackConfig ( std::string detGeoSetupTag,
UInt_t runid = 0 )

Create the Cbm Sts Unpack Task object.

Parameters
geoSetupTagGeometry setup tag for the given detector as used by CbmSetup objects
runidset if unpacker is rerun on a special run with special parameters
Remarks
We use the string instead of CbmSetup here, to not having to link against sim/steer...

Definition at line 17 of file CbmMuchUnpackConfig.cxx.

◆ ~CbmMuchUnpackConfig()

CbmMuchUnpackConfig::~CbmMuchUnpackConfig ( )
virtual

Destroy the Cbm Sts Unpack Task object.

Definition at line 22 of file CbmMuchUnpackConfig.cxx.

◆ CbmMuchUnpackConfig() [2/2]

CbmMuchUnpackConfig::CbmMuchUnpackConfig ( const CbmMuchUnpackConfig & )
delete

Copy constructor - not implemented.

Member Function Documentation

◆ chooseAlgo()

std::shared_ptr< CbmMuchUnpackAlgo > CbmMuchUnpackConfig::chooseAlgo ( )
protectedvirtual

Choose the derived unpacker algorithm to be used for the DAQ output to Digi translation. If algo was already set manually by the user this algorithm is used.

Returns
Bool_t initOk

Definition at line 67 of file CbmMuchUnpackConfig.cxx.

References fsParFileName.

◆ GetMonitor()

std::shared_ptr< CbmMuchUnpackMonitor > CbmMuchUnpackConfig::GetMonitor ( )
inline

Get the potentially added monitor.

Definition at line 64 of file CbmMuchUnpackConfig.h.

References fMonitor.

◆ InitAlgo()

void CbmMuchUnpackConfig::InitAlgo ( )

Initialize the algorithm, should include all steps needing te parameter objects to be present. In this function most initialization steps of the unpacker algorithms happen.

Definition at line 25 of file CbmMuchUnpackConfig.cxx.

References fbDupliWithoutAdc, fbRejectDuplicateDigis, fdAdcCut, fdAdcCut_perFeb, fInactiveChannelFileName, fMonitor, fvChanMasks, fvdTimeOffsetNsAsics, and ReadInactiveChannels().

◆ LoadParFileName()

void CbmMuchUnpackConfig::LoadParFileName ( )
inline

Definition at line 117 of file CbmMuchUnpackConfig.h.

References fsParFileName.

◆ MaskNoisyChannel()

void CbmMuchUnpackConfig::MaskNoisyChannel ( UInt_t uFeb,
UInt_t uChan,
Bool_t bMasked = kTRUE )
inline

Definition at line 72 of file CbmMuchUnpackConfig.h.

References fvChanMasks.

◆ operator=()

CbmMuchUnpackConfig & CbmMuchUnpackConfig::operator= ( const CbmMuchUnpackConfig & )
delete

Assignment operator - not implemented.

◆ ReadInactiveChannels()

std::pair< size_t, bool > CbmMuchUnpackConfig::ReadInactiveChannels ( )
virtual

Read Inactive Channel list based on CbmMuchAddress from a file.

Definition at line 89 of file CbmMuchUnpackConfig.cxx.

References fInactiveChannelFileName.

Referenced by InitAlgo().

◆ SetAsicTimeOffset()

void CbmMuchUnpackConfig::SetAsicTimeOffset ( size_t asicid,
double value )
inline

Set the Asic Time Offset.

Parameters
asicidIdx of the ASIC with the given time offset
valuetime offset

Definition at line 90 of file CbmMuchUnpackConfig.h.

References fvdTimeOffsetNsAsics.

◆ SetDuplicatesRejection()

void CbmMuchUnpackConfig::SetDuplicatesRejection ( bool bIn = true,
bool bDiffAdc = true )
inline

Enable/Disable the duplicate digis rejection, without or with same ADC checks.

Definition at line 97 of file CbmMuchUnpackConfig.h.

References fbDupliWithoutAdc, and fbRejectDuplicateDigis.

◆ SetMinAdcCut() [1/2]

void CbmMuchUnpackConfig::SetMinAdcCut ( uint32_t febid,
uint32_t value )
inline

Definition at line 106 of file CbmMuchUnpackConfig.h.

References fdAdcCut_perFeb.

◆ SetMinAdcCut() [2/2]

void CbmMuchUnpackConfig::SetMinAdcCut ( uint32_t value)
inline

Set the minimum adc cut value.

Parameters
[in]value

Definition at line 104 of file CbmMuchUnpackConfig.h.

References fdAdcCut.

◆ SetMonitor()

void CbmMuchUnpackConfig::SetMonitor ( std::shared_ptr< CbmMuchUnpackMonitor > value)
inline

Add a monitor to the unpacker.

Parameters
valueCbmMuchUnpackMonitor

Definition at line 109 of file CbmMuchUnpackConfig.h.

References fMonitor.

◆ SetNoisyChannelFile()

void CbmMuchUnpackConfig::SetNoisyChannelFile ( TString fileName)
inline

Definition at line 119 of file CbmMuchUnpackConfig.h.

References fInactiveChannelFileName.

◆ SetParFileName()

void CbmMuchUnpackConfig::SetParFileName ( std::string sNewName)
inline

Sets the name of the parameter file to be used.

Parameters
[in]std:string,pathshould not be included as set in the Config class

Definition at line 116 of file CbmMuchUnpackConfig.h.

References fsParFileName.

Member Data Documentation

◆ fbDupliWithoutAdc

bool CbmMuchUnpackConfig::fbDupliWithoutAdc = true
protected

If rejecting duplicate digis, enables rejection even if ADC differs.

Definition at line 145 of file CbmMuchUnpackConfig.h.

Referenced by InitAlgo(), and SetDuplicatesRejection().

◆ fbRejectDuplicateDigis

bool CbmMuchUnpackConfig::fbRejectDuplicateDigis = false
protected

Enables the rejection of duplicate digis.

Definition at line 142 of file CbmMuchUnpackConfig.h.

Referenced by InitAlgo(), and SetDuplicatesRejection().

◆ fdAdcCut

uint32_t CbmMuchUnpackConfig::fdAdcCut = 0
protected

Minimum adc cut to store a hit.

Definition at line 133 of file CbmMuchUnpackConfig.h.

Referenced by InitAlgo(), and SetMinAdcCut().

◆ fdAdcCut_perFeb

std::map<uint32_t, uint32_t> CbmMuchUnpackConfig::fdAdcCut_perFeb
protected

Minimum adc cut per Feb to store a hit.

Definition at line 136 of file CbmMuchUnpackConfig.h.

Referenced by InitAlgo(), and SetMinAdcCut().

◆ fInactiveChannelFileName

TString CbmMuchUnpackConfig::fInactiveChannelFileName = ""
protected

Definition at line 152 of file CbmMuchUnpackConfig.h.

Referenced by InitAlgo(), ReadInactiveChannels(), and SetNoisyChannelFile().

◆ fMonitor

std::shared_ptr<CbmMuchUnpackMonitor> CbmMuchUnpackConfig::fMonitor = nullptr
protected

pointer to the monitor object

Definition at line 130 of file CbmMuchUnpackConfig.h.

Referenced by GetMonitor(), InitAlgo(), and SetMonitor().

◆ fsParFileName

std::string CbmMuchUnpackConfig::fsParFileName = "mMuchPar.par"
protected

Parameter file name.

Definition at line 151 of file CbmMuchUnpackConfig.h.

Referenced by chooseAlgo(), LoadParFileName(), and SetParFileName().

◆ fvChanMasks

std::vector<FebChanMaskReco> CbmMuchUnpackConfig::fvChanMasks = {}
protected

Temporary storage of user parameters.

Definition at line 148 of file CbmMuchUnpackConfig.h.

Referenced by InitAlgo(), and MaskNoisyChannel().

◆ fvdTimeOffsetNsAsics

std::vector<double> CbmMuchUnpackConfig::fvdTimeOffsetNsAsics = {}
protected

Vector with the Asic time offsets.

Definition at line 139 of file CbmMuchUnpackConfig.h.

Referenced by InitAlgo(), and SetAsicTimeOffset().


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