English Français

Documentation / Developer's manual

Available modules

Calibration,  DataServer,  Launcher,  MetaModelOptim,  Modeler,  Optimizer,  ReLauncher,  Reliability,  ReOptimizer,  Sampler,  Sensitivity,  UncertModeler,  XmlProblem,   Uranie / DataServer: URANIE::DataServer::TLogNormalDistribution Class Reference
Uranie / DataServer v4.9.0
/* @license-end */
URANIE::DataServer::TLogNormalDistribution Class Reference

Description of the class TLogNormalDistribution. More...

#include <TLogNormalDistribution.h>

Inheritance diagram for URANIE::DataServer::TLogNormalDistribution:
Collaboration diagram for URANIE::DataServer::TLogNormalDistribution:

Public Member Functions

Constructor and Destructor
 TLogNormalDistribution ()
 Default constructor.
 
 TLogNormalDistribution (TString name)
 Constructor setting the name.
 
 TLogNormalDistribution (TString name, Double_t M, Double_t errorfactor, Double_t xmin=0.0)
 Constructor setting name, mean and error factor.
 
 TLogNormalDistribution (URANIE::DataServer::TAttribute *att, Double_t M, Double_t errorfactor, Double_t xmin=0.0)
 Construction of a TLogNormalDistribution from an existing TAttribute object.
 
virtual ~TLogNormalDistribution ()
 Default destructor.
 
Law parameters

This law has three parameters: the mean $ M $, the error factor and the minimum value $ x_{min} $. All are defined here. Another function allows to set directly the underlying normal law parameters. Finally, as this law is defined only over the interval $ ]x_{min}, +\inf)$, the functions defining the lower and upper bounds must be redefined.

virtual void setParameterMean (Double_t M, Bool_t recompute=kTRUE)
 Set the mean parameter.
 
Double_t getParameterMean ()
 Return the mean parameter.
 
virtual void setParameterErrorFactor (Double_t errorfactor, Bool_t recompute=kTRUE)
 Set the error factor parameter.
 
Double_t getParameterErrorFactor ()
 Return the error factor parameter.
 
virtual void setParameterXMin (Double_t xmin, Bool_t recompute=kTRUE)
 Set the minimum value parameter.
 
Double_t getParameterXMin ()
 Return the minimum value parameter.
 
virtual void setParameters (Double_t M, Double_t errorfactor, Double_t xmin=0.0, Bool_t recompute=kTRUE)
 Set all the parameters.
 
virtual void setUnderlyingNormalParameters (Double_t mu, Double_t sigma, Bool_t recompute=kTRUE)
 Set the parameters of the underlying normal law.
 
Double_t getUnderlyingNormalParameterMu ()
 Return the mean parameter of the underlying normal law.
 
Double_t getUnderlyingNormalParameterSigma ()
 Return the standard deviation parameter of the underlying normal law.
 
virtual void setLowerBound (Double_t val)
 Sets the lower bound of the attribute.
 
virtual void setUpperBound (Double_t val)
 Sets the upper bound of the attribute.
 
virtual void setBounds (Double_t lower, Double_t upper)
 Sets the lower and upper bounds of the attribute.
 
Distribution specific methods

PDF, CDF, etc.

virtual void computeTheoreticalInformation ()
 Computes the theoretical values of various statistical measures.
 
virtual Double_t getPDF (Double_t x)
 Returns the probability density for the value x.
 
virtual Double_t getCDF (Double_t x)
 Returns the cumulative distribution for the value x.
 
virtual Double_t getInvCDF (Double_t p)
 Returns the value corresponding to the cumulative density p.
 
Printing Log
virtual void printLog (Option_t *option="")
 
- Public Member Functions inherited from URANIE::DataServer::TInfiniteDistribution
 TInfiniteDistribution ()
 Default Constructor.
 
 TInfiniteDistribution (TString str)
 Constructor setting the name.
 
 TInfiniteDistribution (TString str, ELawType value)
 Constructor setting the name and the law type.
 
 TInfiniteDistribution (TAttribute *object, ELawType value)
 Construction of a TInfiniteDistribution from an existing TAttribute object.
 
virtual ~TInfiniteDistribution ()
 Default Destructor.
 
virtual void printLog ()
 Display information specific to this class.
 
