21 class TFoam :
public TObject {
61 TMethodCall *fMethodCall;
66 Double_t fSumWt, fSumWt2;
69 Double_t fWtMax, fWtMin;
82 virtual void Initialize();
83 virtual void Initialize(TRandom *, TFoamIntegrand *);
84 virtual void InitCells();
85 virtual Int_t CellFill(Int_t, TFoamCell*);
86 virtual void Explore(TFoamCell *Cell);
87 virtual void Carver(Int_t&,Double_t&,Double_t&);
88 virtual void Varedu(Double_t [], Int_t&, Double_t&,Double_t&);
89 virtual void MakeAlpha();
91 virtual Long_t PeekMax();
92 virtual Int_t Divide(TFoamCell *);
93 virtual void MakeActiveList();
94 virtual void GenerCel2(TFoamCell *&);
96 virtual Double_t Eval(Double_t *);
97 virtual void MakeEvent();
98 virtual void GetMCvect(Double_t *);
99 virtual void GetMCwt(Double_t &);
100 virtual Double_t GetMCwt();
101 virtual Double_t MCgenerate(Double_t *MCvect);
103 virtual void GetIntegMC(Double_t&, Double_t&);
104 virtual void GetIntNorm(Double_t&, Double_t&);
105 virtual void GetWtParams(Double_t, Double_t&, Double_t&, Double_t&);
106 virtual void Finalize( Double_t&, Double_t&);
107 virtual TFoamIntegrand *GetRho(){
return fRho;}
108 virtual TRandom *GetPseRan()
const {
return fPseRan;}
109 virtual void SetRhoInt(Double_t (*fun)(Int_t, Double_t *));
110 virtual void SetRho(TFoamIntegrand *Rho);
111 virtual void ResetRho(TFoamIntegrand *Rho);
112 virtual void SetPseRan(TRandom *PseRan){fPseRan=PseRan;}
113 virtual void ResetPseRan(TRandom *PseRan);
115 virtual void SetkDim(Int_t kDim){fDim = kDim;}
116 virtual void SetnCells(Long_t nCells){fNCells =nCells;}
117 virtual void SetnSampl(Long_t nSampl){fNSampl =nSampl;}
118 virtual void SetnBin(Int_t nBin){fNBin = nBin;}
119 virtual void SetChat(Int_t Chat){fChat = Chat;}
120 virtual void SetOptRej(Int_t OptRej){fOptRej =OptRej;}
121 virtual void SetOptDrive(Int_t OptDrive){fOptDrive =OptDrive;}
122 virtual void SetEvPerBin(Int_t EvPerBin){fEvPerBin =EvPerBin;}
123 virtual void SetMaxWtRej(Double_t MaxWtRej){fMaxWtRej=MaxWtRej;}
124 virtual void SetInhiDiv(Int_t, Int_t );
125 virtual void SetXdivPRD(Int_t, Int_t, Double_t[]);
127 virtual const char *GetVersion()
const {
return fVersion.Data();}
128 virtual Int_t GetTotDim()
const {
return fDim;}
129 virtual Double_t GetPrimary()
const {
return fPrime;}
130 virtual void GetPrimary(Double_t &prime) {prime = fPrime;}
131 virtual Long_t GetnCalls()
const {
return fNCalls;}
132 virtual Long_t GetnEffev()
const {
return fNEffev;}
134 virtual void CheckAll(Int_t);
135 virtual void PrintCells();
136 virtual void RootPlot2dim(Char_t*);
137 virtual void LinkCells(
void);
140 Double_t Sqr(Double_t x)
const {
return x*x;}