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

#include <PronyFitter.h>

Public Member Functions

 PronyFitter ()
 Default constructor.
 PronyFitter (int model_order, int exponent_number, int gate_beg, int gate_end)
void Initialize (int model_order, int exponent_number, int gate_beg, int gate_end)
 ~PronyFitter ()
 Default destructor.
float GoToLevel (float Level, int *point, int iterator, int iLastPoint)
int CalcSignalBeginStraight ()
int CalcSignalBegin (float front_time_beg_03, float front_time_end)
int ChooseBestSignalBeginHarmonics (int first_sample, int last_sample)
int ChooseBestSignalBegin (int first_sample, int last_sample)
void MakePileUpRejection (int time_max)
void CalculateFitHarmonics ()
void CalculateFitAmplitudes ()
void MakeInvHarmoMatrix (int signal_length, std::complex< float > **output)
void MakeZpowerMatrix (int signal_length, std::complex< float > **output)
void ResetAmplitudes ()
void CalculateFitAmplitudesFast (int signal_length, std::complex< float > **InvHarmoMatrix)
int ChooseBestSignalBeginFast (int first_sample, int last_sample, int signal_length, std::complex< float > **InvHarmoMatrix)
int SearchSignalBeginByHarmo (int first_sample, int last_sample, int signal_length, std::complex< float > **Zpower)
void SolveSLEGauss (float *x, float **r, float *b, int n)
void SolveSLEGauss (std::complex< float > *x, std::complex< float > **r, std::complex< float > *b, int n)
void SolveSLECholesky (float *x, float **a, float *b, int n)
void CovarianceQRmod (float &rho_f, std::vector< float > &a_f, float &rho_b, std::vector< float > &a_b)
void CovarianceDirect (float &rho_f, std::vector< float > &a_f, float &rho_b, std::vector< float > &a_b)
float LevelBy2Points (float X1, float Y1, float X2, float Y2, float Y0)
void SetDebugMode (bool IsDebug)
void SetWaveform (std::vector< float > &Wfm, float ZeroLevel)
void SetSignalBegin (int SignalBeg)
void SetHarmonics (std::complex< float > *z)
void SetExternalHarmonics (std::vector< std::complex< float > > harmonics)
std::complex< float > * GetHarmonics ()
std::complex< float > * GetAmplitudes ()
float GetIntegral (int gate_beg, int gate_end)
float GetFitValue (int sample_number)
float GetFitValue (float x)
float GetZeroLevel ()
float GetX (float level, int first_sample, int last_sample)
float GetX (float level, int first_sample, int last_sample, float step)
float GetRSquare (int gate_beg, int gate_end)
float GetRSquareSignal ()
float GetChiSquare (int gate_beg, int gate_end, int time_max)
float GetDeltaInSample (int sample)
float GetSignalBeginFromPhase ()
float GetSignalMaxTime ()
float GetMaxAmplitude ()
int GetNumberPolRoots ()
std::vector< float > GetFitWfm ()
 PronyFitter ()
 Default constructor.
 PronyFitter (int model_order, int exponent_number, int gate_beg, int gate_end)
void Initialize (int model_order, int exponent_number, int gate_beg, int gate_end)
 ~PronyFitter ()
 Default destructor.
