GSI Object Oriented Online Offline (Go4)  GO4-6.2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
TGo4FitModelGaussN Class Reference

#include <TGo4FitModelGaussN.h>

+ Inheritance diagram for TGo4FitModelGaussN:

Public Member Functions

 TGo4FitModelGaussN ()
 
 TGo4FitModelGaussN (const char *iName, Int_t iNDimension=3)
 
virtual ~TGo4FitModelGaussN ()
 
Int_t GetAxisNumbers ()
 
Bool_t SetAxisNumbers (Int_t naxis)
 
Int_t GetAxisForIndex (Int_t indx)
 
void SetAxisForIndex (Int_t indx, Int_t axis)
 
Bool_t ResortIndexes (Int_t leaveaxis=-1)
 
void FillMuVector (TVectorD &Mu)
 
void FillSigmaMatrix (TMatrixD &Sigma)
 
virtual void Print (Option_t *option) const
 
virtual Bool_t BeforeEval (Int_t)
 
virtual Double_t EvalN (const Double_t *v)
 
- Public Member Functions inherited from TGo4FitModel
 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)
 
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 ()
 
virtual Double_t EvaluateAtPoint (TGo4FitData *data, Int_t nbin, Bool_t UseRanges=kTRUE)
 
virtual Double_t EvaluateAtPoint (TGo4FitDataIter *iter, Bool_t UseRanges=kTRUE)
 
Bool_t AddModelToDataResult (TGo4FitData *data)
 
virtual Int_t NumPars ()
 
- Public Member Functions inherited from TGo4FitComponent
 TGo4FitComponent ()
 
 TGo4FitComponent (const char *iName, const char *iTitle)
 
virtual ~TGo4FitComponent ()
 
TGo4FitParameterGetAmplPar ()
 
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 ()
 
Bool_t GetRangeMin (Int_t naxis, Double_t &value)
 
Bool_t GetRangeMax (Int_t naxis, Double_t &value)
 
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)
 
void SetRangeCutExcluding (Int_t n, Bool_t exclude=kTRUE)
 
void RemoveRangeCut (Int_t n)
 
Bool_t CheckRangeConditions (const Double_t *values, Int_t numaxis)
 
virtual void CollectParsTo (TGo4FitParsList &list)
 
void SetUseBuffers (Bool_t iUse)
 
Bool_t GetUseBuffers () const
 
- Public Member Functions inherited from TGo4FitParsList
 TGo4FitParsList ()
 
 TGo4FitParsList (Bool_t IsParsOwned)
 
 TGo4FitParsList (const char *Name, const char *Title, Bool_t IsParsOwned)
 
virtual ~TGo4FitParsList ()
 
TGo4FitParameterGetPar (Int_t n)
 
Int_t GetParIndex (const TGo4FitParameter *par)
 
TGo4FitParameterFindPar (const char *ParName)
 
TGo4FitParameterFindPar (const char *OwnerFullName, const char *ParName)
 