- Public Member Functions inherited from URANIE::DataServer::TStochasticAttribute
 TStochasticAttribute ()
 Default Constructor.
 
 TStochasticAttribute (TString str)
 Constructor setting the name.
 
 TStochasticAttribute (TString str, ELawType value)
 Constructor setting the name and the law type.
 
 TStochasticAttribute (TString str, ELawType value, Double_t min, Double_t max)
 Constructor setting the name, the law type, and the range (lower and upper bounds)
 
 TStochasticAttribute (TAttribute *object, ELawType value)
 Construction of a TStochasticAttribute from an existing TAttribute object.
 
virtual ~TStochasticAttribute ()
 Default Destructor.
 
double getPDFforTF1 (double *x)
 
double getCDFforTF1 (double *x)
 
double getInvCDFforTF1 (double *x)
 
virtual Double_t getTheoreticalMean ()
 Returns the theoretical value of the mean.
 
virtual Double_t getTheoreticalStdDev ()
 Returns the theoretical value of the standard deviation.
 
virtual Double_t getTheoreticalMode ()
 Returns the theoretical value of the mode.
 
void setLawType (ELawType value)
 Sets the law type from an integer value.
 
void setLawType (TString name)
 Sets the law type from a law name.
 
int getLawType ()
 Returns the law type as an integer.
 
void setStochasticBasis (EStochasticBasis n)
 Defines an orthogonal polynomial family to represent the stochastic attribute.
 
void setDefaultStochasticBasis ()
 Sets the default orthogonal polynomial family representing the stochastic attribute.
 
EStochasticBasis getStochasticBasis () const
 Returns the orthogonal polynomial which is used to represent the attribute.
 
virtual Double_t getPMin ()
 Returns the minimum value of the cumulative distribution function.
 
virtual Double_t getPMax ()
 Returns the maximum value of the cumulative distribution function.
 
- Public Member Functions inherited from URANIE::DataServer::TAttribute
 TAttribute ()
 Default constructor.
 
 TAttribute (const char *name, const char *title)
 
 TAttribute (TString name)
 Constructor by name only.
 
 TAttribute (TString name, EType type)
 Constructor by name and type only.
 
 TAttribute (TString name, TString value, EType type)
 Constructor by name and range.
 
 TAttribute (TString name, Double_t lower, Double_t upper)
 Constructor by name and range.
 
 TAttribute (const TAttribute &attr)
 Copy constructor.
 
TAttributeClone (const char *newname) const
 Clone an attribute with a new name.
 
virtual ~TAttribute ()
 Default destructor.
 
void checkSizeBeforePush (const char *type, int iel, Double_t val)
 Internal method used to check the validity of all setters when dealing with vectors.
 
Double_t checkSizeBeforeGet (const char *type, int iel=0)
 Internal method used to check the validity of all getters when dealing with vectors and return the request.
 
void setQuantile (double prob, double quantile, int iel=0)
 Set the quantile value.
 
void getQuantilesSize (int &nb, int iel=0)
 Returns the number of quantile computed and stored for element iel.
 
void getQuantiles (double *prob, double *quantile, int iel=0)
 Returns all the probabilities and corresponding quantiles computed for element iel.
 
void getQuantile (double &prob, double &quantile, int iel=0)
 Returns the value of the quantile for element iel, given the probability.
 
void getQuantileVector (double &prob, vector< double > &quantile)
 Returns the vector of quantile given the probability.
 
Double_t getMinimum (int iel=0)
 
Double_t getMinimumSize ()
 Returns the size of the vector of minimum.
 
Bool_t hasDefault ()
 Details whether this attribute has a default value.
 
void setMinimum (Double_t val, int iel=0)
 Set the minimum value oef element iel.
 
Double_t getMaximum (int iel=0)
 
Double_t getMaximumSize ()
 Returns the size of the vector of maximum.
 
void setMaximum (Double_t val, int iel=0)
 Set the maximum value oef element iel.
 
void getStatisticalVector (const char *type, vector< double > &vec)
 Returns the vector of considered statistical value.
 
Double_t getMean (int iel=0)
 
Double_t getMeanSize ()
 Returns the size of the vector of mean.
 
void setMean (Double_t val, int iel=0)
 Set the mean value oef element iel.
 
Double_t getStd (int iel=0)
 
Double_t getStdSize ()
 Returns the size of the vector of std.
 
