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

#include <BmnHodoRaw2Digit.h>

Inheritance diagram for BmnHodoRaw2Digit:
Collaboration diagram for BmnHodoRaw2Digit:

Public Member Functions

 BmnHodoRaw2Digit (int period, int run, const std::string &mappingFile, const std::string &calibrationFile="")
 BmnHodoRaw2Digit ()
 ~BmnHodoRaw2Digit ()
TString GetName ()
BmnStatus ParseConfig (const std::string &file)
BmnStatus ParseCalibration (const std::string &file)
BmnStatus LoadCalibration (int period, int run)
BmnStatus ParseINLcorrections ()
uint32_t correctINL (uint32_t time, std::pair< size_t, size_t > key)
void FillEvent (TClonesArray *tdc_data, TClonesArray *adc_data, TClonesArray *Hododigit)
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)
 BmnHodoRaw2Digit (int period, int run, const std::string &mappingFile, const std::string &calibrationFile="")
 BmnHodoRaw2Digit ()
 ~BmnHodoRaw2Digit ()
TString GetName ()
BmnStatus ParseConfig (const std::string &file)
BmnStatus ParseCalibration (const std::string &file)
BmnStatus LoadCalibration (int period, int run)
BmnStatus ParseINLcorrections ()
uint32_t correctINL (uint32_t time, std::pair< size_t, size_t > key)
void FillEvent (TClonesArray *tdc_data, TClonesArray *adc_data, TClonesArray *Hododigit)
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)
Public Member Functions inherited from WfmProcessor
 WfmProcessor ()
virtual ~WfmProcessor ()
 WfmProcessor ()
virtual ~WfmProcessor ()

Private Member Functions

BmnStatus ParseCalibrationJson (const nlohmann::json &j)
BmnStatus ParseCalibrationJson (const nlohmann::json &j)

Private Attributes

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< std::pair< size_t, size_t > > > fINLcorrMap
std::unordered_map< uint32_t, std::pair< float, float > > fuoCalibMap
int fSaturation
bool fDoRLdeconvolve
int fRLthresold
float fR2converge
size_t fMaxIters
size_t fMaxPeaks
std::vector< float > fEthalon
double fworkTime_real
double fworkTime_cpu

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 23 of file BmnHodoRaw2Digit.h.

Constructor & Destructor Documentation

◆ BmnHodoRaw2Digit() [1/4]

BmnHodoRaw2Digit::BmnHodoRaw2Digit ( int period,
int run,
const std::string & mappingFile,
const std::string & calibrationFile = "" )

Definition at line 37 of file BmnHodoRaw2Digit.cxx.

References WfmProcessor::WfmProcessor(), fDoRLdeconvolve, fMaxIters, fMaxPeaks, fR2converge, fRLthresold, fSaturation, fworkTime_cpu, fworkTime_real, GetName(), kBMNERROR, LoadCalibration(), max(), ParseCalibration(), and ParseConfig().

Referenced by ParseCalibrationJson().

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

◆ BmnHodoRaw2Digit() [2/4]

BmnHodoRaw2Digit::BmnHodoRaw2Digit ( )

Definition at line 25 of file BmnHodoRaw2Digit.cxx.

References WfmProcessor::WfmProcessor(), fDoRLdeconvolve, fMaxIters, fMaxPeaks, fR2converge, fRLthresold, fSaturation, fworkTime_cpu, fworkTime_real, and max().

Here is the call graph for this function:

◆ ~BmnHodoRaw2Digit() [1/2]

BmnHodoRaw2Digit::~BmnHodoRaw2Digit ( )

Definition at line 429 of file BmnHodoRaw2Digit.cxx.

References fworkTime_cpu, fworkTime_real, and GetName().

Here is the call graph for this function:

◆ BmnHodoRaw2Digit() [3/4]

BmnHodoRaw2Digit::BmnHodoRaw2Digit ( int period,
int run,
const std::string & mappingFile,
const std::string & calibrationFile = "" )

◆ BmnHodoRaw2Digit() [4/4]

BmnHodoRaw2Digit::BmnHodoRaw2Digit ( )

