#include <LSQNumObj.h>
Public Methods | |
LSQNumObj (CrystVector_double(*pRefinedFunc)(), string objName="Unnamed LSQ object") | |
~LSQNumObj () | |
void | Init (const CrystVector_double &obs, const CrystVector_double &weight) |
void | Init (const CrystVector_double &obs) |
void | SetParIsFixed (const string &parName, const bool fix) |
Fix one parameter. | |
void | SetParIsFixed (const RefParType *type, const bool fix) |
Fix one family of parameters. | |
void | UnFixAllPar () |
UnFix All parameters. | |
void | SetParIsUsed (const string &parName, const bool use) |
Set a parameter to be used. | |
void | SetParIsUsed (const RefParType *type, const bool use) |
Set a family of parameters to be used. | |
void | Refine (int nbCycle=1, bool useLevenbergMarquardt=false) |
CrystVector_double | Sigma () const |
CrystMatrix_double | CorrelMatrix () const |
double | Rfactor () const |
double | RwFactor () const |
double | ChiSquare () const |
void | AddRefinableObj (RefinableObj &obj) |
Add an object to refine. | |
void | SetUseSaveFileOnEachCycle (bool yesOrNo=true) |
void | SetSaveFile (string fileName="refine.save") |
void | PrintRefResults () const |
void | SetDampingFactor (const double newDampFact) |
void | PurgeSaveFile () |
void | WriteReportToFile () const |
void | OptimizeDerivativeSteps () |
Private Methods | |
void | PrepareRefParList () const |
Prepare mRefParList for the refinement. | |
Private Attributes | |
ObjRegistry< RefinableObj > | mRefinedObjList |
The refined objects. | |
ObjRegistry< RefinableObj > | mRecursiveRefinedObjList |
The refined objects, recursively including all sub-objects. | |
RefinableObj | mRefParList |
The refinable par list used during refinement. Only a compilation of the parameters in RefinableObj. | |
CrystVector_double(* | mpRefinedFunc )() |
double | mDampingFactor |
Damping factor for the refinement (unused yet...). | |
bool | mSaveReportOnEachCycle |
Save result to file after each cycle ? | |
string | mName |
Name of the refined object. | |
string | mSaveFileName |
File name where refinement info is saved. | |
double | mR |
double | mRw |
double | mChiSq |
CrystMatrix_double | mCorrelMatrix |
Correlation matrix between all refined parameters. | |
CrystVector_double | mObs |
Observed values. | |
CrystVector_double | mWeight |
Weight corresponding to all observed values. | |
int | mIndexValuesSetInitial |
Index of the set of saved values for all refinable parameters, before refinement and before the last cycle. | |
int | mIndexValuesSetLast |
Index of the set of saved values for all refinable parameters, before refinement and before the last cycle. | |
bool | mStopAfterCycle |
If true, then stop at the end of the cycle. Used in multi-threading environment. |
This is is very quick& dirty (slow), written one day for tests... Do not expect anything from it yet... I'm not sure it currently works !