BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnNdetRaw2Digit Class Reference

#include <BmnNdetRaw2Digit.h>

Inheritance diagram for BmnNdetRaw2Digit:
Collaboration diagram for BmnNdetRaw2Digit:

Public Member Functions

 BmnNdetRaw2Digit (Int_t period, Int_t run, TString mappingFile, TString calibrationFile="")
 BmnNdetRaw2Digit ()
 ~BmnNdetRaw2Digit ()
void ParseConfig (TString mappingFile)
void ParseCalibration (TString calibrationFile)
void ParseINLcorrections ()
void FillEvent (TClonesArray *tdc_data, TClonesArray *adc_data, unordered_map< UInt_t, Long64_t > *mapTS, TClonesArray *Ndetdigit)
uint32_t correctINL (uint32_t time, std::pair< size_t, size_t > key)
void print ()
digiPars GetDigiPars ()
auto GetChannelMap ()
std::optional< std::pair< float, float > > GetCalibPairFromAddress (uint32_t address)
std::optional< uint32_t > GetAddressFromBoard (std::pair< size_t, size_t > key)
std::vector< float > GetCalibSlewShiftFromAddress (uint32_t address)
 BmnNdetRaw2Digit (Int_t period, Int_t run, TString mappingFile, TString calibrationFile="")
 BmnNdetRaw2Digit ()
 ~BmnNdetRaw2Digit ()
void ParseConfig (TString mappingFile)
void ParseCalibration (TString calibrationFile)
void ParseINLcorrections ()
void FillEvent (TClonesArray *tdc_data, TClonesArray *adc_data, unordered_map< UInt_t, Long64_t > *mapTS, TClonesArray *Ndetdigit)
uint32_t correctINL (uint32_t time, std::pair< size_t, size_t > key)
void print ()
digiPars GetDigiPars ()
auto GetChannelMap ()
std::optional< std::pair< float, float > > GetCalibPairFromAddress (uint32_t address)
std::optional< uint32_t > GetAddressFromBoard (std::pair< size_t, size_t > key)
std::vector< float > GetCalibSlewShiftFromAddress (uint32_t address)
Public Member Functions inherited from WfmProcessor
 WfmProcessor ()
virtual ~WfmProcessor ()
 WfmProcessor ()
virtual ~WfmProcessor ()

Private Attributes

int fPeriodId
int fRunId
TString fmappingFileName
TString fcalibrationFileName
bool fApplyINL = false
bool fApplyAmplCalib = false
bool fApplyTimeCalib = false
std::unordered_map< std::pair< size_t, size_t >, uint32_t, boost::hash< std::pair< size_t, size_t > > > fuoChannelMap
std::unordered_map< std::pair< size_t, size_t >, std::vector< float >, boost::hash< pair< int, int > > > fINLcorrMap
std::unordered_map< uint32_t, std::pair< float, float > > fuoCalibMap
std::unordered_map< uint32_t, std::vector< float > > fuoCalibSlewShiftMap

Additional Inherited Members

Protected Member Functions inherited from WfmProcessor
void ProcessWfm (std::vector< float > &wfm, BmnDigiContainerTemplate *digi)
void ProcessWfm (std::vector< float > &wfm, BmnDigiContainerTemplate *digi)
Protected Attributes inherited from WfmProcessor
struct WfmProcessor::digiPars fdigiPars
int fSignalLength
std::complex< float > ** fAZik

Detailed Description

Definition at line 24 of file BmnNdetRaw2Digit.h.

Constructor & Destructor Documentation

◆ BmnNdetRaw2Digit() [1/4]

BmnNdetRaw2Digit::BmnNdetRaw2Digit ( Int_t period,
Int_t run,
TString mappingFile,
TString calibrationFile = "" )

Definition at line 19 of file BmnNdetRaw2Digit.cxx.

References WfmProcessor::WfmProcessor(), TString::Data(), fcalibrationFileName, fmappingFileName, fPeriodId, fRunId, ParseCalibration(), ParseConfig(), and ParseINLcorrections().

Referenced by GetCalibSlewShiftFromAddress().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ BmnNdetRaw2Digit() [2/4]

BmnNdetRaw2Digit::BmnNdetRaw2Digit ( )

Definition at line 12 of file BmnNdetRaw2Digit.cxx.

References WfmProcessor::WfmProcessor(), fPeriodId, and fRunId.

Here is the call graph for this function:

◆ ~BmnNdetRaw2Digit() [1/2]

BmnNdetRaw2Digit::~BmnNdetRaw2Digit ( )

Definition at line 347 of file BmnNdetRaw2Digit.cxx.

◆ BmnNdetRaw2Digit() [3/4]

BmnNdetRaw2Digit::BmnNdetRaw2Digit ( Int_t period,
Int_t run,
TString mappingFile,
TString calibrationFile = "" )

◆ BmnNdetRaw2Digit() [4/4]

BmnNdetRaw2Digit::BmnNdetRaw2Digit ( )

◆ ~BmnNdetRaw2Digit() [2/2]

BmnNdetRaw2Digit::~BmnNdetRaw2Digit ( )

Member Function Documentation

◆ correctINL() [1/2]

uint32_t BmnNdetRaw2Digit::correctINL ( uint32_t time,
std::pair< size_t, size_t > key )

Definition at line 246 of file BmnNdetRaw2Digit.cxx.

References fINLcorrMap.

Referenced by FillEvent().

Here is the caller graph for this function:

◆ correctINL() [2/2]

uint32_t BmnNdetRaw2Digit::correctINL ( uint32_t time,
std::pair< size_t, size_t > key )

◆ FillEvent() [1/2]

◆ FillEvent() [2/2]

void BmnNdetRaw2Digit::FillEvent ( TClonesArray * tdc_data,
TClonesArray * adc_data,
unordered_map< UInt_t, Long64_t > * mapTS,
TClonesArray * Ndetdigit )

◆ GetAddressFromBoard() [1/2]

std::optional< uint32_t > BmnNdetRaw2Digit::GetAddressFromBoard ( std::pair< size_t, size_t > key)

Definition at line 224 of file BmnNdetRaw2Digit.cxx.

References fuoChannelMap.

Referenced by FillEvent().

Here is the caller graph for this function:

◆ GetAddressFromBoard() [2/2]

std::optional< uint32_t > BmnNdetRaw2Digit::GetAddressFromBoard ( std::pair< size_t, size_t > key)

◆ GetCalibPairFromAddress() [1/2]

std::optional< std::pair< float, float > > BmnNdetRaw2Digit::GetCalibPairFromAddress ( uint32_t address)

Definition at line 235 of file BmnNdetRaw2Digit.cxx.

References fuoCalibMap.

Referenced by FillEvent().

Here is the caller graph for this function:

◆ GetCalibPairFromAddress() [2/2]

std::optional< std::pair< float, float > > BmnNdetRaw2Digit::GetCalibPairFromAddress ( uint32_t address)

◆ GetCalibSlewShiftFromAddress() [1/2]

std::vector< float > BmnNdetRaw2Digit::GetCalibSlewShiftFromAddress ( uint32_t address)

Definition at line 257 of file BmnNdetRaw2Digit.cxx.

References fuoCalibSlewShiftMap.

Referenced by FillEvent().

Here is the caller graph for this function:

◆ GetCalibSlewShiftFromAddress() [2/2]

std::vector< float > BmnNdetRaw2Digit::GetCalibSlewShiftFromAddress ( uint32_t address)

References BmnNdetRaw2Digit(), fApplyAmplCalib, fApplyINL, fApplyTimeCalib, fcalibrationFileName, fINLcorrMap, fmappingFileName, fPeriodId, fRunId, fuoCalibMap, fuoCalibSlewShiftMap, and fuoChannelMap.

Here is the call graph for this function:

◆ GetChannelMap() [1/2]

auto BmnNdetRaw2Digit::GetChannelMap ( )
inline

Definition at line 44 of file BmnNdetRaw2Digit.h.

References fuoChannelMap.

◆ GetChannelMap() [2/2]

auto BmnNdetRaw2Digit::GetChannelMap ( )
inline

Definition at line 44 of file BmnNdetRaw2Digit.h.

References fuoChannelMap.

◆ GetDigiPars() [1/2]

digiPars BmnNdetRaw2Digit::GetDigiPars ( )
inline

Definition at line 43 of file BmnNdetRaw2Digit.h.

References WfmProcessor::fdigiPars.

Referenced by calibrate_wfm().

Here is the caller graph for this function:

◆ GetDigiPars() [2/2]

digiPars BmnNdetRaw2Digit::GetDigiPars ( )
inline

Definition at line 43 of file BmnNdetRaw2Digit.h.