float GoToLevel (float Level, int *point, int iterator, int iLastPoint)
int CalcSignalBeginStraight ()
int CalcSignalBegin (float front_time_beg_03, float front_time_end)
int ChooseBestSignalBeginHarmonics (int first_sample, int last_sample)
int ChooseBestSignalBegin (int first_sample, int last_sample)
void MakePileUpRejection (int time_max)
void CalculateFitHarmonics ()
void CalculateFitAmplitudes ()
void MakeInvHarmoMatrix (int signal_length, std::complex< float > **output)
void MakeZpowerMatrix (int signal_length, std::complex< float > **output)
void ResetAmplitudes ()
void CalculateFitAmplitudesFast (int signal_length, std::complex< float > **InvHarmoMatrix)
int ChooseBestSignalBeginFast (int first_sample, int last_sample, int signal_length, std::complex< float > **InvHarmoMatrix)
int SearchSignalBeginByHarmo (int first_sample, int last_sample, int signal_length, std::complex< float > **Zpower)
void SolveSLEGauss (float *x, float **r, float *b, int n)
void SolveSLEGauss (std::complex< float > *x, std::complex< float > **r, std::complex< float > *b, int n)
void SolveSLECholesky (float *x, float **a, float *b, int n)
void CovarianceQRmod (float &rho_f, std::vector< float > &a_f, float &rho_b, std::vector< float > &a_b)
void CovarianceDirect (float &rho_f, std::vector< float > &a_f, float &rho_b, std::vector< float > &a_b)
float LevelBy2Points (float X1, float Y1, float X2, float Y2, float Y0)
void SetDebugMode (bool IsDebug)
void SetWaveform (std::vector< float > &Wfm, float ZeroLevel)
void SetSignalBegin (int SignalBeg)
void SetHarmonics (std::complex< float > *z)
void SetExternalHarmonics (std::vector< std::complex< float > > harmonics)
std::complex< float > * GetHarmonics ()
std::complex< float > * GetAmplitudes ()
float GetIntegral (int gate_beg, int gate_end)
float GetFitValue (int sample_number)
float GetFitValue (float x)
float GetZeroLevel ()
float GetX (float level, int first_sample, int last_sample)
float GetX (float level, int first_sample, int last_sample, float step)
float GetRSquare (int gate_beg, int gate_end)
float GetRSquareSignal ()
float GetChiSquare (int gate_beg, int gate_end, int time_max)
float GetDeltaInSample (int sample)
float GetSignalBeginFromPhase ()
float GetSignalMaxTime ()
float GetMaxAmplitude ()
int GetNumberPolRoots ()
std::vector< float > GetFitWfm ()

Private Member Functions

void AllocData ()
void DeleteData ()
void Clear ()
void AllocData ()
void DeleteData ()
void Clear ()

Private Attributes

bool fIsDebug = false
int fModelOrder
int fExpNumber
int fGateBeg
int fGateEnd
int fSampleTotal
int fSignalBegin
int fTotalPolRoots
std::vector< float > fWfm
float fZeroLevel
std::complex< float > * fz = nullptr
std::complex< float > * fh = nullptr
std::vector< float > fFitWfm
float fFitZeroLevel

Detailed Description

Definition at line 25 of file PronyFitter.h.

Constructor & Destructor Documentation

◆ PronyFitter() [1/4]

PsdSignalFitting::PronyFitter::PronyFitter ( )
inline

Definition at line 30 of file PronyFitter.h.

◆ PronyFitter() [2/4]

PronyFitter::PronyFitter ( int model_order,
int exponent_number,
int gate_beg,
int gate_end )

Definition at line 16 of file PronyFitter.cxx.

References Initialize().

Here is the call graph for this function:

◆ ~PronyFitter() [1/2]

PsdSignalFitting::PronyFitter::~PronyFitter ( )
inline

Definition at line 36 of file PronyFitter.h.

References Clear().

Here is the call graph for this function:

◆ PronyFitter() [3/4]

PsdSignalFitting::PronyFitter::PronyFitter ( )
inline

Definition at line 30 of file PronyFitter.h.

◆ PronyFitter() [4/4]

PsdSignalFitting::PronyFitter::PronyFitter ( int model_order,
int exponent_number,
int gate_beg,
int gate_end )

◆ ~PronyFitter() [2/2]

PsdSignalFitting::PronyFitter::~PronyFitter ( )
inline

Definition at line 36 of file PronyFitter.h.

References Clear().

Here is the call graph for this function:

Member Function Documentation

◆ AllocData() [1/2]

void PronyFitter::AllocData ( )
private

Definition at line 30 of file PronyFitter.cxx.

References fExpNumber, fh, fz, and i.

Referenced by Initialize().