void setStd (Double_t val, int iel=0)
 Set the std value oef element iel.
 
void setSlurmOption (TString value)
 
EType getDataType () const
 Returns the datatype of the considered attribute.
 
TString getDataTypeStr ()
 Returns the datatype as TString.
 
void setTitle (const char *title)
 Defines the title of the attribute.
 
void setTitle (TString str)
 
TString getTitle ()
 
void setDataType (EType thetype)
 Change the type of data.
 
void setDataType (TString name)
 Change the type of data.
 
TString getLegend ()
 Returns the legend of the attribut.
 
TString getUnit ()
 
void setUnit (TString str)
 
TString getUnity ()
 
void setUnity (TString str)
 
TString getNote ()
 
void setNote (TString str)
 
Bool_t setDefault (TString value)
 
TString getDefault (TString format="%e")
 
Bool_t setDefaultValue (Double_t val)
 
Bool_t getDefaultValue (Double_t &val)
 
Bool_t hasDefaultValue ()
 
Bool_t setDefaultVector (vector< double > &vec)
 
Bool_t getDefaultVector (vector< double > *val)
 
Bool_t hasDefaultVector ()
 
Bool_t setDefaultString (TString str)
 
Bool_t getDefaultString (string &str)
 
Bool_t hasDefaultString ()
 
void setStepValue (Double_t val)
 
Bool_t getStepValue (Double_t &val)
 
TString getSlurmOption ()
 
EOrigin getOrigin ()
 
void setOrigin (EOrigin ind)
 
Int_t getShare ()
 
void setOutput ()
 Sets the attribute as an output attribute.
 
void setInput ()
 Sets the attribute as Input.
 
EAttribute getInputOutput ()
 Returns the input/Output information of the attribute.
 
void setFileNameOfKey (TString str)
 Sets the file name for a key.
 
list< URANIE::DataServer::TAttributeFileKey * > getKeyList ()
 Gets KeyList for the attribute.
 
void setFieldOfKey (Int_t ind)
 Sets index ind in the unique field related to a unique key.
 
void setFieldOfKey (Int_t sIndex, Int_t ind)
 
void setFileKey (TString sfile, TString skey="", TString sformatToSubstitute="%e", TAttributeFileKey::EFileType FileType=TAttributeFileKey::kKey)
 Defines the input files and eventually others informations like key, format to substitute.
 
void setFileFlag (TString sfile, TString skey="", TString sformatToSubstitute="%e")
 Defines the input files as in the "flag" format and eventually others informations like key, format to substitute.
 
void setFileXMLAttribute (TString sfile, TString sXPathAttribute, TString sformatToSubstitute="%e")
 Defines the input files as an "XML" input file with XPath attribute format and eventually the format to substitute.
 
void setFileXMLField (TString sfile, TString sXPathField, TString sformatToSubstitute="%e")
 Defines the input files as an "XML" input file with XPath field and eventually the format to substitute.
 
void setFileFMU (TString sfile, TString sXPathField, TString sformatToSubstitute="%e")
 
const char * getFormatToSubstitute ()
 Returns the format of substitution.
 
void setFormatToSubstitute (TString str)
 Sets the format of substitution.
 
Bool_t isInput ()
 Tests if the attribute is an input attribute.
 
Bool_t isOutput ()
 Tests if the attribute is an output attribute.
 
void addShare ()
 
void delShare ()
 
void initShare ()
 
void clearVectors ()
 
virtual void setLowerBound (Double_t val, bool internalcall=false)
 Sets the lower bound value of the attribute.
 
Double_t getLowerBound ()
 Gets the lower bound value of the attribute.
 
Bool_t isLowerBounded ()
 Returns a boolean if the attribute have a lower bound.
 
virtual void setUpperBound (Double_t val, bool internalcall=false)
 Sets the upper bound value of the attribute.
 
Double_t getUpperBound ()
 Gets the upper bound value of the attribute.
 
Bool_t isUpperBounded ()
 Returns a boolean if the attribute have an upper bound.
 
Bool_t isBounded ()
 Returns a boolean if the attribute have a lower AND an upper bounds.
 
void setLog ()
 
void unsetLog ()
 
void changeLog ()
 
Bool_t getLog ()
 
TAttributegetSonAttribute ()
 
void setSonAttribute (TAttribute *tatt)
 
void removeSonAttribute ()
 
