#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 |
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.
TGo4FitPeakFinder::~TGo4FitPeakFinder | ( | ) | [virtual] |
Destroys TGo4FitterOutput object.
Definition at line 41 of file TGo4FitPeakFinder.cxx.
Double_t TGo4FitPeakFinder::CalcPolynom | ( | const TArrayD & | Coef, | |
Double_t | x | |||
) | [static, private] |
Definition at line 207 of file TGo4FitPeakFinder.cxx.
Referenced by SergeyLinevPeakFinder().
virtual Bool_t TGo4FitPeakFinder::CanChangeFitter | ( | ) | const [inline, virtual] |
Reimplemented from TGo4FitterAction.
Definition at line 65 of file TGo4FitPeakFinder.h.
void TGo4FitPeakFinder::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, private] |
Definition at line 214 of file TGo4FitPeakFinder.cxx.
Referenced by DefinePolynomEx(), HansEsselPeakFinder(), and SergeyLinevPeakFinder().
void TGo4FitPeakFinder::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, private] |
Definition at line 254 of file TGo4FitPeakFinder.cxx.
References DefinePolynom().
Referenced by SergeyLinevPeakFinder().
void TGo4FitPeakFinder::DoAction | ( | TGo4FitterAbstract * | Fitter | ) | [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().
Double_t TGo4FitPeakFinder::Get0MaxAmplFactor | ( | ) | [inline] |
Definition at line 80 of file TGo4FitPeakFinder.h.
References fd0MaxAmplFactor.
Referenced by DoAction(), QFitPeakFinderWidget::FillSpecificData(), TGo4FitPanel::UpdatePFAmplLbl(), and TGo4FitPanel::UpdateWizStackWidget().
Double_t TGo4FitPeakFinder::Get0MaxWidth | ( | ) | [inline] |
Definition at line 84 of file TGo4FitPeakFinder.h.
References fd0MaxWidth.
Referenced by DoAction(), QFitPeakFinderWidget::FillSpecificData(), and TGo4FitPanel::UpdateWizStackWidget().
Double_t TGo4FitPeakFinder::Get0MinWidth | ( | ) | [inline] |
Definition at line 82 of file TGo4FitPeakFinder.h.
References fd0MinWidth.
Referenced by DoAction(), QFitPeakFinderWidget::FillSpecificData(), and TGo4FitPanel::UpdateWizStackWidget().
Double_t TGo4FitPeakFinder::Get1LineWidth | ( | ) | [inline] |
Definition at line 87 of file TGo4FitPeakFinder.h.
References fd1LineWidth.
Referenced by DoAction(), QFitPeakFinderWidget::FillSpecificData(), and TGo4FitPanel::UpdateWizStackWidget().
Int_t TGo4FitPeakFinder::Get2ChannelSum | ( | ) | [inline] |
Definition at line 94 of file TGo4FitPeakFinder.h.
References fi2ChannelSum.
Referenced by DoAction(), QFitPeakFinderWidget::FillSpecificData(), and TGo4FitPanel::UpdateWizStackWidget().
Double_t TGo4FitPeakFinder::Get2NoiseFactor | ( | ) | [inline] |
Definition at line 90 of file TGo4FitPeakFinder.h.
References fd2NoiseFactor.
Referenced by DoAction(), QFitPeakFinderWidget::FillSpecificData(), TGo4FitPanel::UpdatePFRelNoiseLbl(), and TGo4FitPanel::UpdateWizStackWidget().
Double_t TGo4FitPeakFinder::Get2NoiseMinimum | ( | ) | [inline] |
Definition at line 92 of file TGo4FitPeakFinder.h.
References fd2NoiseMinimum.
Referenced by DoAction(), QFitPeakFinderWidget::FillSpecificData(), and TGo4FitPanel::UpdateWizStackWidget().
Bool_t TGo4FitPeakFinder::GetClearModels | ( | ) | [inline] |
Definition at line 52 of file TGo4FitPeakFinder.h.
References fbClearModels.
Referenced by DoAction(), and QFitPeakFinderWidget::FillSpecificData().
const char* TGo4FitPeakFinder::GetDataName | ( | ) | [inline] |
Definition at line 50 of file TGo4FitPeakFinder.h.
References fxDataName.
Referenced by DoAction(), and QFitPeakFinderWidget::FillSpecificData().
Int_t TGo4FitPeakFinder::GetPeakFinderType | ( | ) | [inline] |
Definition at line 77 of file TGo4FitPeakFinder.h.
References fiPeakFinderType.
Referenced by DoAction(), QFitPeakFinderWidget::FillSpecificData(), and TGo4FitPanel::UpdateWizStackWidget().
Int_t TGo4FitPeakFinder::GetPolynomOrder | ( | ) | [inline] |
Definition at line 74 of file TGo4FitPeakFinder.h.
References fiPolynomOrder.
Referenced by DoAction(), QFitPeakFinderWidget::FillSpecificData(), and TGo4FitPanel::UpdateWizStackWidget().
Bool_t TGo4FitPeakFinder::GetUsePolynom | ( | ) | [inline] |
Definition at line 72 of file TGo4FitPeakFinder.h.
References fbUsePolynom.
Referenced by DoAction(), QFitPeakFinderWidget::FillSpecificData(), and TGo4FitPanel::UpdateWizStackWidget().
void TGo4FitPeakFinder::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 | |||
) | [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().
void TGo4FitPeakFinder::Print | ( | Option_t * | option | ) | const [virtual] |
Print information on standard output.
Reimplemented from TGo4FitNamed.
Definition at line 105 of file TGo4FitPeakFinder.cxx.
void TGo4FitPeakFinder::ROOTPeakFinder | ( | TGo4Fitter * | fitter, | |
TGo4FitData * | data, | |||
Int_t | PolynomOrder, | |||
Double_t | Sigma | |||
) | [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().
void TGo4FitPeakFinder::SergeyLinevPeakFinder | ( | TGo4Fitter * | fitter, | |
TGo4FitData * | data, | |||
Int_t | PolOrder, | |||
Double_t | AmplThreshold, | |||
Double_t | MinWidth, | |||
Double_t | MaxWidth | |||
) | [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().
void TGo4FitPeakFinder::Set0MaxAmplFactor | ( | Double_t | factor | ) | [inline] |
Definition at line 79 of file TGo4FitPeakFinder.h.
References fd0MaxAmplFactor.
Referenced by TGo4FitPanel::PF_AmplSlider_valueChanged(), SetupForFirst(), and QFitPeakFinderWidget::ThresholdEdt_textChanged().
void TGo4FitPeakFinder::Set0MaxWidth | ( | Double_t | max | ) | [inline] |
Definition at line 83 of file TGo4FitPeakFinder.h.
References fd0MaxWidth.
Referenced by QFitPeakFinderWidget::MaxWidthEdt_textChanged(), TGo4FitPanel::PF_MaxWidthEdt_textChanged(), and SetupForFirst().
void TGo4FitPeakFinder::Set0MinWidth | ( | Double_t | min | ) | [inline] |
Definition at line 81 of file TGo4FitPeakFinder.h.
References fd0MinWidth.
Referenced by QFitPeakFinderWidget::MinWidthEdt_textChanged(), TGo4FitPanel::PF_MinWidthEdt_textChanged(), and SetupForFirst().
void TGo4FitPeakFinder::Set1LineWidth | ( | Double_t | width | ) | [inline] |
Definition at line 86 of file TGo4FitPeakFinder.h.
References fd1LineWidth.
Referenced by TGo4FitPanel::PF_WidthEdit_textChanged(), SetupForSecond(), and QFitPeakFinderWidget::WidthEdit_textChanged().
void TGo4FitPeakFinder::Set2ChannelSum | ( | Int_t | sum | ) | [inline] |
Definition at line 93 of file TGo4FitPeakFinder.h.
References fi2ChannelSum.
Referenced by TGo4FitPanel::PF_SumUpSpin_valueChanged(), SetupForThird(), and QFitPeakFinderWidget::SumUpSpin_valueChanged().
void TGo4FitPeakFinder::Set2NoiseFactor | ( | Double_t | factor | ) | [inline] |
Definition at line 89 of file TGo4FitPeakFinder.h.
References fd2NoiseFactor.
Referenced by QFitPeakFinderWidget::NoiseFactorEdit_textChanged(), TGo4FitPanel::PF_RelNoiseSlider_valueChanged(), and SetupForThird().
void TGo4FitPeakFinder::Set2NoiseMinimum | ( | Double_t | min | ) | [inline] |
Definition at line 91 of file TGo4FitPeakFinder.h.
References fd2NoiseMinimum.
Referenced by QFitPeakFinderWidget::NoiseMinEdit_textChanged(), TGo4FitPanel::PF_MinNoiseEdit_textChanged(), and SetupForThird().
void TGo4FitPeakFinder::SetClearModels | ( | Bool_t | clear | ) | [inline] |
Definition at line 51 of file TGo4FitPeakFinder.h.
References fbClearModels.
Referenced by TGo4FitPanel::Button_PeakFinder(), and QFitPeakFinderWidget::ClearModelsChk_toggled().
void TGo4FitPeakFinder::SetDataName | ( | const char * | name | ) | [inline] |
Definition at line 49 of file TGo4FitPeakFinder.h.
References fxDataName.
Referenced by TGo4FitPanel::Button_PeakFinder(), and QFitPeakFinderWidget::DataNameEdt_textChanged().
void TGo4FitPeakFinder::SetPeakFinderType | ( | Int_t | typ | ) | [inline] |
Definition at line 76 of file TGo4FitPeakFinder.h.
References fiPeakFinderType.
Referenced by TGo4FitPanel::FindersTab_currentChanged(), QFitPeakFinderWidget::FindersTab_currentChanged(), TGo4FitPanel::GetPeakFinder(), SetupForFirst(), SetupForSecond(), and SetupForThird().
void TGo4FitPeakFinder::SetPolynomOrder | ( | Int_t | order | ) | [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().
void TGo4FitPeakFinder::SetUsePolynom | ( | Bool_t | use | ) | [inline] |
Definition at line 71 of file TGo4FitPeakFinder.h.
References fbUsePolynom.
Referenced by SetupPolynomialBackground(), QFitPeakFinderWidget::UsePolynChk_toggled(), and TGo4FitPanel::Wiz_PFUsePolynChk_toggled().
Bool_t TGo4FitPeakFinder::fbClearModels [private] |
Definition at line 156 of file TGo4FitPeakFinder.h.
Referenced by GetClearModels(), and SetClearModels().
Bool_t TGo4FitPeakFinder::fbUsePolynom [private] |
Definition at line 158 of file TGo4FitPeakFinder.h.
Referenced by GetUsePolynom(), and SetUsePolynom().
Double_t TGo4FitPeakFinder::fd0MaxAmplFactor [private] |
Definition at line 163 of file TGo4FitPeakFinder.h.
Referenced by Get0MaxAmplFactor(), and Set0MaxAmplFactor().
Double_t TGo4FitPeakFinder::fd0MaxWidth [private] |
Definition at line 162 of file TGo4FitPeakFinder.h.
Referenced by Get0MaxWidth(), and Set0MaxWidth().
Double_t TGo4FitPeakFinder::fd0MinWidth [private] |
Definition at line 161 of file TGo4FitPeakFinder.h.
Referenced by Get0MinWidth(), and Set0MinWidth().
Double_t TGo4FitPeakFinder::fd1LineWidth [private] |
Definition at line 165 of file TGo4FitPeakFinder.h.
Referenced by Get1LineWidth(), and Set1LineWidth().
Double_t TGo4FitPeakFinder::fd2NoiseFactor [private] |
Definition at line 167 of file TGo4FitPeakFinder.h.
Referenced by Get2NoiseFactor(), and Set2NoiseFactor().
Double_t TGo4FitPeakFinder::fd2NoiseMinimum [private] |
Definition at line 168 of file TGo4FitPeakFinder.h.
Referenced by Get2NoiseMinimum(), and Set2NoiseMinimum().
Int_t TGo4FitPeakFinder::fi2ChannelSum [private] |
Definition at line 169 of file TGo4FitPeakFinder.h.
Referenced by Get2ChannelSum(), and Set2ChannelSum().
Int_t TGo4FitPeakFinder::fiPeakFinderType [private] |
Definition at line 152 of file TGo4FitPeakFinder.h.
Referenced by GetPeakFinderType(), and SetPeakFinderType().
Int_t TGo4FitPeakFinder::fiPolynomOrder [private] |
Definition at line 159 of file TGo4FitPeakFinder.h.
Referenced by GetPolynomOrder(), and SetPolynomOrder().
TString TGo4FitPeakFinder::fxDataName [private] |
Definition at line 154 of file TGo4FitPeakFinder.h.
Referenced by GetDataName(), and SetDataName().