Here is the caller graph for this function:

◆ AllocData() [2/2]

void PsdSignalFitting::PronyFitter::AllocData ( )
private

◆ CalcSignalBegin() [1/2]

int PronyFitter::CalcSignalBegin ( float front_time_beg_03,
float front_time_end )

Definition at line 84 of file PronyFitter.cxx.

Referenced by CalcSignalBeginStraight().

Here is the caller graph for this function:

◆ CalcSignalBegin() [2/2]

int PsdSignalFitting::PronyFitter::CalcSignalBegin ( float front_time_beg_03,
float front_time_end )

◆ CalcSignalBeginStraight() [1/2]

int PronyFitter::CalcSignalBeginStraight ( )

Definition at line 66 of file PronyFitter.cxx.

References CalcSignalBegin(), fGateBeg, fGateEnd, fSampleTotal, fWfm, fZeroLevel, and GoToLevel().

Referenced by WfmProcessor::ProcessWfm().

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

◆ CalcSignalBeginStraight() [2/2]

int PsdSignalFitting::PronyFitter::CalcSignalBeginStraight ( )

◆ CalculateFitAmplitudes() [1/2]

void PronyFitter::CalculateFitAmplitudes ( )

Definition at line 564 of file PronyFitter.cxx.

References fExpNumber, fFitWfm, fFitZeroLevel, fGateEnd, fh, fIsDebug, fSampleTotal, fSignalBegin, fWfm, fz, fZeroLevel, i, and SolveSLEGauss().

Referenced by calibrate_wfm(), ChooseBestSignalBegin(), and ChooseBestSignalBeginHarmonics().

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

◆ CalculateFitAmplitudes() [2/2]

void PsdSignalFitting::PronyFitter::CalculateFitAmplitudes ( )

◆ CalculateFitAmplitudesFast() [1/2]

void PronyFitter::CalculateFitAmplitudesFast ( int signal_length,
std::complex< float > ** InvHarmoMatrix )

Definition at line 657 of file PronyFitter.cxx.

References fExpNumber, fFitWfm, fFitZeroLevel, fGateEnd, fh, fIsDebug, fSampleTotal, fSignalBegin, fWfm, fz, fZeroLevel, and i.

Referenced by ChooseBestSignalBeginFast(), and WfmProcessor::ProcessWfm().

Here is the caller graph for this function:

◆ CalculateFitAmplitudesFast() [2/2]

void PsdSignalFitting::PronyFitter::CalculateFitAmplitudesFast ( int signal_length,
std::complex< float > ** InvHarmoMatrix )

◆ CalculateFitHarmonics() [1/2]

void PronyFitter::CalculateFitHarmonics ( )

Definition at line 96 of file PronyFitter.cxx.

References CovarianceDirect(), fExpNumber, fIsDebug, fModelOrder, fTotalPolRoots, i, polynomComplexRoots(), polynomRealRoots(), and SetHarmonics().

Referenced by calibrate_wfm(), and ChooseBestSignalBeginHarmonics().

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

◆ CalculateFitHarmonics() [2/2]

void PsdSignalFitting::PronyFitter::CalculateFitHarmonics ( )

◆ ChooseBestSignalBegin() [1/2]

int PronyFitter::ChooseBestSignalBegin ( int first_sample,
int last_sample )

Definition at line 977 of file PronyFitter.cxx.

References CalculateFitAmplitudes(), fGateBeg, fGateEnd, GetRSquare(), and SetSignalBegin().

Here is the call graph for this function:

◆ ChooseBestSignalBegin() [2/2]

int PsdSignalFitting::PronyFitter::ChooseBestSignalBegin ( int first_sample,
int last_sample )

◆ ChooseBestSignalBeginFast() [1/2]

int PronyFitter::ChooseBestSignalBeginFast ( int first_sample,
int last_sample,
int signal_length,
std::complex< float > ** InvHarmoMatrix )

Definition at line 997 of file PronyFitter.cxx.

