--- PamVMC/include/PamVMCPrimaryGenerator.h 2009/02/19 16:50:36 1.1 +++ PamVMC/include/PamVMCPrimaryGenerator.h 2009/06/12 18:39:19 1.5 @@ -9,7 +9,8 @@ #include #include #include -#include +#include +#include #include "PamRootManager.h" @@ -78,11 +79,11 @@ // gen methods void GenPosition(Double_t xmin, Double_t xmax, Double_t ymin, Double_t ymax, Double_t zmin, Double_t zmax){ - SetPosition(frnd->Uniform(xmin,xmax),frnd->Uniform(ymin,ymax),frnd->Uniform(zmin,zmax)); } - - void GenDirection(Double_t thetamin, Double_t thetamax, Double_t phimin, Double_t phimax){ - SetDirection(frnd->Uniform(thetamin,thetamax),frnd->Uniform(phimin,phimax)); } + SetPosition(frandom->Uniform(xmin,xmax),frandom->Uniform(ymin,ymax),frandom->Uniform(zmin,zmax)); } + void GenDirection(Double_t thetamin, Double_t thetamax, Double_t phimin, Double_t phimax){ + SetDirection(ftheta->GetRandom(thetamin, thetamax), frandom->Uniform(phimin,phimax)); + } //flat spectra generator void GenSpe(Double_t PEmin, Double_t PEmax, Bool_t isEnergy=kFALSE); //power law spectra, gamma - differential spectral index @@ -102,6 +103,11 @@ Bool_t Getgood(){ return fprim.fGOOD; }; + //initialize random + void SetRandom(TRandom* random){ + frandom = random; + } + //work with collection of primaries void Register(){ @@ -129,8 +135,8 @@ Double_t fmass; Double_t fcharge; TClonesArray* fprimColl; - - TRandom3 * frnd; + TRandom* frandom; // Class is not a owner of this object + TF1* ftheta; // To generate sherical distributhin in theta-angle ClassDef(PamVMCPrimaryGenerator,1) //PamVMCPrimaryGenerator };