#ifndef ROOT_TFitEditor
#define ROOT_TFitEditor
#ifndef ROOT_TGFrame
#include "TGFrame.h"
#endif
#ifndef ROOT_TGButton
#include "TGButton.h"
#endif
enum EObjectType {
   kObjectHisto,
   kObjectGraph,
   kObjectGraph2D,
   kObjectHStack,
   kObjectTree
};
class TGTab;
class TVirtualPad;
class TCanvas;
class TGLabel;
class TGComboBox;
class TGTextEntry;
class TGNumberEntry;
class TGDoubleHSlider;
class TGNumberEntry;
class TGNumberEntryField;
class TGStatusBar;
class TAxis;
class TF1;
class TFitEditor : public TGMainFrame {
protected:
   TGTab               *fTab;              
   TGCompositeFrame    *fTabContainer;     
   TGCompositeFrame    *fGeneral;          
   TGCompositeFrame    *fMinimization;     
   TGTextButton        *fFitButton;        
   TGTextButton        *fResetButton;      
   TGTextButton        *fCloseButton;      
   TGHorizontalFrame   *fObjLabelParent;   
   TGLabel             *fObjLabel;         
   TGLabel             *fSelLabel;         
   TGComboBox          *fFuncList;         
   Int_t                fLastEntryId;      
   TGTextEntry         *fEnteredFunc;      
   TGTextButton        *fUserButton;       
   TGRadioButton       *fNone;             
   TGRadioButton       *fAdd;              
   TGRadioButton       *fConv;             
   TGLayoutHints       *fLayoutNone;       
   TGLayoutHints       *fLayoutAdd;        
   TGLayoutHints       *fLayoutConv;       
   TGTextButton        *fSetParam;         
   TGCheckButton       *fIntegral;         
   TGCheckButton       *fBestErrors;       
   TGCheckButton       *fUseRange;         
   TGCheckButton       *fAdd2FuncList;     
   TGCheckButton       *fAllWeights1;      
   TGCheckButton       *fImproveResults;   
   TGCheckButton       *fEmptyBinsWghts1;  
   TGComboBox          *fMethodList;       
   TGCheckButton       *fLinearFit;        
   TGCheckButton       *fNoChi2;           
   TGCheckButton       *fNoStoreDrawing;   
   TGCheckButton       *fNoDrawing;        
   TGCheckButton       *fDrawSame;         
   TGTextButton        *fDrawAdvanced;     
   TGDoubleHSlider     *fSliderX;          
   TGDoubleHSlider     *fSliderY;          
   TGDoubleHSlider     *fSliderZ;          
   TGHorizontalFrame   *fSliderXParent;    
   TGHorizontalFrame   *fSliderYParent;    
   TGHorizontalFrame   *fSliderZParent;    
   TGNumberEntry       *fRobustValue;      
   TGRadioButton       *fOptDefault;       
   TGRadioButton       *fOptVerbose;       
   TGRadioButton       *fOptQuiet;         
   TCanvas             *fCanvas;           
   TVirtualPad         *fParentPad;        
   TObject             *fFitObject;        
   EObjectType          fType;             
   Int_t                fDim;              
   TAxis               *fXaxis;            
   TAxis               *fYaxis;            
   TAxis               *fZaxis;            
   Float_t              fXrange;           
   Float_t              fXmin;             
   Float_t              fXmax;             
   Float_t              fYrange;           
   Float_t              fYmin;             
   Float_t              fYmax;             
   Float_t              fZrange;           
   Float_t              fZmin;             
   Float_t              fZmax;             
   TString              fPlus;             
   TString              fFunction;         
   TString              fFitOption;        
   TString              fDrawOption;       
   TF1                 *fFitFunc;          
   TList               *fFitFuncList;      
   Int_t                fPx1old,
                        fPy1old,
                        fPx2old,
                        fPy2old;
   TGRadioButton       *fLibMinuit;        
   TGRadioButton       *fLibMinuit2;       
   TGRadioButton       *fLibFumili;        
   TGRadioButton       *fMigrad;           
   TGRadioButton       *fSimplex;          
   TGRadioButton       *fFumili;           
   TGNumberEntryField  *fErrorScale;       
   TGNumberEntryField  *fTolerance;        
   TGNumberEntryField  *fIterations;       
   TGStatusBar         *fStatusBar;        
   