References WfmProcessor::fdigiPars.

◆ ParseCalibration() [1/2]

void BmnNdetRaw2Digit::ParseCalibration ( TString calibrationFile)

Definition at line 80 of file BmnNdetRaw2Digit.cxx.

References TString::Data(), fApplyAmplCalib, fApplyINL, fApplyTimeCalib, WfmProcessor::fAZik, WfmProcessor::fdigiPars, WfmProcessor::fSignalLength, fuoCalibMap, fuoCalibSlewShiftMap, BmnNdetAddress::GetAddress(), i, PsdSignalFitting::PronyFitter::Initialize(), PsdSignalFitting::PronyFitter::MakeInvHarmoMatrix(), and PsdSignalFitting::PronyFitter::SetExternalHarmonics().

Referenced by BmnNdetRaw2Digit(), and calibrate_wfm().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ParseCalibration() [2/2]

void BmnNdetRaw2Digit::ParseCalibration ( TString calibrationFile)

◆ ParseConfig() [1/2]

void BmnNdetRaw2Digit::ParseConfig ( TString mappingFile)

Definition at line 33 of file BmnNdetRaw2Digit.cxx.

References TString::Data(), fuoChannelMap, and BmnNdetAddress::GetAddress().

Referenced by BmnNdetRaw2Digit().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ParseConfig() [2/2]

void BmnNdetRaw2Digit::ParseConfig ( TString mappingFile)

◆ ParseINLcorrections() [1/2]

void BmnNdetRaw2Digit::ParseINLcorrections ( )

Definition at line 188 of file BmnNdetRaw2Digit.cxx.

References TString::Data(), fApplyINL, fINLcorrMap, fuoChannelMap, and TQDC16_CHANNEL_COUNT.

Referenced by BmnNdetRaw2Digit().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ParseINLcorrections() [2/2]

void BmnNdetRaw2Digit::ParseINLcorrections ( )

◆ print() [1/2]

void BmnNdetRaw2Digit::print ( )

Definition at line 7 of file BmnNdetRaw2Digit.cxx.

◆ print() [2/2]

void BmnNdetRaw2Digit::print ( )

Member Data Documentation

◆ fApplyAmplCalib

bool BmnNdetRaw2Digit::fApplyAmplCalib = false
private

Definition at line 56 of file BmnNdetRaw2Digit.h.

Referenced by FillEvent(), GetCalibSlewShiftFromAddress(), and ParseCalibration().

◆ fApplyINL

bool BmnNdetRaw2Digit::fApplyINL = false
private

◆ fApplyTimeCalib

bool BmnNdetRaw2Digit::fApplyTimeCalib = false
private

Definition at line 57 of file BmnNdetRaw2Digit.h.

Referenced by FillEvent(), GetCalibSlewShiftFromAddress(), and ParseCalibration().

◆ fcalibrationFileName

TString BmnNdetRaw2Digit::fcalibrationFileName
private

Definition at line 54 of file BmnNdetRaw2Digit.h.

Referenced by BmnNdetRaw2Digit(), and GetCalibSlewShiftFromAddress().

◆ fINLcorrMap

std::unordered_map< std::pair< size_t, size_t >, std::vector< float >, boost::hash< pair< int, int > > > BmnNdetRaw2Digit::fINLcorrMap
private

◆ fmappingFileName

TString BmnNdetRaw2Digit::fmappingFileName
private

Definition at line 53 of file BmnNdetRaw2Digit.h.

Referenced by BmnNdetRaw2Digit(), and GetCalibSlewShiftFromAddress().

◆ fPeriodId

int BmnNdetRaw2Digit::fPeriodId
private

◆ fRunId

int BmnNdetRaw2Digit::fRunId
private

◆ fuoCalibMap

std::unordered_map< uint32_t, std::pair< float, float > > BmnNdetRaw2Digit::fuoCalibMap
private

◆ fuoCalibSlewShiftMap

std::unordered_map< uint32_t, std::vector< float > > BmnNdetRaw2Digit::fuoCalibSlewShiftMap
private

Definition at line 64 of file BmnNdetRaw2Digit.h.

Referenced by GetCalibSlewShiftFromAddress(), and ParseCalibration().

◆ fuoChannelMap

std::unordered_map< std::pair< size_t, size_t >, uint32_t, boost::hash< std::pair< size_t, size_t > > > BmnNdetRaw2Digit::fuoChannelMap
private

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