23 #ifndef _REFINABLEOBJ_TRACKER_H_
24 #define _REFINABLEOBJ_TRACKER_H_
29 #include "ObjCryst/RefinableObj/RefinableObj.h"
37 #include "ObjCryst/wxCryst/wxTrackerGraph.h"
50 Tracker(
const std::string &name);
52 const std::string& GetName()
const;
53 void AppendValue(
const long trial);
56 const std::map<long,REAL>& GetValues()
const;
57 std::map<long,REAL>& GetValues();
59 virtual REAL ReadValue()=0;
60 std::map<long,REAL> mvValues;
74 void AppendValues(
const long trial);
81 void SaveAll(std::ostream &out)
const;
82 const std::set<Tracker*> &GetTrackerList()
const;
90 std::set<Tracker*> mvpTracker;
100 void WXNotifyDelete();
112 TrackerObject(
const std::string &name,
const T&obj, REAL (T::*f)()
const):
113 Tracker(name),mpObj(&obj),mfp(f)
117 REAL (T::*mfp)()
const;
118 REAL ReadValue(){
return (mpObj->*mfp)();}
Tracker for objects (RefinableObj, Crystal, PowderPattern, RefPar,...)
We need to record exactly when refinable objects have been modified for the last time (to avoid re-co...
void Clear()
Removes all stored values.
void UpdateDisplay() const
Update display, if any.
RefinableObjClock mClockTrackerList
Last time a tracker was added.
void ClearValues()
Removes all stored values.
const RefinableObjClock & GetClockValues() const
Get last time values were whanged.
A class to track the variation of parameters as a function of a number of cycles/trials.
const RefinableObjClock & GetClockTrackerList() const
Get last time a tracker was added.
A class to hold all trackers.
void ClearTrackers()
Removes all Trackers.
The namespace which includes all objects (crystallographic and algorithmic) in ObjCryst++.
void SaveAll(std::ostream &out) const
Will save to a single file if all recorded trial numbers are the same Otherwise ? ...
RefinableObjClock mClockValues
Last time values were whanged.