/*
$Log$
+Revision 1.6 1999/11/03 17:43:20 fca
+New version from G.Martinez & A.Morsch
+
Revision 1.5 1999/09/29 09:24:14 fca
Introduction of the Copyright and cvs Log
}
for(i=0;i<fNpart;i++) {
gMC->Rndm(random,3);
- pmom=fPMin+random[0]*(fPMax-fPMin);
- theta=fThetaMin+random[1]*(fThetaMax-fThetaMin);
- phi=fPhiMin+random[2]*(fPhiMax-fPhiMin);
- p[0] = pmom*TMath::Cos(phi)*TMath::Sin(theta);
- p[1] = pmom*TMath::Sin(phi)*TMath::Sin(theta);
- p[2] = pmom*TMath::Cos(theta);
+ do {
+ pmom=fPMin+random[0]*(fPMax-fPMin);
+ theta=fThetaMin+random[1]*(fThetaMax-fThetaMin);
+ phi=fPhiMin+random[2]*(fPhiMax-fPhiMin);
+ p[0] = pmom*TMath::Cos(phi)*TMath::Sin(theta);
+ p[1] = pmom*TMath::Sin(phi)*TMath::Sin(theta);
+ p[2] = pmom*TMath::Cos(theta);
+ } while (fPtMin<=TMath::Sqrt(p[0]*p[0]+p[1]*p[1]) &&
+ TMath::Sqrt(p[0]*p[0]+p[1]*p[1])<=fPtMax);
if(fVertexSmear==perTrack) {
gMC->Rndm(random,6);
for (j=0;j<3;j++) {
{fOsigma[0]=sx;fOsigma[1]=sy;fOsigma[2]=sz;}
virtual void SetMomentumRange(Float_t pmin=0, Float_t pmax=1.e10)
{fPMin = pmin; fPMax = pmax;}
- virtual void SetPtRange(Float_t ptmin=0, Float_t ptmax=20.)
+ virtual void SetPtRange(Float_t ptmin=0, Float_t ptmax=1.e10)
{fPtMin = ptmin; fPtMax = ptmax;}
virtual void SetPhiRange(Float_t phimin=-180., Float_t phimax=180)
{fPhiMin = TMath::Pi()*phimin/180;