Int_t getLevel ()
 
void setLevel (Int_t nlevel)
 
Bool_t haveSon ()
 

Private Member Functions

void createUnderlyingNormal (Double_t M, Double_t errorfactor)
 Creates the underlying normal distribution.
 

Private Attributes

TNormalDistribution_unormal
 The underlying Normal law.
 
Double_t _dparameterXMin
 The minimum value parameter of the LogNormal law.
 
Double_t _dparameterMean
 The mean parameter of the LogNormal law.
 
Double_t _dparameterErrorFactor
 The error factor parameter of the LogNormal law.
 

Additional Inherited Members

- Public Types inherited from URANIE::DataServer::TStochasticAttribute
enum  ELawType {
  kUniform , kLogUniform , kNormal , kStudent ,
  kLogNormal , kTrapezium , kTriangular , kLogTriangular ,
  kExponential , kBeta , kGamma , kInvGamma ,
  kCauchy , kUniformByParts , kWeibull , kGumbel ,
  kMultinomial , kGenPareto , kGeneralizedNormal , kGeneralizedNormalV2 ,
  kCompose , kUnknown
}
 The list of laws that a TStochasticAttribute can follow. More...
 
enum  EStochasticBasis {
  kUnknownBasis , kHermite , kLegendre , kLaguerre ,
  kJacobi
}
 The list of orthogonal polynomial families that can represent a given TStochasticAttribute. More...
 
- Public Types inherited from URANIE::DataServer::TAttribute
enum  EOrigin {
  kInternal , kIterator , kConstant , kAttribute ,
  kDeleted
}
 
enum  EAttribute { kInput , kOutput }
 
enum  EType {
  kDefault , kReal , kVector , kString ,
  kCategory , kInconnu
}
 
- Protected Attributes inherited from URANIE::DataServer::TStochasticAttribute
ELawType _lawType
 The law type ELawType.
 
Double_t _dtheoreticalMean
 The theoretical mean.
 
Double_t _dtheoreticalStdDev
 The theoretical standard deviation.
 
Double_t _dtheoreticalMode
 The theoretical mode.
 
Double_t _pmin
 The min value of cumulative density function.
 
Double_t _pmax
 The max value of cumulative density function.
 
EStochasticBasis _nStochasticBasis
 The stochastic representation of an orthogonal basis.
 
- Protected Attributes inherited from URANIE::DataServer::TAttribute
TString _sunity
 Unity.
 
TString _snote
 Note.
 
Bool_t _blog
 Log printing.
 
Int_t _nshare
 The number of time this attribute is shared in TDataServer.
 
TAttribute_attSon
 Son attribute.
 
Int_t _nlevel
 level to its "father"
 
Bool_t _haveSon
 true if the attribute have a son
 
TString _sFormatSubstitute
 Format to substitute the value.
 
list< TEventList * > _nfields
 List of all TEventLists created for the attribute.
 
list< TAttributeFileKey * > _KeyList
 List of Keys Attributes structures.
 
Double_t upperBound
 Upper bound.
 
Bool_t _bHaveUpperBound
 If have an upper bound.
 
Double_t lowerBound
 Lower bound.
 
Bool_t _bHaveLowerBound
 If have a lower bound.
 
Double_t _defaultValue
 Default value.
 
Bool_t _bHaveDefaultValue
 If have a default value.
 
vector< double > _defaultVector
 Default value for vector.
 
Bool_t _bHaveDefaultVector
 If have a default value for vector.
 
string _defaultString
 Default value for string.
 
Bool_t _bHaveDefaultString
 If have a default value for string.
 
Double_t _stepValue
 Step value when using in Optimization.
 
Bool_t _bHaveStepValue
 If have a step value.
 
vector< Double_t > _vminimum
 All minimun calculated.
 
vector< Double_t > _vmaximum
 All maximun calculated.
 
vector< Double_t > _vmean
 All mean calculated.
 
vector< Double_t > _vstd
 All std calculated.
 
vector< Double_t > * _vbuffer
 
vector< map< double, double > * > _vquantile
 

‍buffer pointer to check addresses


 
EOrigin _norigin
 The origin of the attribute (Internal of uranie, attribute or Input, Output...)
 
EAttribute _nAttribute
 The nature of attributes : kInput (default) or kOutput.
 
EType _nType
 The type of attribute: real (double), vector (of double), string...
 