References CalculateFitAmplitudesFast(), fGateBeg, fGateEnd, fWfm, GetRSquare(), ResetAmplitudes(), and SetSignalBegin().

Here is the call graph for this function:

◆ ChooseBestSignalBeginFast() [2/2]

int PsdSignalFitting::PronyFitter::ChooseBestSignalBeginFast ( int first_sample,
int last_sample,
int signal_length,
std::complex< float > ** InvHarmoMatrix )

◆ ChooseBestSignalBeginHarmonics() [1/2]

int PronyFitter::ChooseBestSignalBeginHarmonics ( int first_sample,
int last_sample )

Definition at line 941 of file PronyFitter.cxx.

References CalculateFitAmplitudes(), CalculateFitHarmonics(), fExpNumber, fGateBeg, fGateEnd, fIsDebug, fTotalPolRoots, fz, GetRSquare(), and SetSignalBegin().

Referenced by calibrate_wfm().

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

◆ ChooseBestSignalBeginHarmonics() [2/2]

int PsdSignalFitting::PronyFitter::ChooseBestSignalBeginHarmonics ( int first_sample,
int last_sample )

◆ Clear() [1/2]

void PronyFitter::Clear ( )
private

Definition at line 1293 of file PronyFitter.cxx.

References DeleteData(), fExpNumber, fFitWfm, fFitZeroLevel, fGateBeg, fGateEnd, fModelOrder, fSampleTotal, fSignalBegin, fTotalPolRoots, fWfm, and fZeroLevel.

Referenced by ~PronyFitter().

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

◆ Clear() [2/2]

void PsdSignalFitting::PronyFitter::Clear ( )
private

◆ CovarianceDirect() [1/2]

void PronyFitter::CovarianceDirect ( float & rho_f,
std::vector< float > & a_f,
float & rho_b,
std::vector< float > & a_b )

Definition at line 169 of file PronyFitter.cxx.

References fGateEnd, fIsDebug, fModelOrder, fSignalBegin, fWfm, fZeroLevel, i, n, and SolveSLEGauss().

Referenced by CalculateFitHarmonics().

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

◆ CovarianceDirect() [2/2]

void PsdSignalFitting::PronyFitter::CovarianceDirect ( float & rho_f,
std::vector< float > & a_f,
float & rho_b,
std::vector< float > & a_b )

◆ CovarianceQRmod() [1/2]

void PronyFitter::CovarianceQRmod ( float & rho_f,
std::vector< float > & a_f,
float & rho_b,
std::vector< float > & a_b )

Definition at line 234 of file PronyFitter.cxx.

References d, delta, fGateEnd, fIsDebug, fModelOrder, fSignalBegin, fWfm, fZeroLevel, i, and n.

◆ CovarianceQRmod() [2/2]

void PsdSignalFitting::PronyFitter::CovarianceQRmod ( float & rho_f,
std::vector< float > & a_f,
float & rho_b,
std::vector< float > & a_b )

◆ DeleteData() [1/2]

void PronyFitter::DeleteData ( )
private

Definition at line 1285 of file PronyFitter.cxx.

References fh, and fz.

Referenced by Clear().

Here is the caller graph for this function:

◆ DeleteData() [2/2]

void PsdSignalFitting::PronyFitter::DeleteData ( )
private

◆ GetAmplitudes() [1/2]

std::complex< float > * PronyFitter::GetAmplitudes ( )

Definition at line 744 of file PronyFitter.cxx.

References fh.

◆ GetAmplitudes() [2/2]

std::complex< float > * PsdSignalFitting::PronyFitter::GetAmplitudes ( )

◆ GetChiSquare() [1/2]

float PronyFitter::GetChiSquare ( int gate_beg,
int gate_end,
int time_max )

Definition at line 890 of file PronyFitter.cxx.

References fFitWfm, fFitZeroLevel, fWfm, fZeroLevel, and i.

Referenced by calibrate_wfm().

Here is the caller graph for this function:

◆ GetChiSquare() [2/2]

