18#ifndef ROO_FOAM_GENERATOR
19#define ROO_FOAM_GENERATOR
32class RooNumGenFactory ;
34class RooFoamGenerator :
public RooAbsNumGenerator {
36 RooFoamGenerator() =
default;
37 RooFoamGenerator(
const RooAbsReal &func,
const RooArgSet &genVars,
const RooNumGenConfig& config,
bool verbose=
false,
const RooAbsReal* maxFuncVal=
nullptr);
38 RooAbsNumGenerator* clone(
const RooAbsReal& func,
const RooArgSet& genVars,
const RooArgSet& ,
39 const RooNumGenConfig& config,
bool verbose=
false,
const RooAbsReal* maxFuncVal=
nullptr)
const override {
40 return new RooFoamGenerator(func,genVars,config,verbose,maxFuncVal) ;
43 const RooArgSet *generateEvent(
UInt_t remaining,
double& resampleRatio)
override;
45 TFoam& engine() {
return *_tfoam; }
47 bool canSampleConditional()
const override {
return false ; }
48 bool canSampleCategories()
const override {
return false ; }
50 std::string
const& generatorName()
const override;
54 friend class RooNumGenFactory ;
55 static void registerSampler(RooNumGenFactory& fact) ;
57 std::unique_ptr<TFoamIntegrand> _binding;
58 std::unique_ptr<TFoam> _tfoam;
59 std::vector<double> _xmin ;
60 std::vector<double> _range;
61 std::vector<double> _vec;
unsigned int UInt_t
Unsigned integer 4 bytes (unsigned int).
Abstract base class for objects that represent a real value and implements functionality common to al...
Container class to hold unbinned data.
Variable that can be changed from the outside.