Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   Related Pages  

LSQNumObj Class Reference

(Quick & dirty) Least-Squares Refinement Object with Numerical derivatives. More...

#include <LSQNumObj.h>

List of all members.

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.


Detailed Description

(Quick & dirty) Least-Squares Refinement Object with Numerical derivatives.

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 !


The documentation for this class was generated from the following file:
Generated on Wed Nov 14 19:48:36 2001 for ObjCryst++ by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001