TString _slurmValue
 

Detailed Description

Description of the class TLogNormalDistribution.

This class defines a stochastic attribute following an LogNormal distribution.

A positive random variable $ x $ is said to follow a LogNormal law when $ \ln{x}$ follows a Normal law.

In URANIE, the LogNormal law is defined by three parameters: the minimum value of the distribution $ x_{min} $ , the mean of the LogNormal law $ M = \mathrm{I\!E}\left[~x~\right] $ and a coefficient, called Error Factor which represents the ratio between the value of the $95^\textrm{th}$ percentile and the median value of the LogNormal distribution. The mean is strictly positive, and the error factor is greater than 1.0.

The error factor can be computed from the mean and variance of the LogNormal law:

  • $ ErrorFactor = \exp(1.645 * \sqrt{\ln(A+1)}) $ where $ A = V/(M-x_{min})^2   $ and $ V $ is the variance of the LogNormal law.

In addition, each LogNormal law is related to a Normal law. The relation between the Normal law parameters and the LogNormal law parameters is given by:

  • $ \sigma = \ln{\left(ErrorFactor\right)} / 1.645 $
  • $ \mu = \ln{\left(M-x_{min}\right)} - 0.5 * \sigma^2 $

In the equations below, the parameters $ \mu $ and $ \sigma $ are the parameters of the related Normal law.

Probability Density Function (PDF):
  • $ f(x) = 1/((x-x_{min})\sigma\sqrt{2\pi}) * \exp\left( -\left(\ln(x-x_{min})-\mu\right)^2 / 2\sigma^2 \right) $ for $ x > x_{min} $
Cumulative Distribution Function (CDF):
  • $ F(x) = 0.5 * \left( 1 + erf\left( \left(\ln(x-x_{min}) - \mu\right) / \sqrt{2\sigma^2} \right) \right)$ for $ x > 0 $
Inverse CDF:
For a given $ p \in [0,1] $, if $ X $ is generated from the inverse of the related Normal law:
  • $ F^{-1}(p) = \exp(X) + x_{min}$

Constructor & Destructor Documentation

◆ TLogNormalDistribution() [1/4]

URANIE::DataServer::TLogNormalDistribution::TLogNormalDistribution ( )

Default constructor.

Default mean is 0.01, default error factor is 10.0, default minimum value is 0.0

Referenced by ClassImp().

◆ TLogNormalDistribution() [2/4]

URANIE::DataServer::TLogNormalDistribution::TLogNormalDistribution ( TString  name)

Constructor setting the name.

Default mean is 0.01, default error factor is 10.0, default minimum value is 0.0

Parameters
name(TString) Name of the attribute

◆ TLogNormalDistribution() [3/4]

URANIE::DataServer::TLogNormalDistribution::TLogNormalDistribution ( TString  name,
Double_t  M,
Double_t  errorfactor,
Double_t  xmin = 0.0 
)

Constructor setting name, mean and error factor.

Parameters
name(TString) Name of the attribute
M(Double_t) Mean parameter $ M $
errorfactor(Double_t) Error factor parameter
xmin(Double_t) Minimum value parameter (Default = 0.0)

◆ TLogNormalDistribution() [4/4]

URANIE::DataServer::TLogNormalDistribution::TLogNormalDistribution ( URANIE::DataServer::TAttribute att,
Double_t  M,
Double_t  errorfactor,
Double_t  xmin = 0.0 
)

Construction of a TLogNormalDistribution from an existing TAttribute object.

Warning
this copy constructor is incomplete. Please do not use. (Nicolas Gilardi, 2010.06.11)
Parameters
att(TAttribute *) Pointer to an existing TAttribute object
M(Double_t) Mean parameter $ M $
errorfactor(Double_t) Error factor parameter
xmin(Double_t) Minimum value parameter (Default = 0.0)

◆ ~TLogNormalDistribution()

virtual URANIE::DataServer::TLogNormalDistribution::~TLogNormalDistribution ( )
virtual

Default destructor.

Referenced by ClassImp().

Member Function Documentation

◆ computeTheoreticalInformation()

virtual void URANIE::DataServer::TLogNormalDistribution::computeTheoreticalInformation ( )
virtual

Computes the theoretical values of various statistical measures.

Implements URANIE::DataServer::TStochasticAttribute.

Referenced by ClassImp().

◆ createUnderlyingNormal()

void URANIE::DataServer::TLogNormalDistribution::createUnderlyingNormal ( Double_t  M,
Double_t  errorfactor 
)
private

Creates the underlying normal distribution.

Parameters
M(Double_t) the mean of the LogNormal law
errorfactor(Double_t) the error factor of the LogNormal law

Referenced by ClassImp().

◆ getCDF()

virtual Double_t URANIE::DataServer::TLogNormalDistribution::getCDF ( Double_t  x)
virtual

Returns the cumulative distribution for the value x.

Parameters
x(Double_t) An acceptable value for the attribute

Implements URANIE::DataServer::TStochasticAttribute.

Referenced by ClassImp().

◆ getInvCDF()

virtual Double_t URANIE::DataServer::TLogNormalDistribution::getInvCDF ( Double_t  p)
virtual

Returns the value corresponding to the cumulative density p.

Parameters
p(Double_t) A valid probability
Exceptions
UErrorExceptionsif p is outside of the interval [0,1]

Implements URANIE::DataServer::TStochasticAttribute.

Referenced by ClassImp().

◆ getParameterErrorFactor()

Double_t URANIE::DataServer::TLogNormalDistribution::getParameterErrorFactor ( )
inline

Return the error factor parameter.

References _dparameterErrorFactor.

◆ getParameterMean()

Double_t URANIE::DataServer::TLogNormalDistribution::getParameterMean ( )
inline

Return the mean parameter.

References _dparameterMean.

◆ getParameterXMin()

Double_t URANIE::DataServer::TLogNormalDistribution::getParameterXMin ( )
inline

Return the minimum value parameter.

References _dparameterXMin.

◆ getPDF()

virtual Double_t URANIE::DataServer::TLogNormalDistribution::getPDF ( Double_t  x)
virtual

Returns the probability density for the value x.

Parameters
x(Double_t) An acceptable value for the attribute

Implements URANIE::DataServer::TStochasticAttribute.

Referenced by ClassImp().

◆ getUnderlyingNormalParameterMu()

Double_t URANIE::DataServer::TLogNormalDistribution::getUnderlyingNormalParameterMu ( )
inline

Return the mean parameter of the underlying normal law.

References _unormal, and URANIE::DataServer::TNormalDistribution::getParameterMu().

◆ getUnderlyingNormalParameterSigma()

Double_t URANIE::DataServer::TLogNormalDistribution::getUnderlyingNormalParameterSigma ( )
inline

Return the standard deviation parameter of the underlying normal law.

References _unormal, and URANIE::DataServer::TNormalDistribution::getParameterSigma().

◆ printLog()

virtual void URANIE::DataServer::TLogNormalDistribution::printLog ( Option_t *  option = "")
virtual

◆ setBounds()

virtual void URANIE::DataServer::TLogNormalDistribution::setBounds ( Double_t  lower,
Double_t  upper 
)
virtual

Sets the lower and upper bounds of the attribute.

As we are dealing with a law defined over the interval $ ]0, +\inf)$, setting a finite upper bound or a lower bound greater than 0.0 means that the law is truncated. The _pmin and _pmax values must be recalculated.

Parameters
lower(Double_t) The value of the new lower bound
upper(Double_t) The value of the new upper bound
Exceptions
UErrorExceptionsif the upper bound is inferior to the lower bound

Reimplemented from URANIE::DataServer::TInfiniteDistribution.

Referenced by ClassImp().

◆ setLowerBound()

virtual void URANIE::DataServer::TLogNormalDistribution::setLowerBound ( Double_t  val)
virtual

Sets the lower bound of the attribute.

As we are dealing with a law defined over the interval $ ]0, +\inf)$, setting a lower bound greater than 0 means the law is truncated. The _pmin value must be recalculated.

Parameters
val(Double_t) The value of the new lower bound
Exceptions
UErrorExceptionsif val is superior to the upper bound
UErrorExceptionsif val is smaller than $ x_{min} $

Reimplemented from URANIE::DataServer::TInfiniteDistribution.

Referenced by ClassImp().

◆ setParameterErrorFactor()

virtual void URANIE::DataServer::TLogNormalDistribution::setParameterErrorFactor ( Double_t  errorfactor,
Bool_t  recompute = kTRUE 
)
virtual

Set the error factor parameter.

