BornAgain  1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
ROOT::Minuit2::MnStrategy Class Reference

Description

API class for defining three levels of strategies: low (0), medium (1), high (>=2); acts on: Migrad (behavioural), Minos (lowers strategy by 1 for Minos-own minimization), Hesse (iterations), Numerical2PDerivative (iterations)

Definition at line 27 of file MnStrategy.h.

Public Member Functions

 MnStrategy ()
 
 MnStrategy (unsigned int)
 
 ~MnStrategy ()
 
unsigned int GradientNCycles () const
 
double GradientStepTolerance () const
 
double GradientTolerance () const
 
double HessianG2Tolerance () const
 
unsigned int HessianGradientNCycles () const
 
unsigned int HessianNCycles () const
 
double HessianStepTolerance () const
 
bool IsHigh () const
 
bool IsLow () const
 
bool IsMedium () const
 
void SetGradientNCycles (unsigned int n)
 
void SetGradientStepTolerance (double stp)
 
void SetGradientTolerance (double toler)
 
void SetHessianG2Tolerance (double toler)
 
void SetHessianGradientNCycles (unsigned int n)
 
void SetHessianNCycles (unsigned int n)
 
void SetHessianStepTolerance (double stp)
 
void SetHighStrategy ()
 
void SetLowStrategy ()
 
void SetMediumStrategy ()
 
void SetStorageLevel (unsigned int level)
 
int StorageLevel () const
 
unsigned int Strategy () const
 

Private Attributes

unsigned int fGradNCyc
 
double fGradTlr
 
double fGradTlrStp
 
unsigned int fHessGradNCyc
 
unsigned int fHessNCyc
 
double fHessTlrG2
 
double fHessTlrStp
 
int fStoreLevel
 
unsigned int fStrategy
 

Constructor & Destructor Documentation

◆ MnStrategy() [1/2]

ROOT::Minuit2::MnStrategy::MnStrategy ( )

◆ MnStrategy() [2/2]

ROOT::Minuit2::MnStrategy::MnStrategy ( unsigned int  )
explicit

◆ ~MnStrategy()

ROOT::Minuit2::MnStrategy::~MnStrategy ( )
inline

Definition at line 37 of file MnStrategy.h.

37 {}

Member Function Documentation

◆ GradientNCycles()

unsigned int ROOT::Minuit2::MnStrategy::GradientNCycles ( ) const
inline

Definition at line 41 of file MnStrategy.h.

41 {return fGradNCyc;}
unsigned int fGradNCyc
Definition: MnStrategy.h:76

References fGradNCyc.

◆ GradientStepTolerance()

double ROOT::Minuit2::MnStrategy::GradientStepTolerance ( ) const
inline

Definition at line 42 of file MnStrategy.h.

42 {return fGradTlrStp;}

References fGradTlrStp.

◆ GradientTolerance()

double ROOT::Minuit2::MnStrategy::GradientTolerance ( ) const
inline

Definition at line 43 of file MnStrategy.h.

43 {return fGradTlr;}

References fGradTlr.

◆ HessianG2Tolerance()

double ROOT::Minuit2::MnStrategy::HessianG2Tolerance ( ) const
inline

Definition at line 47 of file MnStrategy.h.

47 {return fHessTlrG2;}

References fHessTlrG2.

Referenced by ROOT::Minuit2::MnHesse::TolerG2().

◆ HessianGradientNCycles()

unsigned int ROOT::Minuit2::MnStrategy::HessianGradientNCycles ( ) const
inline

Definition at line 48 of file MnStrategy.h.

48 {return fHessGradNCyc;}
unsigned int fHessGradNCyc
Definition: MnStrategy.h:82

References fHessGradNCyc.

◆ HessianNCycles()

unsigned int ROOT::Minuit2::MnStrategy::HessianNCycles ( ) const
inline

Definition at line 45 of file MnStrategy.h.

45 {return fHessNCyc;}
unsigned int fHessNCyc
Definition: MnStrategy.h:79

References fHessNCyc.

Referenced by ROOT::Minuit2::MnHesse::Ncycles().

◆ HessianStepTolerance()

double ROOT::Minuit2::MnStrategy::HessianStepTolerance ( ) const
inline

Definition at line 46 of file MnStrategy.h.

46 {return fHessTlrStp;}

References fHessTlrStp.

Referenced by ROOT::Minuit2::MnHesse::Tolerstp().

◆ IsHigh()

bool ROOT::Minuit2::MnStrategy::IsHigh ( ) const
inline

Definition at line 54 of file MnStrategy.h.

54 {return fStrategy >= 2;}
unsigned int fStrategy
Definition: MnStrategy.h:74

References fStrategy.

◆ IsLow()

bool ROOT::Minuit2::MnStrategy::IsLow ( ) const
inline

Definition at line 52 of file MnStrategy.h.

52 {return fStrategy == 0;}

References fStrategy.

◆ IsMedium()

bool ROOT::Minuit2::MnStrategy::IsMedium ( ) const
inline

Definition at line 53 of file MnStrategy.h.

