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.