TGo4FitParameterFindPar (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 ()
 
TGo4FitParameterCreatePar (const char *ParName, const char *Title, Double_t iValue=0)
 
Bool_t RemovePar (const char *name)
 
Bool_t RemovePar (TGo4FitParameter *par)
 
void PrintPars () const
 
void ClearPars ()
 
- 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
 
- Public Member Functions inherited from TGo4FitSlotList
 TGo4FitSlotList ()
 
virtual ~TGo4FitSlotList ()
 
virtual void FillSlotList (TSeqCollection *lst)
 
void SetUpdateSlotList ()
 
const TObjArray * GetSlotList (Bool_t ForceUpdate=kFALSE)
 
Int_t NumSlots ()
 
TGo4FitSlotGetSlot (Int_t nslot)
 
TGo4FitSlotFindSlot (const char *FullSlotName)
 
Bool_t ConnectSlots (TGo4FitSlot *slot1, TGo4FitSlot *slot2)
 
Bool_t ConnectSlots (const char *Slot1FullName, const char *Slot2FullName)
 
TGo4FitSlotSetObject (TObject *obj, Bool_t iOwned=kFALSE)
 
TGo4FitSlotSetObject (const char *PlaceName, TObject *obj, Bool_t iOwned=kFALSE)
 
TGo4FitSlotIsObjectInSlots (TObject *obj)
 
Bool_t CheckObjects (Bool_t MakeOut=kTRUE)
 
Bool_t IsEmptySlots ()
 
void ClearObjects (const char *PlaceName=0, Bool_t NonOwned=kTRUE)
 
void ClearSlot (TGo4FitSlot *slot, Bool_t NonOwned)
 
void SetSaveFlagForObjects (Int_t iSaveFlag, const char *PlaceName=0)
 

Protected Member Functions

TString GetPosParName (Int_t naxis)
 
TString GetWidthParName (Int_t naxis)
 
TString GetCovarParName (Int_t naxis1, Int_t naxis2)
 
virtual Int_t GetPosParIndex (Int_t naxis)
 
virtual Int_t GetWidthParIndex (Int_t naxis)
 
virtual void AfterEval ()
 
- Protected Member Functions inherited from TGo4FitModel
virtual TGo4FitParameterGet (Int_t n)
 
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 ()
 
TGo4FitDataGetAssignedConnection (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 TGo4FitParameterGetPosPar (Int_t naxis=0)
 
virtual TGo4FitParameterGetWidthPar (Int_t naxis=0)
 
const Int_t * GetDataFullIndex (TGo4FitData *data, Int_t nbin)
 
Int_t GetDataIndexesSize (TGo4FitData *data)
 
- Protected Member Functions inherited from TGo4FitComponent
TGo4FitParameterNewParameter (const char *Name, const char *Title, Double_t iValue=0., Bool_t Fixed=kFALSE, Int_t AtIndx=-1)
 
TGo4FitParameterNewAmplitude (const char *Name=0, Double_t iValue=0., Bool_t IsFixed=kFALSE, Int_t AtIndx=0)
 
Int_t GetAmplIndex () const
 
void SetAmplIndex (Int_t iAmplIndex=-1)
 
- Protected Member Functions inherited from TGo4FitParsList
TGo4FitParameterAddPar (TGo4FitParameter *par)
 
TGo4FitParameterInsertPar (TGo4FitParameter *par, Int_t indx)
 
void SetParsOwner (TGo4FitNamed *iOwner)
 
void ClearParsBlocking ()
 
TGo4FitParameterFind (const char *ParName)
 
TGo4FitParameterFind (const char *OwnerFullName, const char *ParName)
 
TGo4FitParameterFind (TGo4FitParameter *par)
 
Bool_t RemoveParByIndex (Int_t indx)
 
- Protected Member Functions inherited from TGo4FitSlotList
void CheckDuplicatesOnSlot ()
 
void PrepareSlotsForWriting ()
 
 ClassDef (TGo4FitSlotList, 1)
 

Protected Attributes

TArrayI fxIndexes
 
- Protected Attributes inherited from TGo4FitModel
Int_t fiMinIntegrDepth
 
Int_t fiMaxIntegrDepth
 
Double_t fdIntegrEps
 
Bool_t fbAbsoluteEps
 
Bool_t fbIntegrScaling
 
- Protected Attributes inherited from TGo4FitSlotList
TObjArray * fxSlotList
 
Bool_t fbUpdateSlotList
 

Private Attributes

Int_t Par_ndim
 
Int_t * Par_indx
 
TVectorD * Vect_mu
 
TMatrixD * Matr_sig
 
TVectorD * Vect_x
 
TVectorD * Vect_dx
 

Detailed Description

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.

Constructor & Destructor Documentation

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().

TGo4FitModelGaussN::~TGo4FitModelGaussN ( )
virtual

Destroys TGo4FitModelGaussN object.

Definition at line 41 of file TGo4FitModelGaussN.cxx.

References Matr_sig, Vect_dx, Vect_mu, and Vect_x.

Member Function Documentation

void TGo4FitModelGaussN::AfterEval ( )
protectedvirtual

Clear buffers, which were created by BeforeEval() method.

Reimplemented from TGo4FitModel.

Definition at line 206 of file TGo4FitModelGaussN.cxx.

References Matr_sig, Vect_dx, Vect_mu, and Vect_x.

Referenced by BeforeEval().

Bool_t TGo4FitModelGaussN::BeforeEval ( Int_t  ndim)
virtual

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 173 of file TGo4FitModelGaussN.cxx.

References AfterEval(), FillMuVector(), FillSigmaMatrix(), fxIndexes, Matr_sig, Par_indx, Par_ndim, Vect_dx, Vect_mu, and Vect_x.

Double_t TGo4FitModelGaussN::EvalN ( const Double_t *  v)
virtual

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 196 of file TGo4FitModelGaussN.cxx.

References Matr_sig, Par_indx, Par_ndim, Vect_dx, Vect_mu, and Vect_x.

void TGo4FitModelGaussN::FillMuVector ( TVectorD &  Mu)

Fills vector of gaussian position from parameters values.

Definition at line 151 of file TGo4FitModelGaussN.cxx.

References fxIndexes, TGo4FitParsList::GetPar(), and TGo4FitParameter::GetValue().

Referenced by BeforeEval().

void TGo4FitModelGaussN::FillSigmaMatrix ( TMatrixD &  Sigma)

Fill covariance matrix from parameters values.

Definition at line 158 of file TGo4FitModelGaussN.cxx.

References fxIndexes, TGo4FitParsList::GetPar(), and TGo4FitParameter::GetValue().

Referenced by BeforeEval().

Int_t TGo4FitModelGaussN::GetAxisForIndex ( Int_t  indx)
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.

Int_t TGo4FitModelGaussN::GetAxisNumbers ( )
inline

Returns number of dimensions (number of axes), where gaussian will be build.

Definition at line 59 of file TGo4FitModelGaussN.h.

References fxIndexes.

Referenced by SetAxisNumbers(), and QFitModelGaussNWidget::SetAxisTable().

TString TGo4FitModelGaussN::GetCovarParName ( Int_t  naxis1,
Int_t  naxis2 
)
protected

Definition at line 62 of file TGo4FitModelGaussN.cxx.

Referenced by SetAxisNumbers(), and TGo4FitModelGaussN().

Int_t TGo4FitModelGaussN::GetPosParIndex ( Int_t  )
protectedvirtual

Return index of parameter (if exist), which represent position of model for given axis.

Reimplemented from TGo4FitModel.

Definition at line 139 of file TGo4FitModelGaussN.cxx.

References fxIndexes.

TString TGo4FitModelGaussN::GetPosParName ( Int_t  naxis)
protected

Definition at line 48 of file TGo4FitModelGaussN.cxx.

Referenced by SetAxisNumbers(), and TGo4FitModelGaussN().

Int_t TGo4FitModelGaussN::GetWidthParIndex ( Int_t  )
protectedvirtual

Return index of parameter (if exist), which represent width of model component for given axis.

Reimplemented from TGo4FitModel.

Definition at line 145 of file TGo4FitModelGaussN.cxx.

References fxIndexes.

TString TGo4FitModelGaussN::GetWidthParName ( Int_t  naxis)
protected

Definition at line 55 of file TGo4FitModelGaussN.cxx.

Referenced by SetAxisNumbers(), and TGo4FitModelGaussN().

void TGo4FitModelGaussN::Print ( Option_t *  option) const
virtual

Print information on standard output.

Reimplemented from TGo4FitModel.

Definition at line 213 of file TGo4FitModelGaussN.cxx.

References fxIndexes, and TGo4FitModel::Print().

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 116 of file TGo4FitModelGaussN.cxx.

References fxIndexes.

void TGo4FitModelGaussN::SetAxisForIndex ( Int_t  indx,
Int_t  axis 
)
inline

Change axis number for specified index (dimension) of gaussian.

Definition at line 76 of file TGo4FitModelGaussN.h.

References fxIndexes.

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 71 of file TGo4FitModelGaussN.cxx.

References TGo4FitParsList::FindPar(), fxIndexes, GetAxisNumbers(), GetCovarParName(), TGo4FitParsList::GetParIndex(), GetPosParName(), GetWidthParName(), TGo4FitComponent::NewParameter(), and TGo4FitParsList::RemovePar().

Member Data Documentation

TArrayI TGo4FitModelGaussN::fxIndexes
protected
TMatrixD* TGo4FitModelGaussN::Matr_sig
private

Temporary variable for EvalN() function.

Definition at line 140 of file TGo4FitModelGaussN.h.

Referenced by AfterEval(), BeforeEval(), EvalN(), and ~TGo4FitModelGaussN().

Int_t* TGo4FitModelGaussN::Par_indx
private

Temporary variable for EvalN() function.

Definition at line 128 of file TGo4FitModelGaussN.h.

Referenced by BeforeEval(), and EvalN().

Int_t TGo4FitModelGaussN::Par_ndim
private

Temporary variable for EvalN() function.

Definition at line 122 of file TGo4FitModelGaussN.h.

Referenced by BeforeEval(), and EvalN().

TVectorD* TGo4FitModelGaussN::Vect_dx
private

Temporary variable for EvalN() function.

Definition at line 152 of file TGo4FitModelGaussN.h.

Referenced by AfterEval(), BeforeEval(), EvalN(), and ~TGo4FitModelGaussN().

TVectorD* TGo4FitModelGaussN::Vect_mu
private

Temporary variable for EvalN() function.

Definition at line 134 of file TGo4FitModelGaussN.h.

Referenced by AfterEval(), BeforeEval(), EvalN(), and ~TGo4FitModelGaussN().

TVectorD* TGo4FitModelGaussN::Vect_x
private

Temporary variable for EvalN() function.

Definition at line 146 of file TGo4FitModelGaussN.h.

Referenced by AfterEval(), BeforeEval(), EvalN(), and ~TGo4FitModelGaussN().


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