53 {return fStrategy == 1;}

References fStrategy.

◆ SetGradientNCycles()

void ROOT::Minuit2::MnStrategy::SetGradientNCycles ( unsigned int  n)
inline

Definition at line 60 of file MnStrategy.h.

60 {fGradNCyc = n;}

References fGradNCyc.

◆ SetGradientStepTolerance()

void ROOT::Minuit2::MnStrategy::SetGradientStepTolerance ( double  stp)
inline

Definition at line 61 of file MnStrategy.h.

61 {fGradTlrStp = stp;}

References fGradTlrStp.

◆ SetGradientTolerance()

void ROOT::Minuit2::MnStrategy::SetGradientTolerance ( double  toler)
inline

Definition at line 62 of file MnStrategy.h.

62 {fGradTlr = toler;}

References fGradTlr.

◆ SetHessianG2Tolerance()

void ROOT::Minuit2::MnStrategy::SetHessianG2Tolerance ( double  toler)
inline

Definition at line 66 of file MnStrategy.h.

66 {fHessTlrG2 = toler;}

References fHessTlrG2.

◆ SetHessianGradientNCycles()

void ROOT::Minuit2::MnStrategy::SetHessianGradientNCycles ( unsigned int  n)
inline

Definition at line 67 of file MnStrategy.h.

67 {fHessGradNCyc = n;}

References fHessGradNCyc.

◆ SetHessianNCycles()

void ROOT::Minuit2::MnStrategy::SetHessianNCycles ( unsigned int  n)
inline

Definition at line 64 of file MnStrategy.h.

64 {fHessNCyc = n;}

References fHessNCyc.

◆ SetHessianStepTolerance()

void ROOT::Minuit2::MnStrategy::SetHessianStepTolerance ( double  stp)
inline

Definition at line 65 of file MnStrategy.h.

65 {fHessTlrStp = stp;}

References fHessTlrStp.

◆ SetHighStrategy()

void ROOT::Minuit2::MnStrategy::SetHighStrategy ( )

◆ SetLowStrategy()

void ROOT::Minuit2::MnStrategy::SetLowStrategy ( )

◆ SetMediumStrategy()

void ROOT::Minuit2::MnStrategy::SetMediumStrategy ( )

◆ SetStorageLevel()

void ROOT::Minuit2::MnStrategy::SetStorageLevel ( unsigned int  level)
inline

Definition at line 71 of file MnStrategy.h.

71 { fStoreLevel = level; }

References fStoreLevel.

◆ StorageLevel()

int ROOT::Minuit2::MnStrategy::StorageLevel ( ) const
inline

Definition at line 50 of file MnStrategy.h.

50 { return fStoreLevel; }

References fStoreLevel.

◆ Strategy()

unsigned int ROOT::Minuit2::MnStrategy::Strategy ( ) const
inline

Definition at line 39 of file MnStrategy.h.

39 {return fStrategy;}

References fStrategy.

Member Data Documentation

◆ fGradNCyc

unsigned int ROOT::Minuit2::MnStrategy::fGradNCyc
private

Definition at line 76 of file MnStrategy.h.

Referenced by GradientNCycles(), and SetGradientNCycles().

◆ fGradTlr

double ROOT::Minuit2::MnStrategy::fGradTlr
private

Definition at line 78 of file MnStrategy.h.

Referenced by GradientTolerance(), and SetGradientTolerance().

◆ fGradTlrStp

double ROOT::Minuit2::MnStrategy::fGradTlrStp
private

Definition at line 77 of file MnStrategy.h.

Referenced by GradientStepTolerance(), and SetGradientStepTolerance().

◆ fHessGradNCyc

unsigned int ROOT::Minuit2::MnStrategy::fHessGradNCyc
private

Definition at line 82 of file MnStrategy.h.

Referenced by HessianGradientNCycles(), and SetHessianGradientNCycles().

◆ fHessNCyc

unsigned int ROOT::Minuit2::MnStrategy::fHessNCyc
private

Definition at line 79 of file MnStrategy.h.

Referenced by HessianNCycles(), and SetHessianNCycles().

◆ fHessTlrG2

double ROOT::Minuit2::MnStrategy::fHessTlrG2
private

Definition at line 81 of file MnStrategy.h.

Referenced by HessianG2Tolerance(), and SetHessianG2Tolerance().

◆ fHessTlrStp

double ROOT::Minuit2::MnStrategy::fHessTlrStp
private

Definition at line 80 of file MnStrategy.h.

Referenced by HessianStepTolerance(), and SetHessianStepTolerance().

◆ fStoreLevel

int ROOT::Minuit2::MnStrategy::fStoreLevel
private

Definition at line 83 of file MnStrategy.h.

Referenced by SetStorageLevel(), and StorageLevel().

◆ fStrategy

unsigned int ROOT::Minuit2::MnStrategy::fStrategy
private

Definition at line 74 of file MnStrategy.h.

Referenced by IsHigh(), IsLow(), IsMedium(), and Strategy().


The documentation for this class was generated from the following file: