]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TMEVSIM/AliGenMevSim.cxx
Do not assume operator==/!=() is a member function.
[u/mrichter/AliRoot.git] / TMEVSIM / AliGenMevSim.cxx
index 8f5fe4d6690cd421a1a47feec479d782f9c693b3..bc04679447771d8abf3bdd6dc2fb4d845c5bc2a9 100644 (file)
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-/*
-$Log$
-Revision 1.3  2001/07/27 17:24:28  morsch
-Some bugs corrected. ( Piotr Skowronski)
-
-Revision 1.2  2001/03/28 07:31:48  hristov
-Loop variables declared only once (HP,Sun)
-
-Revision 1.1  2001/03/24 10:04:44  morsch
-MevSim interfaced through AliGenerator, first commit (Sylwester Radomski et al.)
-//Piotr Skowronski Line 104: fThetaMin-->fThetaMax
-*/
+/* $Id$ */
 
 //
 // Wrapper for MEVSIM generator.
@@ -34,35 +23,42 @@ MevSim interfaced through AliGenerator, first commit (Sylwester Radomski et al.)
 // Sylwester Radomski <radomski@if.pw.edu.pl>
 //
 
-//#include "TSystem.h"
-//#include "TUnixSystem.h"
-#include "TParticle.h"
-#include "TMevSim.h"
+#include <Riostream.h>
+#include <TClonesArray.h>
+#include <TParticle.h>
 
 #include "AliGenMevSim.h"
-#include "AliRun.h"
+#include "AliMevSimConfig.h"
+#include "AliMevSimParticle.h"
+//#include "AliRun.h"
+#include "TMevSim.h"
 
+static TRandom * gAliRandom;
 
 ClassImp(AliGenMevSim)
 
 //____________________________________________________________________________
-AliGenMevSim::AliGenMevSim() : AliGenerator(-1) 
+AliGenMevSim::AliGenMevSim() : 
+  AliGenerator(-1),
+  fMevSim(new TMevSim()),
+  fConfig(new AliMevSimConfig())
 {
   //
-  // Standard creator
+  // Default ctor
   //
-  
-  fConfig = new AliMevSimConfig();
-  fMevSim = new TMevSim();
-  sRandom = fRandom;
+  gAliRandom = fRandom;
   
 }
 //____________________________________________________________________________
-AliGenMevSim::AliGenMevSim(AliMevSimConfig *config): AliGenerator(-1) {
-
-  fConfig = config;
-  fMevSim = new TMevSim(); 
-  sRandom = fRandom;
+AliGenMevSim::AliGenMevSim(AliMevSimConfig *config): 
+  AliGenerator(-1),
+  fMevSim(new TMevSim()),
+  fConfig(config)
+{
+  //
+  // Standard ctor
+  //
+  gAliRandom = fRandom;
 }
 
 //____________________________________________________________________________
@@ -74,15 +70,23 @@ AliGenMevSim::~AliGenMevSim()
   if (fMevSim) delete fMevSim;
 }
 //____________________________________________________________________________
-void AliGenMevSim::SetConfig(AliMevSimConfig *config) {
-  
+void AliGenMevSim::SetConfig(AliMevSimConfig *config) 
+{
+  //
+  // Sets the MevSim configuration
+  //
   fConfig = config;
 }
-//____________________________________________________________________________
-void AliGenMevSim::AddParticleType(AliMevSimParticle *type) {
 
+//____________________________________________________________________________
+void AliGenMevSim::AddParticleType(AliMevSimParticle *type) 
+{
+  //
+  // Add one particle type to MevSim
+  //
   fMevSim->AddPartTypeParams((TMevSimPartTypeParams*)type);
 }
+
 //____________________________________________________________________________
 void AliGenMevSim::Init() 
 {
@@ -108,11 +112,14 @@ void AliGenMevSim::Init()
 
   // mevsim specyfic parameters
   
-  mevsim->SetModelType(fConfig->fModelType);
-  mevsim->SetReacPlaneCntrl(fConfig->fReacPlaneCntrl);
-  mevsim->SetPsiRParams(fConfig->fPsiRMean, fConfig->fPsiRStDev);
-  mevsim->SetMultFacParams(fConfig->fMultFacMean, fConfig->fMultFacStDev);
-  
+  mevsim->SetModelType(fConfig->GetModelType());
+  Int_t ctrl; Float_t psiRMean = 0; Float_t psiRStDev = 0;
+  fConfig->GetRectPlane(ctrl,psiRMean,psiRStDev);
+  mevsim->SetReacPlaneCntrl(ctrl);
+  mevsim->SetPsiRParams(psiRMean, psiRStDev);
+  Float_t mean; Float_t stDev;
+  fConfig->GetMultFac(mean,stDev);
+  mevsim->SetMultFacParams(mean,stDev);
   // mevsim initialisation
 
   mevsim->Initialize();
@@ -134,7 +141,7 @@ void AliGenMevSim::Generate()
   Float_t p[3] = {1,1,1};
   Float_t time = 0;
   
-  const Int_t parent = -1;
+  const Int_t kParent = -1;
   Int_t id;
 
   // vertexing 
@@ -170,17 +177,15 @@ void AliGenMevSim::Generate()
     p[1] = particle->Py();
     p[2] = particle->Pz();
     
-    SetTrack(fTrackIt, parent, pdg, p, orgin, polar, time, kPPrimary, id);
+    PushTrack(fTrackIt, kParent, pdg, p, orgin, polar, time, kPPrimary, id);
 
   }  
  
   particles->Clear();
   if (particles) delete particles;
 }
-//____________________________________________________________________________
-//____________________________________________________________________________
-
 
+//____________________________________________________________________________
 #ifndef WIN32
 # define ran ran_
 # define type_of_call
@@ -191,7 +196,9 @@ void AliGenMevSim::Generate()
 
 extern "C" Float_t type_of_call ran(Int_t &)
 {
-  return sRandom->Rndm(); 
+  //
+  //  Replacement for package random number generator
+  //
+  return gAliRandom->Rndm(); 
 }
 
-//____________________________________________________________________________