float PsdSignalFitting::PronyFitter::GetChiSquare ( int gate_beg,
int gate_end,
int time_max )

◆ GetDeltaInSample() [1/2]

float PronyFitter::GetDeltaInSample ( int sample)

Definition at line 936 of file PronyFitter.cxx.

References fFitWfm, and fWfm.

◆ GetDeltaInSample() [2/2]

float PsdSignalFitting::PronyFitter::GetDeltaInSample ( int sample)

◆ GetFitValue() [1/4]

float PronyFitter::GetFitValue ( float x)

Definition at line 762 of file PronyFitter.cxx.

References fExpNumber, fh, fSignalBegin, fz, GetSignalBeginFromPhase(), i, and x.

Here is the call graph for this function:

◆ GetFitValue() [2/4]

float PsdSignalFitting::PronyFitter::GetFitValue ( float x)

References x.

◆ GetFitValue() [3/4]

float PronyFitter::GetFitValue ( int sample_number)

Definition at line 755 of file PronyFitter.cxx.

References fFitWfm.

Referenced by GetMaxAmplitude(), GetX(), and GetX().

Here is the caller graph for this function:

◆ GetFitValue() [4/4]

float PsdSignalFitting::PronyFitter::GetFitValue ( int sample_number)

◆ GetFitWfm() [1/2]

std::vector< float > PsdSignalFitting::PronyFitter::GetFitWfm ( )
inline

Definition at line 88 of file PronyFitter.h.

References fFitWfm.

Referenced by calibrate_wfm(), and WfmProcessor::ProcessWfm().

Here is the caller graph for this function:

◆ GetFitWfm() [2/2]

std::vector< float > PsdSignalFitting::PronyFitter::GetFitWfm ( )
inline

Definition at line 88 of file PronyFitter.h.

References fFitWfm.

◆ GetHarmonics() [1/2]

std::complex< float > * PronyFitter::GetHarmonics ( )

Definition at line 484 of file PronyFitter.cxx.

References fz.

Referenced by calibrate_wfm().

Here is the caller graph for this function:

◆ GetHarmonics() [2/2]

std::complex< float > * PsdSignalFitting::PronyFitter::GetHarmonics ( )

◆ GetIntegral() [1/2]

float PronyFitter::GetIntegral ( int gate_beg,
int gate_end )

Definition at line 749 of file PronyFitter.cxx.

References fFitWfm, and fFitZeroLevel.

Referenced by calibrate_wfm(), and WfmProcessor::ProcessWfm().

Here is the caller graph for this function:

◆ GetIntegral() [2/2]

float PsdSignalFitting::PronyFitter::GetIntegral ( int gate_beg,
int gate_end )

◆ GetMaxAmplitude() [1/2]

float PronyFitter::GetMaxAmplitude ( )

Definition at line 803 of file PronyFitter.cxx.

References GetFitValue(), and GetSignalMaxTime().

Referenced by WfmProcessor::ProcessWfm().

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

◆ GetMaxAmplitude() [2/2]

float PsdSignalFitting::PronyFitter::GetMaxAmplitude ( )

◆ GetNumberPolRoots() [1/2]

int PronyFitter::GetNumberPolRoots ( )

Definition at line 466 of file PronyFitter.cxx.

References fTotalPolRoots.

◆ GetNumberPolRoots() [2/2]

int PsdSignalFitting::PronyFitter::GetNumberPolRoots ( )

◆ GetRSquare() [1/2]

float PronyFitter::GetRSquare ( int gate_beg,
int gate_end )

Definition at line 858 of file PronyFitter.cxx.

References fFitWfm, fModelOrder, fWfm, and m.

Referenced by calibrate_wfm(), ChooseBestSignalBegin(), ChooseBestSignalBeginFast(), ChooseBestSignalBeginHarmonics(), GetRSquareSignal(), and WfmProcessor::ProcessWfm().

Here is the caller graph for this function:

◆ GetRSquare() [2/2]