Parameters
errorfactor(Double_t) Error factor parameter
recompute(Bool_t) should we recompute the theoretical information ? (Default = kTRUE)
Exceptions
UErrorExceptionsif (errorfactor - 1) < 1e-6

Referenced by ClassImp().

◆ setParameterMean()

virtual void URANIE::DataServer::TLogNormalDistribution::setParameterMean ( Double_t  M,
Bool_t  recompute = kTRUE 
)
virtual

Set the mean parameter.

Parameters
M(Double_t) Mean parameter $ \mu $
recompute(Bool_t) should we recompute the theoretical information ? (Default = kTRUE)
Exceptions
UErrorExceptionsif $ M - x_{min} < x_{min} * 1e-6 $

Referenced by ClassImp().

◆ setParameters()

virtual void URANIE::DataServer::TLogNormalDistribution::setParameters ( Double_t  M,
Double_t  errorfactor,
Double_t  xmin = 0.0,
Bool_t  recompute = kTRUE 
)
virtual

Set all the parameters.

Parameters
M(Double_t) Mean parameter $ M $
errorfactor(Double_t) Error factor parameter
xmin(Double_t) Minimum value parameter (Default = 0.0)
recompute(Bool_t) should we recompute the theoretical information ? (Default = kTRUE)
Exceptions
UErrorExceptionsif $ M - x_{min} < x_{min} * 1e-6 $

Referenced by ClassImp().

◆ setParameterXMin()

virtual void URANIE::DataServer::TLogNormalDistribution::setParameterXMin ( Double_t  xmin,
Bool_t  recompute = kTRUE 
)
virtual

Set the minimum value parameter.

Parameters
xmin(Double_t) Minimum value parameter $ x_{min} $
recompute(Bool_t) should we recompute the theoretical information ? (Default = kTRUE)
Exceptions
UErrorExceptionsif $ M - x_{min} < x_{min} * 1e-6 $

Referenced by ClassImp().

◆ setUnderlyingNormalParameters()

virtual void URANIE::DataServer::TLogNormalDistribution::setUnderlyingNormalParameters ( Double_t  mu,
Double_t  sigma,
Bool_t  recompute = kTRUE 
)
virtual

Set the parameters of the underlying normal law.

This function allows to set the parameters of the underlying Normal law. The LogNormal law parameters (mean and error factor) are automatically updated.

Parameters
mu(Double_t) Mean parameter of the underlying normal law
sigma(Double_t) Standard deviation parameter of the underlying normal law
recompute(Bool_t) should we recompute the theoretical information ? (Default = kTRUE)
Warning
the minimum value $ x_{min} $ of the LogNormal law is unknown to the underlying normal law. If $ x_{min} \neq 0.0$, it must be set using TLogNormalDistribution::setParameterXMin()

Referenced by ClassImp().

◆ setUpperBound()

virtual void URANIE::DataServer::TLogNormalDistribution::setUpperBound ( Double_t  val)
virtual

Sets the upper bound of the attribute.

As we are dealing with a law defined over the interval $ ]0, +\inf)$, setting a finite upper bound means that the law is truncated. The _pmax value must be recalculated.

Parameters
val(Double_t) The value of the new upper bound
Exceptions
UErrorExceptionsif val is inferior to the lower bound

Reimplemented from URANIE::DataServer::TInfiniteDistribution.

Referenced by ClassImp().

Member Data Documentation

◆ _dparameterErrorFactor

Double_t URANIE::DataServer::TLogNormalDistribution::_dparameterErrorFactor
private

The error factor parameter of the LogNormal law.

Referenced by ClassImp(), and getParameterErrorFactor().

◆ _dparameterMean

Double_t URANIE::DataServer::TLogNormalDistribution::_dparameterMean
private

The mean parameter of the LogNormal law.

Referenced by ClassImp(), and getParameterMean().

◆ _dparameterXMin

Double_t URANIE::DataServer::TLogNormalDistribution::_dparameterXMin
private

The minimum value parameter of the LogNormal law.

Referenced by ClassImp(), and getParameterXMin().

◆ _unormal

TNormalDistribution* URANIE::DataServer::TLogNormalDistribution::_unormal
private

The underlying Normal law.

Referenced by ClassImp(), getUnderlyingNormalParameterMu(), and getUnderlyingNormalParameterSigma().