#ifndef ROOT_TUnuran
#define ROOT_TUnuran
#include <string>
#include "TUnuranDistr.h"
#include "TUnuranDistrMulti.h"
struct unur_gen;
typedef struct unur_gen UNUR_GEN;
struct unur_distr;
typedef struct unur_distr UNUR_DISTR;
class TRandom;
class TUnuranDistr;
class TUnuran {
public:
TUnuran (TRandom * r = 0, unsigned int log = 0);
~TUnuran ();
private:
TUnuran(const TUnuran &);
TUnuran & operator = (const TUnuran & rhs);
public:
bool Init(const std::string & distr, const std::string & method);
bool Init(const TUnuranDistr & distr, const std::string & method = "method=auto");
bool Init(const TUnuranDistrMulti & distr, const std::string & method = "method=hitro",bool useLogpdf = false);
bool SetMethod(const std::string & method);
bool Rinit();
double Sample();
bool SampleMulti(double * x);
bool SetLogLevel(unsigned int iflag = 1);
bool SetLogStream() { return false;}
protected:
bool SetRandomGenerator();
bool SetDistribution( );
bool SetDistributionMulti( );
UNUR_GEN * fGen;
UNUR_DISTR * fUdistr;
TUnuranDistr fDistr;
TUnuranDistrMulti fDistrMulti;
bool fUseLogpdf;
TRandom * fRng;
std::string fMethod;
};
#endif /* ROOT_Math_TUnuran */
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.