24 #if ROOT_VERSION_CODE < ROOT_VERSION(6,26,0) 25 #include "ROOT/RMakeUnique.hxx" 53 TGo4FitData(
const char *iName,
const char *iTitle, Int_t iDataType =
dtHistogram, Bool_t AddAmpl = kFALSE);
104 if ((TakeFrom == 2) && (SigmaValue > 0))
175 virtual std::unique_ptr<TGo4FitDataIter>
MakeIter() {
return nullptr; }
224 void Print(Option_t *option =
"")
const override;
238 virtual Bool_t
Initialize(Int_t UseBuffers = -1);
436 virtual Bool_t Reset(Bool_t UseRanges = kTRUE);
444 virtual Bool_t Next(Bool_t UseRanges = kTRUE);
459 const Int_t *
Indexes()
const {
return fxIndexes.GetArray(); }
464 Bool_t DefineIndexesLimits(TArrayI& Limits);
474 const Double_t *
Scales()
const {
return fxScales.GetSize() > 0 ? fxScales.GetArray() :
nullptr; }
479 Double_t
x()
const {
return fxScales.GetSize() > 0 ? fxScales[0] : 0.; }
484 Double_t
y()
const {
return fxScales.GetSize() > 1 ? fxScales[1] : 0.; }
489 Double_t
z()
const {
return fxScales.GetSize() > 2 ? fxScales[2] : 0.; }
494 Bool_t
HasWidths()
const {
return fxWidths.GetSize() > 0; }
499 const Double_t *
Widths()
const {
return fxWidths.GetSize() > 0 ? fxWidths.GetArray() :
nullptr; }
504 Double_t xWidths()
const;
509 Double_t
Value()
const {
return fdValue; }
519 Int_t
Point()
const {
return fiNumPoint; }
524 Bool_t CheckPointForRange();
530 Int_t CountPoints(Bool_t UseRanges = kTRUE);
543 TH1 *CreateHistogram(
const char *HistoName, Bool_t UseRanges = kFALSE, Bool_t SetBins = kFALSE);
552 TGraph *CreateGraph(
const char *GraphName, Bool_t UseRanges = kFALSE, Bool_t SetBins = kFALSE);
571 virtual Bool_t StartReset() = 0;
577 virtual Bool_t ReadCurrentPoint() = 0;
583 virtual Bool_t ShiftToNextPoint() = 0;
589 Bool_t ReserveArrays(Int_t NumDimen, Int_t NumOwnAxis, Bool_t HasWidth);
594 void TransformScales(Double_t *scales);
600 Bool_t ProduceScales(
const Int_t *index,
const Double_t *ownscales,
const Double_t *ownwidths);
605 Bool_t NextIndex(TArrayI& Index, TArrayI& Limits);
610 Bool_t GetDeviation();
616 Double_t fdValue{0.};
617 Double_t fdStandardDeviation{0.};
621 Bool_t fbReachEnd{kFALSE};
627 #endif // TGO4FITDATA_H Bool_t DefineScaleMinMax(Int_t naxis, Double_t &min, Double_t &max)
Int_t GetSigmaSource() const
void Print(Option_t *option="") const override
Bool_t SetNumberOfTransSlots(Int_t nslots)
void SetSigmaValue(Double_t SigmaValue)
const Double_t * Scales() const
Double_t * GetBinsDevs() const
void SetExcludeLessThen(Double_t limit=0.)
void SetSigmaSource(Int_t TakeFrom, Double_t SigmaValue=1.)
const Double_t * GetScaleValues(Int_t nbin) const
void ReleaseAllPointers()
Double_t * GetBinsResult() const
const Double_t * Widths() const
virtual Bool_t Initialize(Int_t UseBuffers=-1)
virtual Bool_t IsAnyDataTransform() const
Bool_t IsCompatibleData(TGo4FitData *data)
const Int_t * GetFullIndex(Int_t nbin) const
Int_t GetNumberOfTransSlots() const
Double_t StandardDeviation() const
Bool_t CanAmplTouch() override
TObject * CreateDrawObject(const char *ObjName)
Double_t * GetBinsValues() const
void FillSlotList(TSeqCollection *list) override
virtual std::unique_ptr< TGo4FitDataIter > MakeIter()
void SetAxisTrans(Int_t nslot, TGo4FitAxisTrans *Trans, Bool_t TransOwned=kFALSE)
const Double_t * GetWidthValues(Int_t nbin) const
Int_t IndexesSize() const
Bool_t HasIndexes() const
Int_t GetIndexesSize() const
Bool_t BuffersAllocated() const
TGo4FitAxisTrans * GetAxisTrans(Int_t nslot) const
Int_t GetDataType() const
const Int_t * Indexes() const
void SetUseBinScale(Bool_t iUseBinScale)
Double_t fdExcludeLessThen
void AddAxisTrans(TGo4FitAxisTrans *Trans, Bool_t TransOwned=kFALSE)
TGo4FitSlot * GetAxisTransSlot(Int_t nslot) const
Double_t GetExcludeLessThen() const
Double_t GetSigmaValue() const
void ApplyRangesForModelMask(TGo4FitComponent *model, Char_t *ModelMask)
Bool_t GetUseBinScale() const
Int_t GetBinsSize() const
void SetAxisTransNeeded(Int_t nslot, Bool_t iNeeded=kFALSE)
Int_t GetScalesSize() const