GSI Object Oriented Online Offline (Go4)
GO4-6.3.0
|
#include <TGo4FitModelGaussN.h>
Public Member Functions | |
TGo4FitModelGaussN () | |
TGo4FitModelGaussN (const char *iName, Int_t iNDimension=3) | |
virtual | ~TGo4FitModelGaussN () |
Int_t | GetAxisNumbers () const |
Bool_t | SetAxisNumbers (Int_t naxis) |
Int_t | GetAxisForIndex (Int_t indx) const |
void | SetAxisForIndex (Int_t indx, Int_t axis) |
Bool_t | ResortIndexes (Int_t leaveaxis=-1) |
void | FillMuVector (TVectorD &Mu) |
void | FillSigmaMatrix (TMatrixD &Sigma) |
void | Print (Option_t *option="") const override |
Bool_t | BeforeEval (Int_t) override |
Double_t | EvalN (const Double_t *v) override |
![]() | |
TGo4FitModel () | |
TGo4FitModel (const char *iName, const char *iTitle, Bool_t MakeAmplitude=kFALSE) | |
virtual | ~TGo4FitModel () |
void | SetGroupIndex (Int_t index=-1) |
void | SetBackgroundGroupIndex () |
Int_t | GetGroupIndex () const |
Int_t | NumAssigments () const |
const char * | AssignmentName (Int_t n) |
void | AssignToData (const char *DataName, Double_t RatioValue=1., Bool_t FixRatio=kFALSE) |
Bool_t | IsAssignTo (const char *DataName) const |
void | ChangeDataNameInAssignments (const char *oldname, const char *newname) |
void | ClearAssignmentTo (const char *DataName) |
void | ClearAssigmentTo (const char *DataName) |
void | ClearAssignments () |
void | ConnectToDataIfAssigned (TGo4FitData *data) |
Double_t | GetRatioValueFor (const char *DataName) |
void | Print (Option_t *option="") const override |
virtual Double_t | Evaluate (Double_t x) |
virtual Double_t | Evaluate (Double_t x, Double_t y) |
virtual Double_t | Evaluate (Double_t x, Double_t y, Double_t z) |
virtual Double_t | Evaluate (Double_t *v, Int_t ndim) |
virtual Double_t | Integral () |
virtual Bool_t | GetPosition (Int_t naxis, Double_t &pos) |
virtual Bool_t | SetPosition (Int_t naxis, Double_t pos) |
virtual Bool_t | GetWidth (Int_t naxis, Double_t &width) |
virtual Bool_t | SetWidth (Int_t naxis, Double_t width) |
void | SetIntegrationsProperty (Int_t iMinIntegrDepth, Int_t iMaxIntegrDepth=0, Double_t iIntegrEps=0., Bool_t iAbsoluteEps=kFALSE, Bool_t iIntegrScaling=kFALSE) |
Bool_t | NeedIntegration () const |
virtual Double_t | EvaluateAtPoint (TGo4FitData *data, Int_t nbin, Bool_t UseRanges=kTRUE) |
virtual Double_t | EvaluateAtPoint (std::unique_ptr< TGo4FitDataIter > &iter, Bool_t UseRanges=kTRUE) |
Bool_t | AddModelToDataResult (TGo4FitData *data) |
Int_t | NumPars () override |
![]() | |
TGo4FitComponent () | |
TGo4FitComponent (const char *iName, const char *iTitle) | |
virtual | ~TGo4FitComponent () |
TGo4FitParameter * | GetAmplPar () |
const char * | GetAmplName () |
const char * | GetAmplFullName () |
Double_t | GetAmplValue () |
void | SetAmplValue (Double_t iAmpl) |
Double_t | GetAmplError () |
void | SetAmplError (Double_t iError) |
Bool_t | MakeAmpl (Bool_t isFixed=kFALSE) |
Bool_t | RemoveAmpl () |
virtual Bool_t | CanAmplTouch () |
void | SetRange (Int_t naxis, Double_t min, Double_t max) |
void | ExcludeRange (Int_t naxis, Double_t min, Double_t max) |
void | SetRangeMin (Int_t naxis, Double_t value) |
void | SetRangeMax (Int_t naxis, Double_t value) |
void | AddRangeCut (TCutG *cut, Bool_t exclude=kFALSE) |
void | ClearRanges (Int_t naxis=-1) |
Bool_t | IsAnyRangeLimits () const |
Bool_t | GetRangeMin (Int_t naxis, Double_t &value) const |
Bool_t | GetRangeMax (Int_t naxis, Double_t &value) const |
Int_t | GetNumRangeCondition () const |
void | GetRangeCondition (Int_t n, Int_t &typ, Int_t &naxis, Double_t &left, Double_t &right) const |
void | SetRangeCondition (Int_t n, Int_t typ, Int_t naxis, Double_t left, Double_t right) |
void | AddRangeCondition (Int_t typ, Int_t naxis, Double_t left, Double_t right) |
void | RemoveRangeCondition (Int_t n) |
Int_t | GetNumRangeCut () const |
TCutG * | GetRangeCut (Int_t n) const |
Bool_t | IsRangeCutExcluding (Int_t n) const |
void | SetRangeCutExcluding (Int_t n, Bool_t exclude=kTRUE) |
void | RemoveRangeCut (Int_t n) |
Bool_t | CheckRangeConditions (const Double_t *values, Int_t numaxis) |
void | CollectParsTo (TGo4FitParsList &list) override |
void | SetUseBuffers (Bool_t iUse) |
Bool_t | GetUseBuffers () const |
void | Print (Option_t *option="") const override |
![]() | |
TGo4FitParsList () | |
TGo4FitParsList (Bool_t IsParsOwned) | |
TGo4FitParsList (const char *Name, const char *Title, Bool_t IsParsOwned) | |
virtual | ~TGo4FitParsList () |
TGo4FitParameter * | GetPar (Int_t n) |
Int_t | GetParIndex (const TGo4FitParameter *par) |
TGo4FitParameter * | FindPar (const char *ParName) |
TGo4FitParameter * | FindPar (const char *OwnerFullName, const char *ParName) |
TGo4FitParameter * | FindPar (TGo4FitParameter *par) |
Double_t | GetParValue (const char *ParName) |
Bool_t | SetParValue (const char *ParName, Double_t iValue) |
void | GetParsValues (Double_t *pars) |
void | SetParsValues (Double_t *pars) |
Double_t | GetParError (const char *ParName) |
Bool_t | SetParError (const char *ParName, Double_t iError) |
virtual Bool_t | SetParFixed (const char *ParName, Bool_t iFixed=kTRUE) |
virtual Bool_t | GetParFixed (const char *ParName) |
Int_t | NumFixedPars () |
Int_t | NumFreePars () |
virtual Bool_t | SetParRange (const char *ParName, Double_t RangeMin, Double_t RangeMax) |
virtual Bool_t | GetParRange (const char *ParName, Double_t &RangeMin, Double_t &RangeMax) |
virtual Bool_t | SetParEpsilon (const char *ParName, Double_t Epsilon) |
virtual Bool_t | GetParEpsilon (const char *ParName, Double_t &Epsilon) |
void | SetParName (Int_t n, const char *name) |
const char * | GetParName (Int_t n) |
const char * | GetParFullName (Int_t n) |
void | SetParsNames (const char *name0="Par0", const char *name1="Par1", const char *name2="Par2", const char *name3="Par3", const char *name4="Par4", const char *name5="Par5", const char *name6="Par6", const char *name7="Par7", const char *name8="Par8", const char *name9="Par9") |
void | SetParsValues (Double_t par0=0., Double_t par1=0., Double_t par2=0., Double_t par3=0., Double_t par4=0., Double_t par5=0., Double_t par6=0., Double_t par7=0., Double_t par8=0., Double_t par9=0.) |
virtual void | MemorizePars () |
virtual bool | CanRollbackPars () |
virtual void | RememberPars () |
Bool_t | IsAllParsFixed () |
TGo4FitParameter * | CreatePar (const char *ParName, const char *Title, Double_t iValue=0) |
Bool_t | RemovePar (const char *name) |
Bool_t | RemovePar (TGo4FitParameter *par) |
void | Print (Option_t *option="") const override |
void | PrintPars () const |
void | ClearPars () |
![]() | |
TGo4FitNamed () | |
TGo4FitNamed (const char *Name, const char *Title, TNamed *Owner=nullptr) | |
virtual | ~TGo4FitNamed () |
const char * | GetFullName () |
const char * | GetOwnerFullName () |
void | SetOwner (TNamed *iOwner) |
TNamed * | GetOwner () |
void | Print (Option_t *option="") const override |
![]() | |
TGo4FitSlotList () | |
virtual | ~TGo4FitSlotList () |
virtual void | FillSlotList (TSeqCollection *lst) |
void | SetUpdateSlotList () |
const TObjArray * | GetSlotList (Bool_t ForceUpdate=kFALSE) |
Int_t | NumSlots () |
TGo4FitSlot * | GetSlot (Int_t nslot) |
TGo4FitSlot * | FindSlot (const char *FullSlotName) |
Bool_t | ConnectSlots (TGo4FitSlot *slot1, TGo4FitSlot *slot2) |
Bool_t | ConnectSlots (const char *Slot1FullName, const char *Slot2FullName) |
TGo4FitSlot * | SetObject (TObject *obj, Bool_t iOwned=kFALSE) |
TGo4FitSlot * | SetObject (const char *PlaceName, TObject *obj, Bool_t iOwned=kFALSE) |
TGo4FitSlot * | IsObjectInSlots (TObject *obj) |
Bool_t | CheckObjects (Bool_t MakeOut=kTRUE) |
Bool_t | IsEmptySlots () |
void | ClearObjects (const char *PlaceName=nullptr, Bool_t NonOwned=kTRUE) |
void | ClearSlot (TGo4FitSlot *slot, Bool_t NonOwned) |
void | SetSaveFlagForObjects (Int_t iSaveFlag, const char *PlaceName=nullptr) |
Protected Member Functions | |
TString | GetPosParName (Int_t naxis) |
TString | GetWidthParName (Int_t naxis) |
TString | GetCovarParName (Int_t naxis1, Int_t naxis2) |
Int_t | GetPosParIndex (Int_t naxis) override |
Int_t | GetWidthParIndex (Int_t naxis) override |
void | AfterEval () override |
![]() | |
TGo4FitParameter * | Get (Int_t n) override |
Double_t | EvaluateAndIntegrate (Int_t NumScales, const Double_t *Scales, const Double_t *Widths) |
virtual Bool_t | Initialize (Int_t UseBuffers=-1) |
virtual void | Finalize () |
TGo4FitData * | GetAssignedConnection (Int_t n) |
Bool_t | BuffersAllocated () const |
void | RebuildShape (Bool_t ForceBuild=kFALSE) |
Double_t * | GetModelBins (const char *DataName) const |
void | SetNeedToRebuild () |
virtual Double_t | UserFunction (Double_t *, Double_t *) |
virtual TGo4FitParameter * | GetPosPar (Int_t naxis=0) |
virtual TGo4FitParameter * | GetWidthPar (Int_t naxis=0) |
const Int_t * | GetDataFullIndex (TGo4FitData *data, Int_t nbin) |
Int_t | GetDataIndexesSize (TGo4FitData *data) |
![]() | |
TGo4FitParameter * | NewParameter (const char *Name, const char *Title, Double_t iValue=0., Bool_t Fixed=kFALSE, Int_t AtIndx=-1) |
TGo4FitParameter * | NewAmplitude (const char *Name=nullptr, Double_t iValue=0., Bool_t IsFixed=kFALSE, Int_t AtIndx=0) |
Int_t | GetAmplIndex () const |
void | SetAmplIndex (Int_t iAmplIndex=-1) |
![]() | |
TGo4FitParameter * | AddPar (TGo4FitParameter *par) |
TGo4FitParameter * | InsertPar (TGo4FitParameter *par, Int_t indx) |
void | SetParsOwner (TGo4FitNamed *iOwner) |
void | ClearParsBlocking () |
TGo4FitParameter * | Find (const char *ParName) |
TGo4FitParameter * | Find (const char *OwnerFullName, const char *ParName) |
TGo4FitParameter * | Find (TGo4FitParameter *par) |
Bool_t | RemoveParByIndex (Int_t indx) |
![]() | |
void | CheckDuplicatesOnSlot () |
void | PrepareSlotsForWriting () |
ClassDef (TGo4FitSlotList, 1) | |
Protected Attributes | |
TArrayI | fxIndexes |
![]() | |
Int_t | fiMinIntegrDepth {0} |
Int_t | fiMaxIntegrDepth {0} |
Double_t | fdIntegrEps {0} |
Bool_t | fbAbsoluteEps {kFALSE} |
Bool_t | fbIntegrScaling {kFALSE} |
![]() | |
TObjArray * | fxSlotList {nullptr} |
Bool_t | fbUpdateSlotList {kFALSE} |
Private Attributes | |
Int_t | Par_ndim {0} |
Int_t * | Par_indx {nullptr} |
TVectorD * | Vect_mu {nullptr} |
TMatrixD * | Matr_sig {nullptr} |
TVectorD * | Vect_x {nullptr} |
TVectorD * | Vect_dx {nullptr} |
N-dimensional gaussian peak.
Has following parameters: "Ampl" - amplitude; "Pos0", "Pos1", ... - line positions; "Width0", "Width1", "... - line widths; "Cov0_1", "Cov0_2", ..., "Cov1_2", "Cov1_3", ... - covariations parameters. To create instance of this model:
TGo4FitModelGaussN *g = new TGo4FitModelGaussN("Gauss", 2);
where first parameter - name of model component, second - number of dimensions.
Definition at line 37 of file TGo4FitModelGaussN.h.
TGo4FitModelGaussN::TGo4FitModelGaussN | ( | ) |
Default constructor.
Definition at line 21 of file TGo4FitModelGaussN.cxx.
TGo4FitModelGaussN::TGo4FitModelGaussN | ( | const char * | iName, |
Int_t | iNDimension = 3 |
||
) |
Creates TGo4FitModelGaussN model with given name. Number of dimensions also can be specified (default = 3).
Definition at line 25 of file TGo4FitModelGaussN.cxx.
References fxIndexes, GetCovarParName(), GetPosParName(), GetWidthParName(), and TGo4FitComponent::NewParameter().
|
virtual |
Destroys TGo4FitModelGaussN object.
Definition at line 42 of file TGo4FitModelGaussN.cxx.
|
overrideprotectedvirtual |
Clear buffers, which were created by BeforeEval() method.
Reimplemented from TGo4FitModel.
Definition at line 241 of file TGo4FitModelGaussN.cxx.
References Matr_sig, Vect_dx, Vect_mu, and Vect_x.
Referenced by BeforeEval(), and SetAxisForIndex().
|
overridevirtual |
Prepares (if necessary) some intermediate variables to be able calculate values of model via EvalN() function. Number of axis, which will be used in evaluations, should be specified.
Reimplemented from TGo4FitModel.
Definition at line 202 of file TGo4FitModelGaussN.cxx.
References AfterEval(), FillMuVector(), FillSigmaMatrix(), fxIndexes, Matr_sig, Par_indx, Par_ndim, Vect_dx, Vect_mu, and Vect_x.
Referenced by SetAxisForIndex().
|
overridevirtual |
Calculates value of model according current parameters values and provided axes values. BeforeEval(), EvalN() & AfterEval() virtual methods provides general interface, where user-specific code should be situated.
Reimplemented from TGo4FitModel.
Definition at line 230 of file TGo4FitModelGaussN.cxx.
References Matr_sig, Par_indx, Par_ndim, Vect_dx, Vect_mu, and Vect_x.
Referenced by SetAxisForIndex().
void TGo4FitModelGaussN::FillMuVector | ( | TVectorD & | Mu | ) |
Fills vector of gaussian position from parameters values.
Definition at line 179 of file TGo4FitModelGaussN.cxx.
References fxIndexes, TGo4FitParsList::GetPar(), and TGo4FitParameter::GetValue().
Referenced by BeforeEval(), and SetAxisForIndex().
void TGo4FitModelGaussN::FillSigmaMatrix | ( | TMatrixD & | Sigma | ) |
Fill covariance matrix from parameters values.
Definition at line 187 of file TGo4FitModelGaussN.cxx.
References fxIndexes, TGo4FitParsList::GetPar(), and TGo4FitParameter::GetValue().
Referenced by BeforeEval(), and SetAxisForIndex().
|
inline |
Gets axis number (0 - x-axis, 1 - y-axis) for specified dimension of gaussian. Can be, that first dimension of gaussian assign to z-axis, 2-nd dimension to x-axis, 3-rd dimension to y-axis. Default (created in constructor) is normal numbering, when number of dimension is equal to number of axis.
Definition at line 71 of file TGo4FitModelGaussN.h.
References fxIndexes.
|
inline |
Returns number of dimensions (number of axes), where gaussian will be build.
Definition at line 59 of file TGo4FitModelGaussN.h.
References fxIndexes, and SetAxisNumbers().
Referenced by SetAxisNumbers(), and QFitModelGaussNWidget::SetAxisTable().
|
protected |
Definition at line 76 of file TGo4FitModelGaussN.cxx.
Referenced by SetAxisForIndex(), SetAxisNumbers(), and TGo4FitModelGaussN().
|
overrideprotectedvirtual |
Return index of parameter (if exist), which represent position of model for given axis.
Reimplemented from TGo4FitModel.
Definition at line 163 of file TGo4FitModelGaussN.cxx.
References fxIndexes.
Referenced by SetAxisForIndex().
|
protected |
Definition at line 62 of file TGo4FitModelGaussN.cxx.
Referenced by SetAxisForIndex(), SetAxisNumbers(), and TGo4FitModelGaussN().
|
overrideprotectedvirtual |
Return index of parameter (if exist), which represent width of model component for given axis.
Reimplemented from TGo4FitModel.
Definition at line 171 of file TGo4FitModelGaussN.cxx.
References fxIndexes.
Referenced by SetAxisForIndex().
|
protected |
Definition at line 69 of file TGo4FitModelGaussN.cxx.
Referenced by SetAxisForIndex(), SetAxisNumbers(), and TGo4FitModelGaussN().
|
override |
Print information on standard output.
Definition at line 261 of file TGo4FitModelGaussN.cxx.
References fxIndexes, and TGo4FitModel::Print().
Referenced by SetAxisForIndex().
Bool_t TGo4FitModelGaussN::ResortIndexes | ( | Int_t | leaveaxis = -1 | ) |
Checks duplicates in axis numbers, associated to different gaussian dimensions. leaveaixs (if specified) sets dimension number, which will be unchanged.
Definition at line 136 of file TGo4FitModelGaussN.cxx.
References fxIndexes.
Referenced by SetAxisForIndex().
|
inline |
Change axis number for specified index (dimension) of gaussian.
Definition at line 76 of file TGo4FitModelGaussN.h.
References AfterEval(), BeforeEval(), EvalN(), FillMuVector(), FillSigmaMatrix(), fxIndexes, GetCovarParName(), GetPosParIndex(), GetPosParName(), GetWidthParIndex(), GetWidthParName(), Print(), and ResortIndexes().
Referenced by QFitModelGaussNWidget::AxisTable_valueChanged().
Bool_t TGo4FitModelGaussN::SetAxisNumbers | ( | Int_t | naxis | ) |
Sets number of axes (dimensions), where gaussian will be build. Should be more than 0.
Definition at line 83 of file TGo4FitModelGaussN.cxx.
References TGo4FitParsList::FindPar(), fxIndexes, GetAxisNumbers(), GetCovarParName(), TGo4FitParsList::GetParIndex(), GetPosParName(), GetWidthParName(), TGo4FitComponent::NewParameter(), and TGo4FitParsList::RemovePar().
Referenced by GetAxisNumbers().
|
protected |
Array of axis indexes, where n-dim gaussian will be build.
Definition at line 115 of file TGo4FitModelGaussN.h.
Referenced by BeforeEval(), FillMuVector(), FillSigmaMatrix(), GetAxisForIndex(), GetAxisNumbers(), GetPosParIndex(), GetWidthParIndex(), Print(), ResortIndexes(), SetAxisForIndex(), SetAxisNumbers(), and TGo4FitModelGaussN().
|
private |
Temporary variable for EvalN() function.
Definition at line 137 of file TGo4FitModelGaussN.h.
Referenced by AfterEval(), BeforeEval(), EvalN(), and ~TGo4FitModelGaussN().
|
private |
Temporary variable for EvalN() function.
Definition at line 127 of file TGo4FitModelGaussN.h.
Referenced by BeforeEval(), and EvalN().
|
private |
Temporary variable for EvalN() function.
Definition at line 122 of file TGo4FitModelGaussN.h.
Referenced by BeforeEval(), and EvalN().
|
private |
Temporary variable for EvalN() function.
Definition at line 147 of file TGo4FitModelGaussN.h.
Referenced by AfterEval(), BeforeEval(), EvalN(), and ~TGo4FitModelGaussN().
|
private |
Temporary variable for EvalN() function.
Definition at line 132 of file TGo4FitModelGaussN.h.
Referenced by AfterEval(), BeforeEval(), EvalN(), and ~TGo4FitModelGaussN().
|
private |
Temporary variable for EvalN() function.
Definition at line 142 of file TGo4FitModelGaussN.h.
Referenced by AfterEval(), BeforeEval(), EvalN(), and ~TGo4FitModelGaussN().