|
BmnRoot
|
#include <PronyFitter.h>
Public Member Functions | |
| PronyFitter () | |
| 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 () | |
| 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 () | |
| 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 () | |
| 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 () |
Definition at line 25 of file PronyFitter.h.
|
inline |
Default constructor
Definition at line 29 of file PronyFitter.h.
| PronyFitter::PronyFitter | ( | int | model_order, |
| int | exponent_number, | ||
| int | gate_beg, | ||
| int | gate_end | ||
| ) |
Definition at line 15 of file PronyFitter.cxx.
References Initialize().
|
inline |
Default destructor
Definition at line 35 of file PronyFitter.h.
|
inline |
Default constructor
Definition at line 29 of file PronyFitter.h.
| PsdSignalFitting::PronyFitter::PronyFitter | ( | int | model_order, |
| int | exponent_number, | ||
| int | gate_beg, | ||
| int | gate_end | ||
| ) |
|
inline |
Default destructor
Definition at line 35 of file PronyFitter.h.
| int PronyFitter::CalcSignalBegin | ( | float | front_time_beg_03, |
| float | front_time_end | ||
| ) |
Definition at line 82 of file PronyFitter.cxx.
Referenced by CalcSignalBeginStraight().
| int PsdSignalFitting::PronyFitter::CalcSignalBegin | ( | float | front_time_beg_03, |
| float | front_time_end | ||
| ) |
| int PronyFitter::CalcSignalBeginStraight | ( | ) |
Definition at line 65 of file PronyFitter.cxx.
References CalcSignalBegin(), and GoToLevel().
Referenced by WfmProcessor::ProcessWfm().
| int PsdSignalFitting::PronyFitter::CalcSignalBeginStraight | ( | ) |
| void PronyFitter::CalculateFitAmplitudes | ( | ) |
Definition at line 550 of file PronyFitter.cxx.
References i, and SolveSLEGauss().
Referenced by calibrate_wfm(), ChooseBestSignalBegin(), and ChooseBestSignalBeginHarmonics().
| void PsdSignalFitting::PronyFitter::CalculateFitAmplitudes | ( | ) |
| void PronyFitter::CalculateFitAmplitudesFast | ( | int | signal_length, |
| std::complex< float > ** | InvHarmoMatrix | ||
| ) |
Definition at line 645 of file PronyFitter.cxx.
References i.
Referenced by ChooseBestSignalBeginFast(), and WfmProcessor::ProcessWfm().
| void PsdSignalFitting::PronyFitter::CalculateFitAmplitudesFast | ( | int | signal_length, |
| std::complex< float > ** | InvHarmoMatrix | ||
| ) |
| void PronyFitter::CalculateFitHarmonics | ( | ) |
Definition at line 93 of file PronyFitter.cxx.
References CovarianceDirect(), i, log(), polynomComplexRoots(), polynomRealRoots(), and SetHarmonics().
Referenced by calibrate_wfm(), and ChooseBestSignalBeginHarmonics().
| void PsdSignalFitting::PronyFitter::CalculateFitHarmonics | ( | ) |
| int PronyFitter::ChooseBestSignalBegin | ( | int | first_sample, |
| int | last_sample | ||
| ) |
Definition at line 957 of file PronyFitter.cxx.
References CalculateFitAmplitudes(), GetRSquare(), and SetSignalBegin().
| int PsdSignalFitting::PronyFitter::ChooseBestSignalBegin | ( | int | first_sample, |
| int | last_sample | ||
| ) |
| int PronyFitter::ChooseBestSignalBeginFast | ( | int | first_sample, |
| int | last_sample, | ||
| int | signal_length, | ||
| std::complex< float > ** | InvHarmoMatrix | ||
| ) |
Definition at line 977 of file PronyFitter.cxx.
References CalculateFitAmplitudesFast(), GetRSquare(), ResetAmplitudes(), and SetSignalBegin().
| int PsdSignalFitting::PronyFitter::ChooseBestSignalBeginFast | ( | int | first_sample, |
| int | last_sample, | ||
| int | signal_length, | ||
| std::complex< float > ** | InvHarmoMatrix | ||
| ) |
| int PronyFitter::ChooseBestSignalBeginHarmonics | ( | int | first_sample, |
| int | last_sample | ||
| ) |
Definition at line 919 of file PronyFitter.cxx.
References CalculateFitAmplitudes(), CalculateFitHarmonics(), GetRSquare(), and SetSignalBegin().
Referenced by calibrate_wfm().
| int PsdSignalFitting::PronyFitter::ChooseBestSignalBeginHarmonics | ( | int | first_sample, |
| int | last_sample | ||
| ) |
| void PronyFitter::CovarianceDirect | ( | float & | rho_f, |
| std::vector< float > & | a_f, | ||
| float & | rho_b, | ||
| std::vector< float > & | a_b | ||
| ) |
Definition at line 163 of file PronyFitter.cxx.
References i, and SolveSLEGauss().
Referenced by CalculateFitHarmonics().
| void PsdSignalFitting::PronyFitter::CovarianceDirect | ( | float & | rho_f, |
| std::vector< float > & | a_f, | ||
| float & | rho_b, | ||
| std::vector< float > & | a_b | ||
| ) |
| void PronyFitter::CovarianceQRmod | ( | float & | rho_f, |
| std::vector< float > & | a_f, | ||
| float & | rho_b, | ||
| std::vector< float > & | a_b | ||
| ) |
Definition at line 228 of file PronyFitter.cxx.
| void PsdSignalFitting::PronyFitter::CovarianceQRmod | ( | float & | rho_f, |
| std::vector< float > & | a_f, | ||
| float & | rho_b, | ||
| std::vector< float > & | a_b | ||
| ) |
| std::complex< float > * PronyFitter::GetAmplitudes | ( | ) |
Definition at line 727 of file PronyFitter.cxx.
| std::complex< float > * PsdSignalFitting::PronyFitter::GetAmplitudes | ( | ) |
| float PronyFitter::GetChiSquare | ( | int | gate_beg, |
| int | gate_end, | ||
| int | time_max | ||
| ) |
| float PsdSignalFitting::PronyFitter::GetChiSquare | ( | int | gate_beg, |
| int | gate_end, | ||
| int | time_max | ||
| ) |
| float PronyFitter::GetDeltaInSample | ( | int | sample | ) |
Definition at line 915 of file PronyFitter.cxx.
| float PsdSignalFitting::PronyFitter::GetDeltaInSample | ( | int | sample | ) |
| float PronyFitter::GetFitValue | ( | float | x | ) |
Definition at line 740 of file PronyFitter.cxx.
References GetSignalBeginFromPhase(), and i.
| float PsdSignalFitting::PronyFitter::GetFitValue | ( | float | x | ) |
| float PronyFitter::GetFitValue | ( | int | sample_number | ) |
Definition at line 734 of file PronyFitter.cxx.
Referenced by GetMaxAmplitude(), GetX(), and GetX().
| float PsdSignalFitting::PronyFitter::GetFitValue | ( | int | sample_number | ) |
|
inline |
Definition at line 87 of file PronyFitter.h.
Referenced by calibrate_wfm(), and WfmProcessor::ProcessWfm().
|
inline |
Definition at line 87 of file PronyFitter.h.
| std::complex< float > * PronyFitter::GetHarmonics | ( | ) |
Definition at line 473 of file PronyFitter.cxx.
Referenced by calibrate_wfm().
| std::complex< float > * PsdSignalFitting::PronyFitter::GetHarmonics | ( | ) |
| float PronyFitter::GetIntegral | ( | int | gate_beg, |
| int | gate_end | ||
| ) |
Definition at line 729 of file PronyFitter.cxx.
Referenced by calibrate_wfm(), and WfmProcessor::ProcessWfm().
| float PsdSignalFitting::PronyFitter::GetIntegral | ( | int | gate_beg, |
| int | gate_end | ||
| ) |
| float PronyFitter::GetMaxAmplitude | ( | ) |
Definition at line 778 of file PronyFitter.cxx.
References GetFitValue(), and GetSignalMaxTime().
Referenced by WfmProcessor::ProcessWfm().
| float PsdSignalFitting::PronyFitter::GetMaxAmplitude | ( | ) |
| int PronyFitter::GetNumberPolRoots | ( | ) |
Definition at line 460 of file PronyFitter.cxx.
| int PsdSignalFitting::PronyFitter::GetNumberPolRoots | ( | ) |
| float PronyFitter::GetRSquare | ( | int | gate_beg, |
| int | gate_end | ||
| ) |
Definition at line 835 of file PronyFitter.cxx.
References m.
Referenced by calibrate_wfm(), ChooseBestSignalBegin(), ChooseBestSignalBeginFast(), ChooseBestSignalBeginHarmonics(), GetRSquareSignal(), and WfmProcessor::ProcessWfm().
| float PsdSignalFitting::PronyFitter::GetRSquare | ( | int | gate_beg, |
| int | gate_end | ||
| ) |
| float PronyFitter::GetRSquareSignal | ( | ) |
Definition at line 861 of file PronyFitter.cxx.
References GetRSquare().
| float PsdSignalFitting::PronyFitter::GetRSquareSignal | ( | ) |
| float PronyFitter::GetSignalBeginFromPhase | ( | ) |
Definition at line 768 of file PronyFitter.cxx.
Referenced by GetFitValue().
| float PsdSignalFitting::PronyFitter::GetSignalBeginFromPhase | ( | ) |
| float PronyFitter::GetSignalMaxTime | ( | ) |
Definition at line 755 of file PronyFitter.cxx.
References log().
Referenced by GetMaxAmplitude(), and WfmProcessor::ProcessWfm().
| float PsdSignalFitting::PronyFitter::GetSignalMaxTime | ( | ) |
| float PronyFitter::GetX | ( | float | level, |
| int | first_sample, | ||
| int | last_sample | ||
| ) |
Definition at line 780 of file PronyFitter.cxx.
References GetFitValue(), and LevelBy2Points().
| float PsdSignalFitting::PronyFitter::GetX | ( | float | level, |
| int | first_sample, | ||
| int | last_sample | ||
| ) |
| float PronyFitter::GetX | ( | float | level, |
| int | first_sample, | ||
| int | last_sample, | ||
| float | step | ||
| ) |
Definition at line 806 of file PronyFitter.cxx.
References GetFitValue(), and LevelBy2Points().
| float PsdSignalFitting::PronyFitter::GetX | ( | float | level, |
| int | first_sample, | ||
| int | last_sample, | ||
| float | step | ||
| ) |
| float PronyFitter::GetZeroLevel | ( | ) |
Definition at line 753 of file PronyFitter.cxx.
Referenced by WfmProcessor::ProcessWfm().
| float PsdSignalFitting::PronyFitter::GetZeroLevel | ( | ) |
| float PronyFitter::GoToLevel | ( | float | Level, |
| int * | point, | ||
| int | iterator, | ||
| int | iLastPoint | ||
| ) |
Definition at line 47 of file PronyFitter.cxx.
References LevelBy2Points().
Referenced by CalcSignalBeginStraight().
| float PsdSignalFitting::PronyFitter::GoToLevel | ( | float | Level, |
| int * | point, | ||
| int | iterator, | ||
| int | iLastPoint | ||
| ) |
| void PronyFitter::Initialize | ( | int | model_order, |
| int | exponent_number, | ||
| int | gate_beg, | ||
| int | gate_end | ||
| ) |
Definition at line 20 of file PronyFitter.cxx.
Referenced by BmnHodoRaw2Digit::ParseCalibration(), BmnFHCalRaw2Digit::ParseCalibration(), BmnNdetRaw2Digit::ParseCalibration(), BmnScWallRaw2Digit::ParseCalibration(), WfmProcessor::ProcessWfm(), and PronyFitter().
| void PsdSignalFitting::PronyFitter::Initialize | ( | int | model_order, |
| int | exponent_number, | ||
| int | gate_beg, | ||
| int | gate_end | ||
| ) |
| float PronyFitter::LevelBy2Points | ( | float | X1, |
| float | Y1, | ||
| float | X2, | ||
| float | Y2, | ||
| float | Y0 | ||
| ) |
Definition at line 830 of file PronyFitter.cxx.
Referenced by GetX(), GetX(), and GoToLevel().
| float PsdSignalFitting::PronyFitter::LevelBy2Points | ( | float | X1, |
| float | Y1, | ||
| float | X2, | ||
| float | Y2, | ||
| float | Y0 | ||
| ) |
| void PronyFitter::MakeInvHarmoMatrix | ( | int | signal_length, |
| std::complex< float > ** | output | ||
| ) |
Definition at line 475 of file PronyFitter.cxx.
References i, and MatrixInversion().
Referenced by BmnHodoRaw2Digit::ParseCalibration(), BmnFHCalRaw2Digit::ParseCalibration(), BmnNdetRaw2Digit::ParseCalibration(), and BmnScWallRaw2Digit::ParseCalibration().
| void PsdSignalFitting::PronyFitter::MakeInvHarmoMatrix | ( | int | signal_length, |
| std::complex< float > ** | output | ||
| ) |
| void PronyFitter::MakePileUpRejection | ( | int | time_max | ) |
Definition at line 548 of file PronyFitter.cxx.
| void PsdSignalFitting::PronyFitter::MakePileUpRejection | ( | int | time_max | ) |
| void PronyFitter::MakeZpowerMatrix | ( | int | signal_length, |
| std::complex< float > ** | output | ||
| ) |
Definition at line 530 of file PronyFitter.cxx.
References i.
| void PsdSignalFitting::PronyFitter::MakeZpowerMatrix | ( | int | signal_length, |
| std::complex< float > ** | output | ||
| ) |
| void PronyFitter::ResetAmplitudes | ( | ) |
Definition at line 1235 of file PronyFitter.cxx.
References i.
Referenced by ChooseBestSignalBeginFast().
| void PsdSignalFitting::PronyFitter::ResetAmplitudes | ( | ) |
| int PronyFitter::SearchSignalBeginByHarmo | ( | int | first_sample, |
| int | last_sample, | ||
| int | signal_length, | ||
| std::complex< float > ** | Zpower | ||
| ) |
Definition at line 1002 of file PronyFitter.cxx.
References i.
| int PsdSignalFitting::PronyFitter::SearchSignalBeginByHarmo | ( | int | first_sample, |
| int | last_sample, | ||
| int | signal_length, | ||
| std::complex< float > ** | Zpower | ||
| ) |
|
inline |
Definition at line 63 of file PronyFitter.h.
Referenced by WfmProcessor::ProcessWfm().
|
inline |
Definition at line 63 of file PronyFitter.h.
| void PronyFitter::SetExternalHarmonics | ( | std::vector< std::complex< float > > | harmonics | ) |
Definition at line 466 of file PronyFitter.cxx.
References SetHarmonics().
Referenced by BmnHodoRaw2Digit::ParseCalibration(), BmnFHCalRaw2Digit::ParseCalibration(), BmnNdetRaw2Digit::ParseCalibration(), BmnScWallRaw2Digit::ParseCalibration(), and WfmProcessor::ProcessWfm().
| void PsdSignalFitting::PronyFitter::SetExternalHarmonics | ( | std::vector< std::complex< float > > | harmonics | ) |
| void PronyFitter::SetHarmonics | ( | std::complex< float > * | z | ) |
Definition at line 462 of file PronyFitter.cxx.
Referenced by CalculateFitHarmonics(), and SetExternalHarmonics().
| void PsdSignalFitting::PronyFitter::SetHarmonics | ( | std::complex< float > * | z | ) |
| void PronyFitter::SetSignalBegin | ( | int | SignalBeg | ) |
Definition at line 87 of file PronyFitter.cxx.
Referenced by calibrate_wfm(), ChooseBestSignalBegin(), ChooseBestSignalBeginFast(), ChooseBestSignalBeginHarmonics(), and WfmProcessor::ProcessWfm().
| void PsdSignalFitting::PronyFitter::SetSignalBegin | ( | int | SignalBeg | ) |
| void PronyFitter::SetWaveform | ( | std::vector< float > & | Wfm, |
| float | ZeroLevel | ||
| ) |
Definition at line 38 of file PronyFitter.cxx.
Referenced by calibrate_wfm(), and WfmProcessor::ProcessWfm().
| void PsdSignalFitting::PronyFitter::SetWaveform | ( | std::vector< float > & | Wfm, |
| float | ZeroLevel | ||
| ) |
| void PronyFitter::SolveSLECholesky | ( | float * | x, |
| float ** | a, | ||
| float * | b, | ||
| int | n | ||
| ) |
Definition at line 1189 of file PronyFitter.cxx.
References i.
| void PsdSignalFitting::PronyFitter::SolveSLECholesky | ( | float * | x, |
| float ** | a, | ||
| float * | b, | ||
| int | n | ||
| ) |
| void PronyFitter::SolveSLEGauss | ( | float * | x, |
| float ** | r, | ||
| float * | b, | ||
| int | n | ||
| ) |
Definition at line 1057 of file PronyFitter.cxx.
References i.
Referenced by CalculateFitAmplitudes(), and CovarianceDirect().
| void PsdSignalFitting::PronyFitter::SolveSLEGauss | ( | float * | x, |
| float ** | r, | ||
| float * | b, | ||
| int | n | ||
| ) |
| void PronyFitter::SolveSLEGauss | ( | std::complex< float > * | x, |
| std::complex< float > ** | r, | ||
| std::complex< float > * | b, | ||
| int | n | ||
| ) |
Definition at line 1122 of file PronyFitter.cxx.
References i.
| void PsdSignalFitting::PronyFitter::SolveSLEGauss | ( | std::complex< float > * | x, |
| std::complex< float > ** | r, | ||
| std::complex< float > * | b, | ||
| int | n | ||
| ) |