◆ ~BmnHodoRaw2Digit() [2/2]

BmnHodoRaw2Digit::~BmnHodoRaw2Digit ( )

Member Function Documentation

◆ correctINL() [1/2]

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

Definition at line 289 of file BmnHodoRaw2Digit.cxx.

References fINLcorrMap, and GetName().

Referenced by FillEvent().

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

◆ correctINL() [2/2]

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

◆ FillEvent() [1/2]

void BmnHodoRaw2Digit::FillEvent ( TClonesArray * tdc_data,
TClonesArray * adc_data,
TClonesArray * Hododigit )

◆ FillEvent() [2/2]

void BmnHodoRaw2Digit::FillEvent ( TClonesArray * tdc_data,
TClonesArray * adc_data,
TClonesArray * Hododigit )

◆ GetAddressFromBoard() [1/2]

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

Definition at line 278 of file BmnHodoRaw2Digit.cxx.

References fuoChannelMap, and GetName().

Referenced by FillEvent().

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

◆ GetAddressFromBoard() [2/2]

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

◆ GetCalibPairFromAddress() [1/2]

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

Definition at line 300 of file BmnHodoRaw2Digit.cxx.

References fuoCalibMap, and GetName().

Referenced by FillEvent(), and simple_analysis().

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

◆ GetCalibPairFromAddress() [2/2]

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

◆ GetChannelMap() [1/2]

auto BmnHodoRaw2Digit::GetChannelMap ( )
inline

Definition at line 42 of file BmnHodoRaw2Digit.h.

References fuoChannelMap.

◆ GetChannelMap() [2/2]

auto BmnHodoRaw2Digit::GetChannelMap ( )
inline

Definition at line 42 of file BmnHodoRaw2Digit.h.

References fuoChannelMap.

◆ GetDigiPars() [1/2]

digiPars BmnHodoRaw2Digit::GetDigiPars ( )
inline

Definition at line 41 of file BmnHodoRaw2Digit.h.

References WfmProcessor::fdigiPars.

Referenced by calibrate_wfm().

Here is the caller graph for this function:

◆ GetDigiPars() [2/2]

digiPars BmnHodoRaw2Digit::GetDigiPars ( )
inline

Definition at line 41 of file BmnHodoRaw2Digit.h.

References WfmProcessor::fdigiPars.

◆ GetName() [1/2]

TString BmnHodoRaw2Digit::GetName ( )
inline

Definition at line 32 of file BmnHodoRaw2Digit.h.

Referenced by BmnHodoRaw2Digit(), ~BmnHodoRaw2Digit(), correctINL(), FillEvent(), GetAddressFromBoard(), GetCalibPairFromAddress(), LoadCalibration(), ParseCalibration(), ParseCalibrationJson(), ParseConfig(), ParseINLcorrections(), and print().

Here is the caller graph for this function:

◆ GetName() [2/2]

TString BmnHodoRaw2Digit::GetName ( )
inline

Definition at line 32 of file BmnHodoRaw2Digit.h.

◆ LoadCalibration() [1/2]

BmnStatus BmnHodoRaw2Digit::LoadCalibration ( int period,
int run )

Definition at line 104 of file BmnHodoRaw2Digit.cxx.

References UniDetectorParameter::GetDetectorParameter(), GetName(), UniDetectorParameter::GetValue(), ParseCalibration(), ParseCalibrationJson(), and JsonValue::value.

Referenced by BmnHodoRaw2Digit().

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

◆ LoadCalibration() [2/2]

BmnStatus BmnHodoRaw2Digit::LoadCalibration ( int period,
int run )

◆ ParseCalibration() [1/2]

BmnStatus BmnHodoRaw2Digit::ParseCalibration ( const std::string & file)

Definition at line 134 of file BmnHodoRaw2Digit.cxx.

References GetName(), kBMNERROR, and ParseCalibrationJson().

Referenced by BmnHodoRaw2Digit(), calibrate_wfm(), LoadCalibration(), and simple_analysis().

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

◆ ParseCalibration() [2/2]

BmnStatus BmnHodoRaw2Digit::ParseCalibration ( const std::string & file)

