20 #ifndef _VFN_WX_GLOBALOPTIM_OBJ_H_ 
   21 #define _VFN_WX_GLOBALOPTIM_OBJ_H_ 
   23 #include "ObjCryst/wxCryst/wxCryst.h" 
   24 #include "ObjCryst/wxCryst/wxMultiGraph.h" 
   27    class WXOptimizationObj;
 
   28    class WXMonteCarloObj;
 
   30 #include "ObjCryst/RefinableObj/GlobalOptimObj.h" 
   33 class WXGlobalOptimRunThread;
 
   40       virtual void CrystUpdate(
const bool updateUI=
false,
const bool mutexlock=
false);
 
   42       virtual void OnSave();
 
   43       virtual void OnLoad();
 
   52       virtual void OnStopOptimization(wxCommandEvent & WXUNUSED(event));
 
   55       virtual void OnUpdateUI(wxUpdateUIEvent& event);
 
   56       virtual void UpdateUI(
const bool mutexlock=
false);
 
   76                              const REAL finalCost,
long &nbRun,
const bool multiple=
true);
 
   77       virtual void *Entry();
 
   78       virtual void OnExit();
 
  101       virtual void OnRunOptimization(wxCommandEvent &event);
 
  106       void OnLSQRefine(wxCommandEvent &event);
 
  113    DECLARE_EVENT_TABLE()
 
  119 #endif //_VFN_WX_GLOBALOPTIM_OBJ_H_ 
RefinableObjClock mClockParamSetWindow
Record when the window giving the list of recorded parameter set was created. 
virtual void AddRefinedObject(RefinableObj &obj)
Added by the library. 
We need to record exactly when refinable objects have been modified for the last time (to avoid re-co...
virtual void UpdateUI(const bool mutexlock=false)
Update the User Interface, if necessary. 
virtual void OnRemoveRefinedObject(wxCommandEvent &WXUNUSED(event))
From the menu. 
long mNbRun
The number of cycles. 
void UpdateDisplayNbTrial()
Called during optimization, to show the user something's still going on... 
long * mpNbTrial
This points to OptimizationObj::mNbTrialPerRun. 
Generic Refinable Object. 
virtual void OnBrowseParamSet(wxCommandEvent &WXUNUSED(event))
Opens a window where the stored parameter set can be selected. 
Base object for Monte-Carlo Global Optimization methods. 
const REAL mFinalCost
The value of the cost below which the optimization should stop (0 by default) even if the desired num...
MonteCarloObj * mpMonteCarloObj
The algorithm object. 
wxListBox * mpwxParamSetList
Window giving the list of recorded parameter sets. 
Class for a GlobalOptimization thread. 
virtual void OnAddRefinedObject(wxCommandEvent &WXUNUSED(event))
From the menu. 
Base class for all displayed ObjCryst objects (with a title, and a sizer to stack objects)...
long * mpNbRun
This points to the mNbRun member in WXOptimizationObj. 
virtual bool OnChangeName(const int id)
When a WXFieldName has been changed by the user, it is handled here. 
Class for Graphical interface to Monte-Carlo objects (Simulated Annealing, Parallel Tempering) ...
Base object for Optimization methods. 
The namespace which includes all objects (crystallographic and algorithmic) in ObjCryst++. 
WX Class for a Global Optimization objects. 
virtual void CrystUpdate(const bool updateUI=false, const bool mutexlock=false)
Get new values to be displayed from the underlying object, and raise flag if an UI update is necessar...
virtual void OnRunOptimization(wxCommandEvent &WXUNUSED(event))=0
Launches the optimization run. 
const bool mDoMultiple
Use multiple Runs ? 
virtual void OnSelectParamSet(wxCommandEvent &WXUNUSED(event))
Restore one parameter set. 
Our own local menu bar, using buttons and Popup menus.