float PsdSignalFitting::PronyFitter::GetRSquare ( int gate_beg,
int gate_end )

◆ GetRSquareSignal() [1/2]

float PronyFitter::GetRSquareSignal ( )

Definition at line 885 of file PronyFitter.cxx.

References fGateEnd, fSignalBegin, and GetRSquare().

Here is the call graph for this function:

◆ GetRSquareSignal() [2/2]

float PsdSignalFitting::PronyFitter::GetRSquareSignal ( )

◆ GetSignalBeginFromPhase() [1/2]

float PronyFitter::GetSignalBeginFromPhase ( )

Definition at line 793 of file PronyFitter.cxx.

References fExpNumber, fh, fSignalBegin, and fz.

Referenced by GetFitValue().

Here is the caller graph for this function:

◆ GetSignalBeginFromPhase() [2/2]

float PsdSignalFitting::PronyFitter::GetSignalBeginFromPhase ( )

◆ GetSignalMaxTime() [1/2]

float PronyFitter::GetSignalMaxTime ( )

Definition at line 781 of file PronyFitter.cxx.

References fExpNumber, fFitWfm, fh, fSignalBegin, and fz.

Referenced by GetMaxAmplitude(), and WfmProcessor::ProcessWfm().

Here is the caller graph for this function:

◆ GetSignalMaxTime() [2/2]

float PsdSignalFitting::PronyFitter::GetSignalMaxTime ( )

◆ GetX() [1/4]

float PronyFitter::GetX ( float level,
int first_sample,
int last_sample )

Definition at line 808 of file PronyFitter.cxx.

References GetFitValue(), and LevelBy2Points().

Here is the call graph for this function:

◆ GetX() [2/4]

float PsdSignalFitting::PronyFitter::GetX ( float level,
int first_sample,
int last_sample )

◆ GetX() [3/4]

float PronyFitter::GetX ( float level,
int first_sample,
int last_sample,
float step )

Definition at line 832 of file PronyFitter.cxx.

References GetFitValue(), and LevelBy2Points().

Here is the call graph for this function:

◆ GetX() [4/4]

float PsdSignalFitting::PronyFitter::GetX ( float level,
int first_sample,
int last_sample,
float step )

◆ GetZeroLevel() [1/2]

float PronyFitter::GetZeroLevel ( )

Definition at line 776 of file PronyFitter.cxx.

References fFitZeroLevel.

Referenced by WfmProcessor::ProcessWfm().

Here is the caller graph for this function:

◆ GetZeroLevel() [2/2]

float PsdSignalFitting::PronyFitter::GetZeroLevel ( )

◆ GoToLevel() [1/2]

float PronyFitter::GoToLevel ( float Level,
int * point,
int iterator,
int iLastPoint )

Definition at line 49 of file PronyFitter.cxx.

References fWfm, and LevelBy2Points().

Referenced by CalcSignalBeginStraight().

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

◆ GoToLevel() [2/2]

float PsdSignalFitting::PronyFitter::GoToLevel ( float Level,
int * point,
int iterator,
int iLastPoint )

◆ Initialize() [1/2]

void PronyFitter::Initialize ( int model_order,
int exponent_number,
int gate_beg,
int gate_end )

Definition at line 21 of file PronyFitter.cxx.

References AllocData(), fExpNumber, fGateBeg, fGateEnd, and fModelOrder.

Referenced by PronyFitter(), BmnFHCalRaw2Digit::ParseCalibration(), BmnNdetRaw2Digit::ParseCalibration(), BmnHodoRaw2Digit::ParseCalibrationJson(), BmnScWallRaw2Digit::ParseCalibrationJson(), and WfmProcessor::ProcessWfm().

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

◆ Initialize() [2/2]

void PsdSignalFitting::PronyFitter::Initialize ( int model_order,
int exponent_number,
int gate_beg,
int gate_end )

◆ LevelBy2Points() [1/2]

float PronyFitter::LevelBy2Points ( float X1,
float Y1,
float X2,
float Y2,
float Y0 )