◆ ParseCalibrationJson() [1/2]

BmnStatus BmnHodoRaw2Digit::ParseCalibrationJson ( const nlohmann::json & j)
private

Definition at line 154 of file BmnHodoRaw2Digit.cxx.

References WfmProcessor::fAZik, WfmProcessor::fdigiPars, fDoRLdeconvolve, fEthalon, fMaxIters, fMaxPeaks, fR2converge, fRLthresold, fSaturation, WfmProcessor::fSignalLength, fuoCalibMap, BmnHodoAddress::GetAddress(), GetName(), i, PsdSignalFitting::PronyFitter::Initialize(), kBMNERROR, kBMNSUCCESS, PsdSignalFitting::PronyFitter::MakeInvHarmoMatrix(), ParseINLcorrections(), and PsdSignalFitting::PronyFitter::SetExternalHarmonics().

Referenced by LoadCalibration(), and ParseCalibration().

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

◆ ParseCalibrationJson() [2/2]

BmnStatus BmnHodoRaw2Digit::ParseCalibrationJson ( const nlohmann::json & j)
private

References BmnHodoRaw2Digit(), fDoRLdeconvolve, fEthalon, fINLcorrMap, fMaxIters, fMaxPeaks, fR2converge, fRLthresold, fSaturation, fuoCalibMap, fuoChannelMap, fworkTime_cpu, and fworkTime_real.

Here is the call graph for this function:

◆ ParseConfig() [1/2]

BmnStatus BmnHodoRaw2Digit::ParseConfig ( const std::string & file)

Definition at line 69 of file BmnHodoRaw2Digit.cxx.

References fuoChannelMap, BmnHodoAddress::GetAddress(), GetName(), kBMNERROR, and kBMNSUCCESS.

Referenced by BmnHodoRaw2Digit().

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

◆ ParseConfig() [2/2]

BmnStatus BmnHodoRaw2Digit::ParseConfig ( const std::string & file)

◆ ParseINLcorrections() [1/2]

BmnStatus BmnHodoRaw2Digit::ParseINLcorrections ( )

Definition at line 243 of file BmnHodoRaw2Digit.cxx.

References fINLcorrMap, fuoChannelMap, GetName(), kBMNSUCCESS, and TQDC16_CHANNEL_COUNT.

Referenced by ParseCalibrationJson().

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

◆ ParseINLcorrections() [2/2]

BmnStatus BmnHodoRaw2Digit::ParseINLcorrections ( )

◆ print() [1/2]

void BmnHodoRaw2Digit::print ( )

Definition at line 20 of file BmnHodoRaw2Digit.cxx.

References GetName().

Here is the call graph for this function:

◆ print() [2/2]

void BmnHodoRaw2Digit::print ( )

Member Data Documentation

◆ fDoRLdeconvolve

bool BmnHodoRaw2Digit::fDoRLdeconvolve
private

◆ fEthalon

std::vector< float > BmnHodoRaw2Digit::fEthalon
private

Definition at line 61 of file BmnHodoRaw2Digit.h.

Referenced by FillEvent(), and ParseCalibrationJson().

◆ fINLcorrMap

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

Definition at line 52 of file BmnHodoRaw2Digit.h.

Referenced by correctINL(), ParseCalibrationJson(), and ParseINLcorrections().

◆ fMaxIters

size_t BmnHodoRaw2Digit::fMaxIters
private

◆ fMaxPeaks

size_t BmnHodoRaw2Digit::fMaxPeaks
private

◆ fR2converge

float BmnHodoRaw2Digit::fR2converge
private

◆ fRLthresold

int BmnHodoRaw2Digit::fRLthresold
private

◆ fSaturation

int BmnHodoRaw2Digit::fSaturation
private

◆ fuoCalibMap

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

Definition at line 53 of file BmnHodoRaw2Digit.h.

Referenced by GetCalibPairFromAddress(), and ParseCalibrationJson().

◆ fuoChannelMap

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

◆ fworkTime_cpu

double BmnHodoRaw2Digit::fworkTime_cpu
private

◆ fworkTime_real

double BmnHodoRaw2Digit::fworkTime_real
private

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