   static TFitEditor *fgFitDialog;         
   TGComboBox *BuildFunctionList(TGFrame *parent, Int_t id);
   TGComboBox *BuildMethodList(TGFrame *parent, Int_t id);
   Int_t       CheckFunctionString(const char* str);
   void        CreateGeneralTab();
   void        CreateMinimizationTab();
   void        MakeTitle(TGCompositeFrame *parent, const char *title);
   Bool_t      HasFitFunction(TObject *obj);
   void        GetFunctionsFromList(TList *list);
   void        CheckRange(TF1 *f1);
private:
   TFitEditor(const TFitEditor&);              
   TFitEditor& operator=(const TFitEditor&);   
public:
   TFitEditor(TVirtualPad* pad, TObject *obj);
   virtual ~TFitEditor();
   static TFitEditor *&GetFP() { return fgFitDialog; }
   static  void       Open(TVirtualPad* pad, TObject *obj);
   virtual Option_t  *GetDrawOption() const;
   virtual void       Hide();
   virtual void       Show(TVirtualPad* pad, TObject *obj);
           void       ShowObjectName(TObject* obj);
           Bool_t     SetObjectType(TObject* obj);
   virtual void       Terminate();
           void       UpdateGUI();
   virtual void   CloseWindow();
   virtual void   ConnectSlots();
   virtual void   ConnectToCanvas();
   virtual void   DisconnectSlots();
   virtual void   RecursiveRemove(TObject* obj);
   virtual void   SetCanvas(TCanvas *c);
   virtual void   SetFitObject(TVirtualPad *pad, TObject *obj, Int_t event);
   virtual void   SetFunction(const char *function);
   
   virtual void   DoAddition(Bool_t on);
   virtual void   DoAddtoList();
   virtual void   DoAdvancedOptions();
   virtual void   DoAllWeights1();
   virtual void   DoBestErrors();
   virtual void   DoBound(Bool_t set);
   virtual void   DoClose();
   virtual void   DoDrawSame();
   virtual void   DoEmptyBinsAllWeights1();
   virtual void   DoEnteredFunction();
   virtual void   DoFit();
   virtual void   DoErrorsDef();
   virtual void   DoMaxTolerance();
   virtual void   DoMaxIterations();
   virtual void   DoFunction(Int_t sel);
   virtual void   DoImproveResults();
   virtual void   DoIntegral();
   virtual void   DoLinearFit();
   virtual void   DoMethod(Int_t id);
   virtual void   DoNoChi2();
   virtual void   DoNoDrawing();
   virtual void   DoNoOperation(Bool_t on);
   virtual void   DoNoSelection();
   virtual void   DoNoStoreDrawing();
   virtual void   DoReset();
   virtual void   DoRobust();
   virtual void   DoSetParameters();
   virtual void   DoSliderXMoved();
   virtual void   DoSliderXPressed();
   virtual void   DoSliderXReleased();
   virtual void   DoSliderYMoved();
   virtual void   DoSliderYPressed();
   virtual void   DoSliderYReleased();
   virtual void   DoSliderZMoved();
   virtual void   DoSliderZPressed();
   virtual void   DoSliderZReleased();
   virtual void   DoUserDialog();
   virtual void   DoUseRange();
   
   virtual void   DoLibrary(Bool_t on);
   virtual void   DoMinMethod(Bool_t on);
   virtual void   DoPrintOpt(Bool_t on);
   
   
   ClassDef(TFitEditor,0)  
};
#endif
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.