GSI Object Oriented Online Offline (Go4)
GO4-5.3.2
|
#include <TGo4FitPeakFinder.h>
Public Member Functions | |
TGo4FitPeakFinder () | |
TGo4FitPeakFinder (const char *Name, const char *DataName=0, Bool_t ClearModels=kFALSE, Int_t PolOrder=-1) | |
virtual | ~TGo4FitPeakFinder () |
void | SetDataName (const char *name) |
const char * | GetDataName () |
void | SetClearModels (Bool_t clear) |
Bool_t | GetClearModels () |
void | SetupPolynomialBackground (Int_t PolynomOrder) |
void | SetupForFirst (Double_t MaxAmplFactor, Double_t MinWidth, Double_t MaxWidth) |
void | SetupForSecond (Double_t LineWidth) |
void | SetupForThird (Double_t NoiseFactor, Double_t NoiseMinimum, Int_t ChannelSum) |
virtual void | DoAction (TGo4FitterAbstract *Fitter) |
virtual Bool_t | CanChangeFitter () const |
void | SetUsePolynom (Bool_t use) |
Bool_t | GetUsePolynom () |
void | SetPolynomOrder (Int_t order) |
Int_t | GetPolynomOrder () |
void | SetPeakFinderType (Int_t typ) |
Int_t | GetPeakFinderType () |
void | Set0MaxAmplFactor (Double_t factor) |
Double_t | Get0MaxAmplFactor () |
void | Set0MinWidth (Double_t min) |
Double_t | Get0MinWidth () |
void | Set0MaxWidth (Double_t max) |
Double_t | Get0MaxWidth () |
void | Set1LineWidth (Double_t width) |
Double_t | Get1LineWidth () |
void | Set2NoiseFactor (Double_t factor) |
Double_t | Get2NoiseFactor () |
void | Set2NoiseMinimum (Double_t min) |
Double_t | Get2NoiseMinimum () |
void | Set2ChannelSum (Int_t sum) |
Int_t | Get2ChannelSum () |
virtual void | Print (Option_t *option) const |
Public Member Functions inherited from TGo4FitterAction | |
TGo4FitterAction () | |
TGo4FitterAction (const char *Name, const char *Title, TNamed *Owner=0) | |
virtual | ~TGo4FitterAction () |
virtual Bool_t | NeedBuffers () const |
Public Member Functions inherited from TGo4FitNamed | |
TGo4FitNamed () | |
TGo4FitNamed (const char *Name, const char *Title, TNamed *Owner=0) | |
virtual | ~TGo4FitNamed () |
const char * | GetFullName () |
const char * | GetOwnerFullName () |
void | SetOwner (TNamed *iOwner) |
TNamed * | GetOwner () |
void | Print (Option_t *option) const |
Private Member Functions | |
void | ROOTPeakFinder (TGo4Fitter *fitter, TGo4FitData *data, Int_t PolynomOrder, Double_t Sigma) |
void | SergeyLinevPeakFinder (TGo4Fitter *fitter, TGo4FitData *data, Int_t PolOrder, Double_t AmplThreshold, Double_t MinWidth, Double_t MaxWidth) |
void | HansEsselPeakFinder (TGo4Fitter *fitter, TGo4FitData *data, Int_t MaxNumPeaks=50, Int_t ChannelSum=1, Double_t NoiseFactor=2., Double_t NoiseMinimum=10., Int_t MinimasOrder=-1) |
Static Private Member Functions | |
static void | DefinePolynom (Int_t size, Double_t *bins, Double_t *scales, TArrayD &Coef, Double_t *weight=0, Double_t *backgr=0, Char_t *use=0) |
static void | DefinePolynomEx (Int_t size, Double_t *bins, Double_t *scales, Double_t *weight, Double_t *backgr, Int_t lbound, Int_t rbound, TArrayD &Coef) |
static Double_t | CalcPolynom (const TArrayD &Coef, Double_t x) |
Private Attributes | |
Int_t | fiPeakFinderType |
TString | fxDataName |
Bool_t | fbClearModels |
Bool_t | fbUsePolynom |
Int_t | fiPolynomOrder |
Double_t | fd0MinWidth |
Double_t | fd0MaxWidth |
Double_t | fd0MaxAmplFactor |
Double_t | fd1LineWidth |
Double_t | fd2NoiseFactor |
Double_t | fd2NoiseMinimum |
Int_t | fi2ChannelSum |
Output action To add some output to actions, TGo4FitterOutput action class should be used. In constructor output command and options (if required) should be specified. Also AddOuputAction() routine of fitter can be used. Now following commands are available: "Print". Possible options are: "*"- print all internal objects, "**" - print also objects in slots, "Pars" - print parameters values, "Ampls" - only amplitude parameters, "Results" - result values. "Draw". Draw of the fitter data and model objects. As option name of data object and its components should be sets up. For instance, "data1,Gauss1,Gauss2". If first character will be "#", Draw command creates new canvas for output.
Definition at line 30 of file TGo4FitPeakFinder.h.
TGo4FitPeakFinder::TGo4FitPeakFinder | ( | ) |
Default constructor.
Definition at line 28 of file TGo4FitPeakFinder.cxx.
TGo4FitPeakFinder::TGo4FitPeakFinder | ( | const char * | Name, |
const char * | DataName = 0 , |
||
Bool_t | ClearModels = kFALSE , |
||
Int_t | PolOrder = -1 |
||
) |
Creates TGo4FitPeakFinder action with provided name and, , (optionally), DataName, clear models mode.
Definition at line 32 of file TGo4FitPeakFinder.cxx.
|
virtual |
Destroys TGo4FitterOutput object.
Definition at line 41 of file TGo4FitPeakFinder.cxx.
|
staticprivate |
Definition at line 207 of file TGo4FitPeakFinder.cxx.
Referenced by SergeyLinevPeakFinder().
|
inlinevirtual |
Reimplemented from TGo4FitterAction.
Definition at line 65 of file TGo4FitPeakFinder.h.
|
staticprivate |
Definition at line 214 of file TGo4FitPeakFinder.cxx.
Referenced by DefinePolynomEx(), HansEsselPeakFinder(), and SergeyLinevPeakFinder().
|
staticprivate |
Definition at line 254 of file TGo4FitPeakFinder.cxx.
References DefinePolynom().
Referenced by SergeyLinevPeakFinder().
|
virtual |
Implements TGo4FitterAction.
Definition at line 71 of file TGo4FitPeakFinder.cxx.
References TGo4Fitter::DeleteModelsAssosiatedTo(), TGo4Fitter::FindData(), Get0MaxAmplFactor(), Get0MaxWidth(), Get0MinWidth(), Get1LineWidth(), Get2ChannelSum(), Get2NoiseFactor(), Get2NoiseMinimum(), GetClearModels(), GetDataName(), GetPeakFinderType(), GetPolynomOrder(), GetUsePolynom(), HansEsselPeakFinder(), ROOTPeakFinder(), and SergeyLinevPeakFinder().
|
inline |
Definition at line 80 of file TGo4FitPeakFinder.h.
References fd0MaxAmplFactor.
Referenced by DoAction(), QFitPeakFinderWidget::FillSpecificData(), TGo4FitPanel::UpdatePFAmplLbl(), and TGo4FitPanel::UpdateWizStackWidget().
|
inline |
Definition at line 84 of file TGo4FitPeakFinder.h.
References fd0MaxWidth.
Referenced by DoAction(), QFitPeakFinderWidget::FillSpecificData(), and TGo4FitPanel::UpdateWizStackWidget().
|
inline |
Definition at line 82 of file TGo4FitPeakFinder.h.
References fd0MinWidth.
Referenced by DoAction(), QFitPeakFinderWidget::FillSpecificData(), and TGo4FitPanel::UpdateWizStackWidget().
|
inline |
Definition at line 87 of file TGo4FitPeakFinder.h.
References fd1LineWidth.
Referenced by DoAction(), QFitPeakFinderWidget::FillSpecificData(), and TGo4FitPanel::UpdateWizStackWidget().
|
inline |
Definition at line 94 of file TGo4FitPeakFinder.h.
References fi2ChannelSum.
Referenced by DoAction(), QFitPeakFinderWidget::FillSpecificData(), and TGo4FitPanel::UpdateWizStackWidget().
|
inline |
Definition at line 90 of file TGo4FitPeakFinder.h.
References fd2NoiseFactor.
Referenced by DoAction(), QFitPeakFinderWidget::FillSpecificData(), TGo4FitPanel::UpdatePFRelNoiseLbl(), and TGo4FitPanel::UpdateWizStackWidget().
|
inline |
Definition at line 92 of file TGo4FitPeakFinder.h.
References fd2NoiseMinimum.
Referenced by DoAction(), QFitPeakFinderWidget::FillSpecificData(), and TGo4FitPanel::UpdateWizStackWidget().
|
inline |
Definition at line 52 of file TGo4FitPeakFinder.h.
References fbClearModels.
Referenced by DoAction(), and QFitPeakFinderWidget::FillSpecificData().
|
inline |
Definition at line 50 of file TGo4FitPeakFinder.h.
References fxDataName.
Referenced by DoAction(), and QFitPeakFinderWidget::FillSpecificData().
|
inline |
Definition at line 77 of file TGo4FitPeakFinder.h.
References fiPeakFinderType.
Referenced by DoAction(), QFitPeakFinderWidget::FillSpecificData(), and TGo4FitPanel::UpdateWizStackWidget().
|
inline |
Definition at line 74 of file TGo4FitPeakFinder.h.
References fiPolynomOrder.
Referenced by DoAction(), QFitPeakFinderWidget::FillSpecificData(), and TGo4FitPanel::UpdateWizStackWidget().
|
inline |
Definition at line 72 of file TGo4FitPeakFinder.h.
References fbUsePolynom.
Referenced by DoAction(), QFitPeakFinderWidget::FillSpecificData(), and TGo4FitPanel::UpdateWizStackWidget().
|
private |
Hans Essel (c) peak finder.
Definition at line 407 of file TGo4FitPeakFinder.cxx.
References TGo4Fitter::AddGauss1(), TGo4Fitter::AddPolynomX(), TGo4FitDataIter::CountPoints(), DefinePolynom(), TGo4Fitter::FindNextName(), TGo4FitComponent::GetAmplValue(), go4fit_find_peaks(), TGo4FitData::MakeIter(), TGo4FitDataIter::Next(), TGo4FitDataIter::Reset(), TGo4FitDataIter::ScalesSize(), TYPE__DOUBLE, TGo4FitDataIter::Value(), and TGo4FitDataIter::x().
Referenced by DoAction().
|
virtual |
Print information on standard output.
Definition at line 105 of file TGo4FitPeakFinder.cxx.
References TGo4FitNamed::Print().
|
private |
Definition at line 149 of file TGo4FitPeakFinder.cxx.
References TGo4Fitter::AddGauss1(), TGo4Fitter::AddPolynomX(), TGo4FitDataIter::CountPoints(), TGo4Fitter::FindNextName(), TGo4FitComponent::GetAmplValue(), TGo4FitDataIter::HasWidths(), TGo4FitData::MakeIter(), TGo4FitDataIter::Next(), TGo4FitDataIter::Reset(), TGo4FitDataIter::ScalesSize(), TGo4FitDataIter::Value(), TGo4FitDataIter::Widths(), and TGo4FitDataIter::x().
Referenced by DoAction().
|
private |
Perform simple peak finder algorithm. Seeks for gaussians with amplitude more than given threshold (AmplThreshold introduced relative to maximum data value, from 0 to 1), with width in range between MinWidth and MaxWidth. Polynomial approximation can be applied for background appoximation(PolOrder>=0) or not used (PolOrder<0). Only selected by range conditions data part will be used by peak finder. Appropriate number of gaussians will be placed in list of models and associate with data.
Definition at line 273 of file TGo4FitPeakFinder.cxx.
References TGo4Fitter::AddGauss1(), TGo4Fitter::AddPolynomX(), CalcPolynom(), TGo4FitDataIter::CountPoints(), DefinePolynom(), DefinePolynomEx(), TGo4Fitter::FindNextName(), FindValue(), TGo4FitComponent::GetAmplValue(), TGo4FitData::MakeIter(), TGo4FitDataIter::Next(), TGo4FitDataIter::Reset(), TGo4FitDataIter::ScalesSize(), TGo4FitDataIter::StandardDeviation(), usage(), TGo4FitDataIter::Value(), and TGo4FitDataIter::x().
Referenced by DoAction().
|
inline |
Definition at line 79 of file TGo4FitPeakFinder.h.
References fd0MaxAmplFactor.
Referenced by TGo4FitPanel::PF_AmplSlider_valueChanged(), SetupForFirst(), and QFitPeakFinderWidget::ThresholdEdt_textChanged().
|
inline |
Definition at line 83 of file TGo4FitPeakFinder.h.
References fd0MaxWidth.
Referenced by QFitPeakFinderWidget::MaxWidthEdt_textChanged(), TGo4FitPanel::PF_MaxWidthEdt_textChanged(), and SetupForFirst().
|
inline |
Definition at line 81 of file TGo4FitPeakFinder.h.
References fd0MinWidth.
Referenced by QFitPeakFinderWidget::MinWidthEdt_textChanged(), TGo4FitPanel::PF_MinWidthEdt_textChanged(), and SetupForFirst().
|
inline |
Definition at line 86 of file TGo4FitPeakFinder.h.
References fd1LineWidth.
Referenced by TGo4FitPanel::PF_WidthEdit_textChanged(), SetupForSecond(), and QFitPeakFinderWidget::WidthEdit_textChanged().
|
inline |
Definition at line 93 of file TGo4FitPeakFinder.h.
References fi2ChannelSum.
Referenced by TGo4FitPanel::PF_SumUpSpin_valueChanged(), SetupForThird(), and QFitPeakFinderWidget::SumUpSpin_valueChanged().
|
inline |
Definition at line 89 of file TGo4FitPeakFinder.h.
References fd2NoiseFactor.
Referenced by QFitPeakFinderWidget::NoiseFactorEdit_textChanged(), TGo4FitPanel::PF_RelNoiseSlider_valueChanged(), and SetupForThird().
|
inline |
Definition at line 91 of file TGo4FitPeakFinder.h.
References fd2NoiseMinimum.
Referenced by QFitPeakFinderWidget::NoiseMinEdit_textChanged(), TGo4FitPanel::PF_MinNoiseEdit_textChanged(), and SetupForThird().
|
inline |
Definition at line 51 of file TGo4FitPeakFinder.h.
References fbClearModels.
Referenced by TGo4FitPanel::Button_PeakFinder(), and QFitPeakFinderWidget::ClearModelsChk_toggled().
|
inline |
Definition at line 49 of file TGo4FitPeakFinder.h.
References fxDataName.
Referenced by TGo4FitPanel::Button_PeakFinder(), and QFitPeakFinderWidget::DataNameEdt_textChanged().
|
inline |
Definition at line 76 of file TGo4FitPeakFinder.h.
References fiPeakFinderType.
Referenced by QFitPeakFinderWidget::FindersTab_currentChanged(), TGo4FitPanel::FindersTab_currentChanged(), TGo4FitPanel::GetPeakFinder(), SetupForFirst(), SetupForSecond(), and SetupForThird().
|
inline |
Definition at line 73 of file TGo4FitPeakFinder.h.
References fiPolynomOrder.
Referenced by QFitPeakFinderWidget::PolynSpin_valueChanged(), SetupPolynomialBackground(), and TGo4FitPanel::Wiz_PFPolynSpin_valueChanged().
void TGo4FitPeakFinder::SetupForFirst | ( | Double_t | MaxAmplFactor, |
Double_t | MinWidth, | ||
Double_t | MaxWidth | ||
) |
Definition at line 52 of file TGo4FitPeakFinder.cxx.
References Set0MaxAmplFactor(), Set0MaxWidth(), Set0MinWidth(), and SetPeakFinderType().
Referenced by Example11().
void TGo4FitPeakFinder::SetupForSecond | ( | Double_t | LineWidth | ) |
Definition at line 59 of file TGo4FitPeakFinder.cxx.
References Set1LineWidth(), and SetPeakFinderType().
void TGo4FitPeakFinder::SetupForThird | ( | Double_t | NoiseFactor, |
Double_t | NoiseMinimum, | ||
Int_t | ChannelSum | ||
) |
Definition at line 64 of file TGo4FitPeakFinder.cxx.
References Set2ChannelSum(), Set2NoiseFactor(), Set2NoiseMinimum(), and SetPeakFinderType().
void TGo4FitPeakFinder::SetupPolynomialBackground | ( | Int_t | PolynomOrder | ) |
Definition at line 44 of file TGo4FitPeakFinder.cxx.
References SetPolynomOrder(), and SetUsePolynom().
|
inline |
Definition at line 71 of file TGo4FitPeakFinder.h.
References fbUsePolynom.
Referenced by SetupPolynomialBackground(), QFitPeakFinderWidget::UsePolynChk_toggled(), and TGo4FitPanel::Wiz_PFUsePolynChk_toggled().
|
private |
Definition at line 156 of file TGo4FitPeakFinder.h.
Referenced by GetClearModels(), and SetClearModels().
|
private |
Definition at line 158 of file TGo4FitPeakFinder.h.
Referenced by GetUsePolynom(), and SetUsePolynom().
|
private |
Definition at line 163 of file TGo4FitPeakFinder.h.
Referenced by Get0MaxAmplFactor(), and Set0MaxAmplFactor().
|
private |
Definition at line 162 of file TGo4FitPeakFinder.h.
Referenced by Get0MaxWidth(), and Set0MaxWidth().
|
private |
Definition at line 161 of file TGo4FitPeakFinder.h.
Referenced by Get0MinWidth(), and Set0MinWidth().
|
private |
Definition at line 165 of file TGo4FitPeakFinder.h.
Referenced by Get1LineWidth(), and Set1LineWidth().
|
private |
Definition at line 167 of file TGo4FitPeakFinder.h.
Referenced by Get2NoiseFactor(), and Set2NoiseFactor().
|
private |
Definition at line 168 of file TGo4FitPeakFinder.h.
Referenced by Get2NoiseMinimum(), and Set2NoiseMinimum().
|
private |
Definition at line 169 of file TGo4FitPeakFinder.h.
Referenced by Get2ChannelSum(), and Set2ChannelSum().
|
private |
Definition at line 152 of file TGo4FitPeakFinder.h.
Referenced by GetPeakFinderType(), and SetPeakFinderType().
|
private |
Definition at line 159 of file TGo4FitPeakFinder.h.
Referenced by GetPolynomOrder(), and SetPolynomOrder().
|
private |
Definition at line 154 of file TGo4FitPeakFinder.h.
Referenced by GetDataName(), and SetDataName().