Definition at line 853 of file PronyFitter.cxx.

Referenced by GetX(), GetX(), and GoToLevel().

Here is the caller graph for this function:

◆ LevelBy2Points() [2/2]

float PsdSignalFitting::PronyFitter::LevelBy2Points ( float X1,
float Y1,
float X2,
float Y2,
float Y0 )

◆ MakeInvHarmoMatrix() [1/2]

void PronyFitter::MakeInvHarmoMatrix ( int signal_length,
std::complex< float > ** output )

Definition at line 489 of file PronyFitter.cxx.

References fExpNumber, fIsDebug, fz, i, and MatrixInversion().

Referenced by BmnFHCalRaw2Digit::ParseCalibration(), BmnNdetRaw2Digit::ParseCalibration(), BmnHodoRaw2Digit::ParseCalibrationJson(), and BmnScWallRaw2Digit::ParseCalibrationJson().

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

◆ MakeInvHarmoMatrix() [2/2]

void PsdSignalFitting::PronyFitter::MakeInvHarmoMatrix ( int signal_length,
std::complex< float > ** output )

◆ MakePileUpRejection() [1/2]

void PronyFitter::MakePileUpRejection ( int time_max)

Definition at line 562 of file PronyFitter.cxx.

◆ MakePileUpRejection() [2/2]

void PsdSignalFitting::PronyFitter::MakePileUpRejection ( int time_max)

◆ MakeZpowerMatrix() [1/2]

void PronyFitter::MakeZpowerMatrix ( int signal_length,
std::complex< float > ** output )

Definition at line 544 of file PronyFitter.cxx.

References fExpNumber, fIsDebug, fz, and i.

◆ MakeZpowerMatrix() [2/2]

void PsdSignalFitting::PronyFitter::MakeZpowerMatrix ( int signal_length,
std::complex< float > ** output )

◆ ResetAmplitudes() [1/2]

void PronyFitter::ResetAmplitudes ( )

Definition at line 1276 of file PronyFitter.cxx.

References fExpNumber, fFitWfm, fFitZeroLevel, fh, fSignalBegin, and i.

Referenced by ChooseBestSignalBeginFast().

Here is the caller graph for this function:

◆ ResetAmplitudes() [2/2]

void PsdSignalFitting::PronyFitter::ResetAmplitudes ( )

◆ SearchSignalBeginByHarmo() [1/2]

int PronyFitter::SearchSignalBeginByHarmo ( int first_sample,
int last_sample,
int signal_length,
std::complex< float > ** Zpower )

Definition at line 1026 of file PronyFitter.cxx.

References fExpNumber, fIsDebug, fWfm, fz, and i.

◆ SearchSignalBeginByHarmo() [2/2]

int PsdSignalFitting::PronyFitter::SearchSignalBeginByHarmo ( int first_sample,
int last_sample,
int signal_length,
std::complex< float > ** Zpower )

◆ SetDebugMode() [1/2]

void PsdSignalFitting::PronyFitter::SetDebugMode ( bool IsDebug)
inline

Definition at line 64 of file PronyFitter.h.

References fIsDebug.

Referenced by WfmProcessor::ProcessWfm().

Here is the caller graph for this function:

◆ SetDebugMode() [2/2]

void PsdSignalFitting::PronyFitter::SetDebugMode ( bool IsDebug)
inline

Definition at line 64 of file PronyFitter.h.

References fIsDebug.

◆ SetExternalHarmonics() [1/2]

void PronyFitter::SetExternalHarmonics ( std::vector< std::complex< float > > harmonics)

Definition at line 476 of file PronyFitter.cxx.

References SetHarmonics().

Referenced by BmnFHCalRaw2Digit::ParseCalibration(), BmnNdetRaw2Digit::ParseCalibration(), BmnHodoRaw2Digit::ParseCalibrationJson(), BmnScWallRaw2Digit::ParseCalibrationJson(), and WfmProcessor::ProcessWfm().

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

