/usr/include/root/Math/DistSamplerOptions.h is in libroot-math-mathcore-dev 5.34.19+dfsg-1.2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | // @(#)root/mathcore:$Id$
// Author: L. Moneta Fri Aug 15 2008
/**********************************************************************
* *
* Copyright (c) 2008 LCG ROOT Math Team, CERN/PH-SFT *
* *
* *
**********************************************************************/
#ifndef ROOT_Math_DistSamplerOptions
#define ROOT_Math_DistSamplerOptions
#include <string>
#include <iostream>
namespace ROOT {
namespace Math {
class IOptions;
//_______________________________________________________________________________
/**
DistSampler options class
@ingroup NumAlgo
*/
class DistSamplerOptions {
public:
// static methods for setting and retrieving the default options
static void SetDefaultSampler(const char * type);
static void SetDefaultAlgorithm1D(const char * algo );
static void SetDefaultAlgorithmND(const char * algo );
static void SetDefaultPrintLevel(int level);
static const std::string & DefaultSampler();
static const std::string & DefaultAlgorithm1D();
static const std::string & DefaultAlgorithmND();
static int DefaultPrintLevel();
/// retrieve extra options - if not existing create a IOptions
static ROOT::Math::IOptions & Default(const char * name);
// find extra options - return 0 if not existing
static ROOT::Math::IOptions * FindDefault(const char * name);
/// print all the default options for the name given
static void PrintDefault(const char * name, std::ostream & os = std::cout);
public:
// constructor using the default options
// pass optionally a pointer to the additional options
// otherwise look if they exist for this default minimizer
// and in that case they are copied in the constructed instance
// constructor takes dimension since a different default algorithm
// is used if the dimension is 1 or greater than 1
DistSamplerOptions(int dim = 0);
// destructor
~DistSamplerOptions();
// copy constructor
DistSamplerOptions(const DistSamplerOptions & opt);
/// assignment operators
DistSamplerOptions & operator=(const DistSamplerOptions & opt);
/** non-static methods for retrivieng options */
/// set print level
int PrintLevel() const { return fLevel; }
/// return extra options (NULL pointer if they are not present)
IOptions * ExtraOptions() const { return fExtraOptions; }
/// type of minimizer
const std::string & Sampler() const { return fSamplerType; }
/// type of algorithm
const std::string & Algorithm() const { return fAlgoType; }
/// print all the options
void Print(std::ostream & os = std::cout) const;
/** non-static methods for setting options */
/// set print level
void SetPrintLevel(int level) { fLevel = level; }
/// set minimizer type
void SetSampler(const char * type) { fSamplerType = type; }
/// set minimizer algorithm
void SetAlgorithm(const char *type) { fAlgoType = type; }
/// set extra options (in this case pointer is cloned)
void SetExtraOptions(const IOptions & opt);
private:
int fLevel; // debug print level
std::string fSamplerType; // DistSampler type (Unuran, Foam, etc...)xs
std::string fAlgoType; // DistSampler algorithmic specification (for Unuran only)
// extra options
ROOT::Math::IOptions * fExtraOptions; // extra options
};
} // end namespace Math
} // end namespace ROOT
#endif
|