Docs | All | Real | Category | PDF | DataSet | Plot | Container | Misc | Aux | User

RooFit Toolkit for Data Modeling
#include "RooQuasiRandomGenerator.hh"

RooQuasiRandomGenerator


class description - source file - inheritance tree (.pdf)

class RooQuasiRandomGenerator

Inheritance Chart:
RooQuasiRandomGenerator

    protected:
Int_t add(Int_t x, Int_t y) const void calculateCoefs(UInt_t dimension) void calculateV(const int* px, int px_degree, int* pb, int* pb_degree, int* v, int maxv) Int_t mul(Int_t x, Int_t y) const void polyMultiply(const int* pa, int pa_degree, const int* pb, int pb_degree, int* pc, int* pc_degree) Int_t sub(Int_t x, Int_t y) const public:
RooQuasiRandomGenerator() RooQuasiRandomGenerator(const RooQuasiRandomGenerator&) virtual ~RooQuasiRandomGenerator() static TClass* Class() Bool_t generate(UInt_t dimension, Double_t* vector) virtual TClass* IsA() const RooQuasiRandomGenerator& operator=(const RooQuasiRandomGenerator&) void reset() virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
Int_t* _nextq Int_t _sequenceCount static Bool_t _coefsCalculated static Int_t _cj[31][12] static const Int_t _primitivePoly[13][6] static const Int_t _polyDegree[13] public:
static const enum RooQuasiRandomGenerator:: MaxDimension static const enum RooQuasiRandomGenerator:: NBits static const enum RooQuasiRandomGenerator:: MaxDegree static const enum RooQuasiRandomGenerator:: MaxPrimitiveDegree

Class Description

 This class generates the quasi-random (aka "low discrepancy")
 sequence for dimensions up to 12 using the Niederreiter base 2
 algorithm described in Bratley, Fox, Niederreiter, ACM Trans.
 Model. Comp. Sim. 2, 195 (1992). This implementation was adapted
 from the 0.9 beta release of the GNU scientific library.
 Quasi-random number sequences are useful for improving the
 convergence of a Monte Carlo integration.

RooQuasiRandomGenerator()
 Perform one-time initialization of our static coefficient array if necessary
 and initialize our workspace.

~RooQuasiRandomGenerator()

void reset()
 Reset the workspace to its initial state.

Bool_t generate(UInt_t dimension, Double_t vector[])
 Generate the next number in the sequence for the specified dimension.
 The maximum dimension supported is 12.

void calculateCoefs(UInt_t dimension)

void calculateV(const int px[], int px_degree, int pb[], int * pb_degree, int v[], int maxv)

void polyMultiply(const int pa[], int pa_degree, const int pb[], int pb_degree, int pc[], int * pc_degree)



Inline Functions


                           Int_t add(Int_t x, Int_t y) const
                           Int_t mul(Int_t x, Int_t y) const
                           Int_t sub(Int_t x, Int_t y) const
                         TClass* Class()
                         TClass* IsA() const
                            void ShowMembers(TMemberInspector& insp, char* parent)
                            void Streamer(TBuffer& b)
                            void StreamerNVirtual(TBuffer& b)
         RooQuasiRandomGenerator RooQuasiRandomGenerator(const RooQuasiRandomGenerator&)
        RooQuasiRandomGenerator& operator=(const RooQuasiRandomGenerator&)
Last CVS Update: v 1.11 2005/06/20 15:44:56 wverkerke Top
Copyright © 2000-2005 University of California, Stanford University

Page maintained by Wouter Verkerke and David Kirkby

SourceForge.net Logo