// 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 * sRandom;
+static TRandom * gAliRandom;
ClassImp(AliGenMevSim)
AliGenMevSim::AliGenMevSim() : AliGenerator(-1)
{
//
- // Standard creator
+ // Default ctor
//
-
fConfig = new AliMevSimConfig();
fMevSim = new TMevSim();
- sRandom = fRandom;
+ gAliRandom = fRandom;
}
//____________________________________________________________________________
-AliGenMevSim::AliGenMevSim(AliMevSimConfig *config): AliGenerator(-1) {
-
+AliGenMevSim::AliGenMevSim(AliMevSimConfig *config): AliGenerator(-1)
+{
+ //
+ // Standard ctor
+ //
fConfig = config;
fMevSim = new TMevSim();
- sRandom = fRandom;
+ gAliRandom = fRandom;
}
//____________________________________________________________________________
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()
{
// 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();
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
p[1] = particle->Py();
p[2] = particle->Pz();
- PushTrack(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
extern "C" Float_t type_of_call ran(Int_t &)
{
- return sRandom->Rndm();
+ //
+ // Replacement for package random number generator
+ //
+ return gAliRandom->Rndm();
}
-//____________________________________________________________________________