Adding check for pt range in AliGenBox
authorfca <fca@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 7 Jun 2000 16:29:58 +0000 (16:29 +0000)
committerfca <fca@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 7 Jun 2000 16:29:58 +0000 (16:29 +0000)
EVGEN/AliSimpleGen.cxx
STEER/AliGenerator.h

index ad736ff..39b0769 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $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
 
@@ -387,12 +390,15 @@ void AliGenBox::Generate()
   }
   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++) {
index d151fdd..5975a4e 100644 (file)
@@ -59,7 +59,7 @@ protected:
        {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;