00001 //--------------------------------------------------------------- 00002 // Go4 Release Package v2.10-5 (build 21005) 00003 // 03-Nov-2005 00004 //--------------------------------------------------------------- 00005 // The GSI Online Offline Object Oriented (Go4) Project 00006 // Experiment Data Processing at DVEE department, GSI 00007 //--------------------------------------------------------------- 00008 // 00009 //Copyright (C) 2000- Gesellschaft f. Schwerionenforschung, GSI 00010 // Planckstr. 1, 64291 Darmstadt, Germany 00011 //Contact: http://go4.gsi.de 00012 //---------------------------------------------------------------- 00013 //This software can be used under the license agreements as stated 00014 //in Go4License.txt file which is part of the distribution. 00015 //---------------------------------------------------------------- 00016 #ifndef TGO4FITMINUIT_H 00017 #define TGO4FITMINUIT_H 00018 #include "TObjArray.h" 00019 #include "TObjString.h" 00020 #include "TMatrixD.h" 00021 #include "TGo4FitMinuitResult.h" 00022 #include "TGo4FitterAction.h" 00023 00050 class TGo4FitMinuit : public TGo4FitterAction { 00051 public: 00052 00056 TGo4FitMinuit(); 00057 00061 TGo4FitMinuit(const char* Name); 00062 00066 virtual ~TGo4FitMinuit(); 00067 00072 void AddCommand(const char* iCommand) { fxCommands.Add( new TObjString(iCommand) ); } 00073 00077 Int_t GetNumCommands() { return fxCommands.GetLast()+1; } 00078 00082 const char* GetCommand(Int_t n) { return ((TObjString*) fxCommands[n])->GetString().Data(); } 00083 00087 void ClearCommands() { fxCommands.Clear(); } 00088 00092 Int_t GetNumResults() { return fxResults.GetLast()+1; } 00093 00097 TGo4FitMinuitResult* GetResult(Int_t indx) 00098 { return (indx>=0) && (indx<=fxResults.GetLast()) ? (TGo4FitMinuitResult*) fxResults.At(indx) : 0; } 00099 00103 TGo4FitMinuitResult* FindResult(const char* ResName) 00104 { return (TGo4FitMinuitResult*) fxResults.FindObject(ResName); } 00105 00109 void AddResult(TGo4FitMinuitResult* res) { fxResults.Add(res); } 00110 00114 void RemoveResult(TGo4FitMinuitResult* res) { fxResults.Remove(res); fxResults.Compress(); } 00115 00119 void ClearResults() { fxResults.Clear(); } 00120 00121 virtual Bool_t NeedBuffers() const { return kTRUE; } 00122 00126 virtual void DoAction(TGo4FitterAbstract* Fitter); 00127 00131 virtual void Print(Option_t* option) const; 00132 00133 protected: 00134 00138 TObjArray fxCommands; 00139 00143 TObjArray fxResults; 00144 00145 private: 00146 00150 /*# TGo4FitMinuitResult ResultArray; */ 00151 00152 ClassDef(TGo4FitMinuit,1) 00153 }; 00154 00155 #endif // TGO4FITMINUIT_H 00156 00157 //----------------------------END OF GO4 SOURCE FILE ---------------------