]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVGEN/AliGenBox.cxx
Introduce parameter class
[u/mrichter/AliRoot.git] / EVGEN / AliGenBox.cxx
index 52cc3101356511fa580fb3da2807d013c7083a6c..416c5c0dd709dde1922b8b490391e9495dc7a0df 100644 (file)
 
 /*
 $Log$
-*/
+Revision 1.6  2001/07/27 17:09:35  morsch
+Use local SetTrack, KeepTrack and SetHighWaterMark methods
+to delegate either to local stack or to stack owned by AliRun.
+(Piotr Skowronski, A.M.)
 
-/*
-Old Log:
-Revision 1.8  2000/06/08 13:34:50  fca
-Better control of momentum range in GenBox
+Revision 1.5  2000/12/21 16:24:06  morsch
+Coding convention clean-up
+
+Revision 1.4  2000/11/30 07:12:49  alibrary
+Introducing new Rndm and QA classes
 
-Revision 1.7  2000/06/07 16:29:58  fca
-Adding check for pt range in AliGenBox
+Revision 1.3  2000/10/02 21:28:06  fca
+Removal of useless dependecies via forward declarations
 
-Revision 1.6  1999/11/03 17:43:20  fca
-New version from G.Martinez & A.Morsch
+Revision 1.2  2000/07/11 18:24:55  fca
+Coding convention corrections + few minor bug fixes
+
+Revision 1.1  2000/06/09 20:22:58  morsch
+Same class as previously in AliSimpleGen.cxx
+All coding rule violations except RS3 corrected (AM)
 
-Revision 1.5  1999/09/29 09:24:14  fca
-Introduction of the Copyright and cvs Log
 */
 
-///////////////////////////////////////////////////////////////////
-//                                                               //
-//    Generate the final state of the interaction as the input   //
-//    to the MonteCarlo                                          //
+
+
+// Generator for particles in a preset
+// kinematic range (flat distribution)
+// Note that for a given theta pt and p are not independent 
+// Range for only one variable (pt or p) should be given.
+//
+// Comments and suggestions: andreas.morsch@cern.ch
 //
 //Begin_Html
 /*
@@ -76,8 +86,8 @@ AliGenBox::AliGenBox(Int_t npart)
   //
   // Standard constructor
   //
-  fName="Box";
-  fTitle="Box particle generator";
+  fName  = "Box";
+  fTitle = "Box particle generator";
   // Generate Proton by default
   fIpart=kProton;
 }
@@ -100,15 +110,15 @@ void AliGenBox::Generate()
     Float_t random[6];
   //
     for (j=0;j<3;j++) origin[j]=fOrigin[j];
-    if(fVertexSmear==perEvent) {
-       gMC->Rndm(random,6);
+    if(fVertexSmear==kPerEvent) {
+       Rndm(random,6);
        for (j=0;j<3;j++) {
            origin[j]+=fOsigma[j]*TMath::Cos(2*random[2*j]*TMath::Pi())*
                TMath::Sqrt(-2*TMath::Log(random[2*j+1]));
        }
     }
     for(i=0;i<fNpart;i++) {
-       gMC->Rndm(random,3);
+       Rndm(random,3);
        theta=fThetaMin+random[0]*(fThetaMax-fThetaMin);
        if(TestBit(kMomentumRange)) {
            pmom=fPMin+random[1]*(fPMax-fPMin);
@@ -123,14 +133,14 @@ void AliGenBox::Generate()
        p[1] = pt*TMath::Sin(phi);
        p[2] = pmom*TMath::Cos(theta);
 
-       if(fVertexSmear==perTrack) {
-           gMC->Rndm(random,6);
+       if(fVertexSmear==kPerTrack) {
+           Rndm(random,6);
            for (j=0;j<3;j++) {
                origin[j]=fOrigin[j]+fOsigma[j]*TMath::Cos(2*random[2*j]*TMath::Pi())*
                    TMath::Sqrt(-2*TMath::Log(random[2*j+1]));
            }
        }
-       gAlice->SetTrack(fTrackIt,-1,fIpart,p,origin,polar,0,"Primary",nt);
+       SetTrack(fTrackIt,-1,fIpart,p,origin,polar,0,kPPrimary,nt);
     }
 }