#include <MStruct.h>
Public Member Functions | |
| RandomSizeDistribBroadeningEffect () | |
| Constructor. | |
| virtual const string & | GetClassName () const |
| Name for this class ("MStruct::RandomSizeDistribBroadeningEffect") | |
| void | SetDistribution (const int Nbins=20, const REAL Dmax=1.e3, const CrystVector_REAL &distrib=CrystVector_REAL(0)) |
| Set new distribution. | |
| void | GenerateRandomDistrib () |
| Generate random distribution. | |
| virtual void | GlobalOptRandomMove (const REAL mutationAmplitude, const ObjCryst::RefParType *type=ObjCryst::gpRefParTypeObjCryst) |
| TODO:: comment here. | |
| virtual CrystVector_REAL | GetProfile (const CrystVector_REAL &x, const REAL xcenter, const REAL h, const REAL k, const REAL l) |
| virtual REAL | GetApproxFWHM (const REAL xcenter, const REAL h, const REAL k, const REAL l) const |
| virtual bool | IsRealSpaceType () const |
Public Member Functions inherited from MStruct::ReflectionProfileComponent | |
| virtual void | SetParentReflectionProfile (const ReflectionProfile &) |
| virtual const ReflectionProfile & | GetParentReflectionProfile () const |
| virtual bool | IsAnisotropic () const |
| virtual REAL | GetPositionCorr (const REAL xcenter, const REAL h, const REAL k, const REAL l) const |
Public Member Functions inherited from ObjCryst::RefinableObj | |
| RefinableObj (const bool internalUseOnly) | |
| RefinableObj (const RefinableObj &old) | |
| virtual const string & | GetName () const |
| virtual void | SetName (const string &name) |
| void | operator= (const RefinableObj &old) |
| void | PrepareForRefinement () const |
| void | FixAllPar () |
| void | UnFixAllPar () |
| void | SetParIsFixed (const long parIndex, const bool fix) |
| void | SetParIsFixed (const string &parName, const bool fix) |
| void | SetParIsFixed (const RefParType *type, const bool fix) |
| void | SetParIsUsed (const string &parName, const bool use) |
| void | SetParIsUsed (const RefParType *type, const bool use) |
| long | GetNbPar () const |
| long | GetNbParNotFixed () const |
| RefinablePar & | GetPar (const long i) |
| const RefinablePar & | GetPar (const long i) const |
| RefinablePar & | GetPar (const string &name) |
| const RefinablePar & | GetPar (const string &name) const |
| RefinablePar & | GetPar (const REAL *) |
| const RefinablePar & | GetPar (const REAL *) const |
| long | GetParIndex (const string &name, const bool nothrow=false) const |
| long | GetParIndex (const REAL *, const bool nothrow=false) const |
| RefinablePar & | GetParNotFixed (const long i) |
| const RefinablePar & | GetParNotFixed (const long i) const |
| void | AddPar (const RefinablePar &newRefPar) |
| void | AddPar (RefinablePar *newRefPar) |
| void | AddPar (RefinableObj &newRefParList, const bool copyParam=false) |
| vector< RefinablePar * >::iterator | RemovePar (RefinablePar *refPar) |
| virtual void | Print () const |
| unsigned long | CreateParamSet (const string name="") const |
| void | ClearParamSet (const unsigned long id) const |
| void | SaveParamSet (const unsigned long id) const |
| void | RestoreParamSet (const unsigned long id) |
| const CrystVector_REAL & | GetParamSet (const unsigned long setId) const |
| CrystVector_REAL & | GetParamSet (const unsigned long setId) |
| REAL | GetParamSet_ParNotFixedHumanValue (const unsigned long setId, const long parNumber) const |
| const void | EraseAllParamSet () |
| const string & | GetParamSetName (const unsigned long setId) const |
| void | SetLimitsAbsolute (const string &parName, const REAL min, const REAL max) |
| void | SetLimitsAbsolute (const RefParType *type, const REAL min, const REAL max) |
| void | SetLimitsRelative (const string &parName, const REAL min, const REAL max) |
| void | SetLimitsRelative (const RefParType *type, const REAL min, const REAL max) |
| void | SetLimitsProportional (const string &parName, const REAL min, const REAL max) |
| void | SetLimitsProportional (const RefParType *type, const REAL min, const REAL max) |
| void | SetGlobalOptimStep (const RefParType *type, const REAL step) |
| ObjRegistry< RefinableObj > & | GetSubObjRegistry () |
| const ObjRegistry< RefinableObj > & | GetSubObjRegistry () const |
| virtual void | RegisterClient (RefinableObj &) const |
| virtual void | DeRegisterClient (RefinableObj &) const |
|
virtual const ObjRegistry < RefinableObj > & | GetClientRegistry () const |
|
virtual ObjRegistry < RefinableObj > & | GetClientRegistry () |
| bool | IsBeingRefined () const |
| virtual void | BeginOptimization (const bool allowApproximations=false, const bool enableRestraints=false) |
| virtual void | EndOptimization () |
| virtual void | SetApproximationFlag (const bool allow) |
| virtual void | RandomizeConfiguration () |
| void | BeginGlobalOptRandomMove () |
| virtual REAL | GetLogLikelihood () const |
| virtual unsigned int | GetNbLSQFunction () const |
| virtual const CrystVector_REAL & | GetLSQCalc (const unsigned int) const |
| virtual const CrystVector_REAL & | GetLSQObs (const unsigned int) const |
| virtual const CrystVector_REAL & | GetLSQWeight (const unsigned int) const |
| virtual const CrystVector_REAL & | GetLSQDeriv (const unsigned int, RefinablePar &) |
| void | ResetParList () |
| virtual void | XMLOutput (ostream &os, int indent=0) const |
| virtual void | XMLInput (istream &is, const XMLCrystTag &tag) |
| virtual void | UpdateDisplay () const |
| unsigned int | GetNbOption () const |
| RefObjOpt & | GetOption (const unsigned int i) |
| const RefObjOpt & | GetOption (const unsigned int i) const |
| virtual void | GetGeneGroup (const RefinableObj &obj, CrystVector_uint &groupIndex, unsigned int &firstGroup) const |
| void | SetDeleteRefParInDestructor (const bool b) |
| const RefinableObjClock & | GetRefParListClock () const |
| virtual REAL | GetRestraintCost () const |
| void | AddRestraint (Restraint *pNewRestraint) |
| vector< Restraint * >::iterator | RemoveRestraint (Restraint *pRestraint) |
| virtual void | TagNewBestConfig () const |
| const RefinableObjClock & | GetClockMaster () const |
Protected Member Functions | |
| void | Init () |
| Initialize RefinableObj parameters. | |
Protected Attributes | |
| int | mNbins |
| Number of bins between 0 and Dmax representing the crystallites size distribution. | |
| REAL | mBinWidth |
| Width of the bin representing the crystallites size distribution, Width = Dmax/Nbins. | |
| CrystVector_REAL | mDistrib |
| Vector representing crystallites size distribution P(i) | |
| ObjCryst::RefinableObjClock | mClockReflProfCalc |
| Clock when reflection profile was calculated last time. | |
Protected Attributes inherited from MStruct::ReflectionProfileComponent | |
| const ReflectionProfile * | mpParentReflectionProfile |
Protected Attributes inherited from ObjCryst::RefinableObj | |
| string | mName |
| vector< RefinablePar * > | mvpRefPar |
| vector< Restraint * > | mvpRestraint |
|
map< unsigned long, pair < CrystVector_REAL, string > > | mvpSavedValuesSet |
| long | mNbRefParNotFixed |
| CrystVector_long | mRefparNotFixedIndex |
| int | mOptimizationDepth |
| ObjRegistry< RefinableObj > | mSubObjRegistry |
| ObjRegistry< RefinableObj > | mClientObjRegistry |
| ObjRegistry< RefObjOpt > | mOptionRegistry |
| bool | mDeleteRefParInDestructor |
| RefinableObjClock | mRefParListClock |
| bool | mRandomMoveIsDone |
| CrystVector_REAL | mLSQDeriv |
| RefinableObjClock | mClockMaster |
RandomSizeDistribBroadeningEffect : This provides reflection profile calculation from spherical crystallites with randomly distrubuted diameter D.
Distribution of crystallites size diameter D is defined in the N bins between D=0 and D=Dmax. The bin width is dD=Dmax/N. The distribution is represented by a probability P(i) of finding P crystallites with size in the i-th bin (D lies in the interval i*dD + (0,dD) ). This probability P(i) is distributed uniformly in each bin independently of others bins and it is normalised that sum(i=0..N-1, P(i)*dD)==1 holds.
| void MStruct::RandomSizeDistribBroadeningEffect::GenerateRandomDistrib | ( | ) |
Generate random distribution.
Generate random distribution: a random value P(i) representiing the crystallite size distrution is choosen from an uniform distribution for each bin independently on other bins. Aftervards the values P(i) in all bins are normalised so sum(i=0..Nbins-1, P(i)*BinWidth)==1 holds.
Definition at line 4597 of file MStruct.cpp.
| void MStruct::RandomSizeDistribBroadeningEffect::SetDistribution | ( | const int | Nbins = 20, |
| const REAL | Dmax = 1.e3, |
||
| const CrystVector_REAL & | distrib = CrystVector_REAL(0) |
||
| ) |
Set new distribution.
| Nbins | : number of bins in which the interval of crystallite size D is divided. |
| Dmax | : crystallite sizes are distributed in the interval (0,Dmax) (in nm) |
| distrib | : vector of length Nbins containing initial distribution (optional) |
Definition at line 4544 of file MStruct.cpp.
1.8.1