◆ SetExternalHarmonics() [2/2]

void PsdSignalFitting::PronyFitter::SetExternalHarmonics ( std::vector< std::complex< float > > harmonics)

◆ SetHarmonics() [1/2]

void PronyFitter::SetHarmonics ( std::complex< float > * z)

Definition at line 471 of file PronyFitter.cxx.

References fExpNumber, fz, and z.

Referenced by CalculateFitHarmonics(), and SetExternalHarmonics().

Here is the caller graph for this function:

◆ SetHarmonics() [2/2]

void PsdSignalFitting::PronyFitter::SetHarmonics ( std::complex< float > * z)

References z.

◆ SetSignalBegin() [1/2]

void PronyFitter::SetSignalBegin ( int SignalBeg)

Definition at line 89 of file PronyFitter.cxx.

References fIsDebug, fSignalBegin, and fZeroLevel.

Referenced by calibrate_wfm(), ChooseBestSignalBegin(), ChooseBestSignalBeginFast(), ChooseBestSignalBeginHarmonics(), and WfmProcessor::ProcessWfm().

Here is the caller graph for this function:

◆ SetSignalBegin() [2/2]

void PsdSignalFitting::PronyFitter::SetSignalBegin ( int SignalBeg)

◆ SetWaveform() [1/2]

void PronyFitter::SetWaveform ( std::vector< float > & Wfm,
float ZeroLevel )

Definition at line 40 of file PronyFitter.cxx.

References fFitWfm, fSampleTotal, fWfm, and fZeroLevel.

Referenced by calibrate_wfm(), and WfmProcessor::ProcessWfm().

Here is the caller graph for this function:

◆ SetWaveform() [2/2]

void PsdSignalFitting::PronyFitter::SetWaveform ( std::vector< float > & Wfm,
float ZeroLevel )

◆ SolveSLECholesky() [1/2]

void PronyFitter::SolveSLECholesky ( float * x,
float ** a,
float * b,
int n )

Definition at line 1229 of file PronyFitter.cxx.

References i, n, x, and y.

◆ SolveSLECholesky() [2/2]

void PsdSignalFitting::PronyFitter::SolveSLECholesky ( float * x,
float ** a,
float * b,
int n )

References n, and x.

◆ SolveSLEGauss() [1/4]

void PronyFitter::SolveSLEGauss ( float * x,
float ** r,
float * b,
int n )

Definition at line 1096 of file PronyFitter.cxx.

References fIsDebug, i, n, and x.

Referenced by CalculateFitAmplitudes(), and CovarianceDirect().

Here is the caller graph for this function:

◆ SolveSLEGauss() [2/4]

void PsdSignalFitting::PronyFitter::SolveSLEGauss ( float * x,
float ** r,
float * b,
int n )

References n, and x.

◆ SolveSLEGauss() [3/4]

void PronyFitter::SolveSLEGauss ( std::complex< float > * x,
std::complex< float > ** r,
std::complex< float > * b,
int n )

Definition at line 1162 of file PronyFitter.cxx.

References fIsDebug, i, n, and x.

◆ SolveSLEGauss() [4/4]

void PsdSignalFitting::PronyFitter::SolveSLEGauss ( std::complex< float > * x,
std::complex< float > ** r,
std::complex< float > * b,
int n )

References n, and x.

Member Data Documentation

◆ fExpNumber

◆ fFitWfm

◆ fFitZeroLevel

float PronyFitter::fFitZeroLevel
private

◆ fGateBeg

int PronyFitter::fGateBeg
private

◆ fGateEnd

◆ fh

std::complex< float > * PronyFitter::fh = nullptr
private

◆ fIsDebug

◆ fModelOrder

int PronyFitter::fModelOrder
private

◆ fSampleTotal

int PronyFitter::fSampleTotal
private

◆ fSignalBegin

◆ fTotalPolRoots

int PronyFitter::fTotalPolRoots
private

◆ fWfm

◆ fz

◆ fZeroLevel


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