96 virtual void Carver(Int_t&,Double_t&,Double_t&);
97 virtual void Varedu(Double_t [], Int_t&, Double_t&,Double_t&);
105 virtual Double_t
Eval(Double_t *);
108 virtual void GetMCwt(Double_t &);
110 virtual Double_t
MCgenerate(Double_t *MCvect);
112 virtual void GetIntegMC(Double_t&, Double_t&);
113 virtual void GetIntNorm(Double_t&, Double_t&);
114 virtual void GetWtParams(Double_t, Double_t&, Double_t&, Double_t&);
115 virtual void Finalize( Double_t&, Double_t&);
118 virtual void SetRhoInt(Double_t (*fun)(Int_t, Double_t *));
124 virtual void SetkDim(Int_t kDim){fDim = kDim;}
127 virtual void SetnBin(Int_t nBin){fNBin = nBin;}
128 virtual void SetChat(Int_t Chat){fChat = Chat;}
134 virtual void SetXdivPRD(Int_t, Int_t, Double_t[]);
136 virtual const char *
GetVersion()
const {
return fVersion.Data();}
149 Double_t
Sqr(Double_t
x)
const {
return x*
x;}
Int_t fNoAct
Lists of division values encoded in one vector per direction.
virtual void CheckAll(Int_t)
User utility, miscellaneous and debug.
virtual void RootPlot2dim(Char_t *)
Debugging tool which plots 2-dimensional cells as rectangles in C++ format readable for root...
virtual Long_t GetnEffev() const
virtual void LinkCells(void)
virtual Long_t PeekMax()
Internal subprogram used by Initialize.
virtual void GetWtParams(Double_t, Double_t &, Double_t &, Double_t &)
May be called optionally after the MC run.
Int_t fOptPRD
[fDim] Flags for inhibiting cell division
virtual void Varedu(Double_t [], Int_t &, Double_t &, Double_t &)
Internal subrogram used by Initialize.
virtual Double_t MCgenerate(Double_t *MCvect)
User subprogram which generates MC event and returns MC weight.
virtual const char * GetVersion() const
virtual void MakeEvent()
User subprogram.
virtual ~TFoam()
Default destructor.
virtual void SetChat(Int_t Chat)
virtual void SetRhoInt(Double_t(*fun)(Int_t, Double_t *))
User may use this method to set the distribution object as a global function pointer (and not as an i...
virtual void GenerCel2(TFoamCell *&)
Internal subprogram.
virtual void MakeActiveList()
Internal subrogram used by Initialize.
virtual void Grow()
Internal subrogram used by Initialize.
virtual void SetXdivPRD(Int_t, Int_t, Double_t[])
This should be called before Initialize, after setting kDim It predefines values of the cell division...
virtual Double_t GetMCwt()
User may get weight MC weight using this method.
virtual void ResetRho(TFoamIntegrand *Rho)
User may optionally reset the distribution using this method Usually it is done when FOAM object is r...
TMethodCall * fMethodCall
Pointer to the user-defined integrand function/distribution.
This is the base class for the ROOT Random number generators.
virtual void PrintCells()
Prints geometry of ALL cells of the FOAM.
virtual void SetOptRej(Int_t OptRej)
virtual void SetnBin(Int_t nBin)
Double_t Sqr(Double_t x) const
virtual Double_t GetPrimary() const
virtual TFoamIntegrand * GetRho()
virtual void Finalize(Double_t &, Double_t &)
May be called optionally by the user after the MC run.
virtual void MakeAlpha()
Internal subrogram used by Initialize.
virtual void GetMCvect(Double_t *)
User may get generated MC point/vector with help of this method.
virtual void SetInhiDiv(Int_t, Int_t)
This can be called before Initialize, after setting kDim It defines which variables are excluded in t...
virtual void Initialize()
Basic initialization of FOAM invoked by the user.
virtual void SetnSampl(Long_t nSampl)
* x
Deprecated and error prone model selection interface.
virtual void SetnCells(Long_t nCells)
virtual void Carver(Int_t &, Double_t &, Double_t &)
Internal subrogram used by Initialize.
virtual void GetPrimary(Double_t &prime)
virtual void SetPseRan(TRandom *PseRan)
virtual TRandom * GetPseRan() const
virtual void InitCells()
Internal subprogram used by Initialize.
virtual void SetMaxWtRej(Double_t MaxWtRej)
virtual Int_t GetTotDim() const
virtual Int_t CellFill(Int_t, TFoamCell *)
Internal subprogram used by Initialize.
virtual void SetOptDrive(Int_t OptDrive)
virtual void GetIntNorm(Double_t &, Double_t &)
User subprogram.
virtual void Explore(TFoamCell *Cell)
Internal subprogram used by Initialize.
virtual void ResetPseRan(TRandom *PseRan)
User may optionally reset random number generator using this method Usually it is done when FOAM obje...
virtual Long_t GetnCalls() const
virtual void SetEvPerBin(Int_t EvPerBin)
virtual Double_t Eval(Double_t *)
Internal subprogram.
virtual Int_t Divide(TFoamCell *)
Internal subrogram used by Initialize.
Int_t * fInhiDiv
[fDim] Dynamic Mask for cell division
virtual void SetRho(TFoamIntegrand *Rho)
User may use this method to set the distribution object.
virtual void GetIntegMC(Double_t &, Double_t &)
User subprogram.
virtual void SetkDim(Int_t kDim)
TFoam()
Default constructor for streamer, user should not use it.
TRandom * fPseRan
ROOT's pointer to user-defined global distribution function.