Lego runs with user set number of events. Needed for random ray generation.
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 9 Jun 2007 13:44:40 +0000 (13:44 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 9 Jun 2007 13:44:40 +0000 (13:44 +0000)
STEER/AliRun.cxx
STEER/AliRun.h

index 0803e49..7d48436 100644 (file)
@@ -740,7 +740,7 @@ void AliRun::Tree2Tree(Option_t *option, const char *selected)
 //_______________________________________________________________________
 void AliRun::RunLego(const char *setup, Int_t nc1, Float_t c1min,
                     Float_t c1max,Int_t nc2,Float_t c2min,Float_t c2max,
-                    Float_t rmin,Float_t rmax,Float_t zmax, AliLegoGenerator* gener)
+                    Float_t rmin,Float_t rmax,Float_t zmax, AliLegoGenerator* gener, Int_t nev)
 {
   //
   // Generates lego plots of:
@@ -779,10 +779,12 @@ void AliRun::RunLego(const char *setup, Int_t nc1, Float_t c1min,
   */
   //End_Html
   //
-
+  // Number of events 
+    if (nev == -1) nev  = nc1 * nc2;
+    
   // check if initialisation has been done
   // If runloader has been initialized, set the number of events per file to nc1 * nc2
-
+    
   // Set new generator
   if (!gener) gener  = new AliLegoGenerator();
   //
@@ -806,9 +808,9 @@ void AliRun::RunLego(const char *setup, Int_t nc1, Float_t c1min,
   
   //Run Lego Object
 
-  if (fRunLoader) fRunLoader->SetNumberOfEventsPerFile(nc1 * nc2);
+  if (fRunLoader) fRunLoader->SetNumberOfEventsPerFile(nev);
   //gMC->ProcessRun(nc1*nc2+1);
-  gMC->ProcessRun(nc1*nc2);
+  gMC->ProcessRun(nev);
   
   // End of this run, close files
   FinishRun();
index c836b24..a87930a 100644 (file)
@@ -93,7 +93,7 @@ public:
    virtual  void  Run(Int_t nevent=1, const char *setup="Config.C") {RunMC(nevent,setup);}
    virtual  void  RunLego(const char *setup="Config.C",Int_t nc1=60,Float_t c1min=2,Float_t c1max=178,
                           Int_t nc2=60,Float_t c2min=0,Float_t c2max=360,Float_t rmin=0,
-                          Float_t rmax=430,Float_t zmax=10000, AliLegoGenerator* gener=NULL);
+                          Float_t rmax=430,Float_t zmax=10000, AliLegoGenerator* gener=NULL, Int_t nev = -1);
    virtual  Bool_t IsLegoRun() const {return (fLego!=0);}
    virtual  void  RunReco(const char *detector=0, Int_t first = 0, Int_t last = 0);
    virtual  void  SetDisplay(AliDisplay *display) {fDisplay = display;}