-// One can use the configuration macro in compiled mode by
-// root [0] gSystem->Load("libgeant321");
-// root [0] gSystem->SetIncludePath("-I$ROOTSYS/include -I$ALICE_ROOT/include\
-// -I$ALICE_ROOT -I$ALICE/geant3/TGeant3");
-// root [0] .x grun.C(1,"Config.C++")
-
-#if !defined(__CINT__) || defined(__MAKECINT__)
-#include <Riostream.h>
-#include <TPDGCode.h>
-#include <TRandom.h>
-#include <TSystem.h>
-#include <TVirtualMC.h>
-#include <TGeant3TGeo.h>
-#include "STEER/AliRunLoader.h"
-#include "STEER/AliRun.h"
-#include "STEER/AliConfig.h"
-#include "PYTHIA6/AliDecayerPythia.h"
-#include "EVGEN/AliGenCocktail.h"
-#include "EVGEN/AliGenHIJINGpara.h"
-#include "EVGEN/AliGenFixed.h"
-#include "EVGEN/AliGenBox.h"
-#include "STEER/AliMagF.h"
-#include "STEER/AliPID.h"
-#include "STRUCT/AliBODY.h"
-#include "STRUCT/AliMAG.h"
-#include "STRUCT/AliABSOv3.h"
-#include "STRUCT/AliDIPOv3.h"
-#include "STRUCT/AliHALLv3.h"
-#include "STRUCT/AliFRAMEv2.h"
-#include "STRUCT/AliSHILv3.h"
-#include "STRUCT/AliPIPEv3.h"
-#include "ITS/AliITSv11Hybrid.h"
-#include "TPC/AliTPCv2.h"
-#include "TOF/AliTOFv6T0.h"
-#include "HMPID/AliHMPIDv3.h"
-#include "ZDC/AliZDCv3.h"
-#include "TRD/AliTRDv1.h"
-#include "TRD/AliTRDgeometry.h"
-#include "FMD/AliFMDv1.h"
-#include "MUON/AliMUONv1.h"
-#include "PHOS/AliPHOSv1.h"
-#include "PMD/AliPMDv1.h"
-#include "T0/AliT0v1.h"
-#include "EMCAL/AliEMCALv2.h"
-#include "ACORDE/AliACORDEv1.h"
-#include "VZERO/AliVZEROv7.h"
-#endif
+// Configuration of simulation
enum PprTrigConf_t
{
Float_t EtaToTheta(Float_t arg);
+static AliMagF::BeamType_t beamType = AliMagF::kBeamTypeAA;
+static Double_t beamEnergy = 7000.*82./208;
static PprTrigConf_t strig = kDefaultPPTrig;// default PP trigger configuration
void Config()
// Theta range given through pseudorapidity limits 22/6/2001
// Set Random Number seed
- gRandom->SetSeed(123456); // Set 0 to use the currecnt time
+ gRandom->SetSeed(123456); // Set 0 to use the currecnt time
-
- // libraries required by geant321
-#if defined(__CINT__)
- gSystem->Load("liblhapdf");
- gSystem->Load("libEGPythia6");
- gSystem->Load("libpythia6");
- gSystem->Load("libAliPythia6");
- gSystem->Load("libgeant321");
-#endif
+ // The libraries required by Geant3 are loaded in sim.C
new TGeant3TGeo("C++ Interface to Geant3");
decayer->SetForceDecay(kAll);
decayer->Init();
- gMC->SetExternalDecayer(decayer);
+
+ TVirtualMC * vmc = TVirtualMC::GetMC();
+
+ vmc->SetExternalDecayer(decayer);
//=======================================================================
// ************* STEERING parameters FOR ALICE SIMULATION **************
// --- Specify event type to be tracked through the ALICE setup
// --- All positions are in cm, angles in degrees, and P and E in GeV
- gMC->SetProcess("DCAY",1);
- gMC->SetProcess("PAIR",1);
- gMC->SetProcess("COMP",1);
- gMC->SetProcess("PHOT",1);
- gMC->SetProcess("PFIS",0);
- gMC->SetProcess("DRAY",0);
- gMC->SetProcess("ANNI",1);
- gMC->SetProcess("BREM",1);
- gMC->SetProcess("MUNU",1);
- gMC->SetProcess("CKOV",1);
- gMC->SetProcess("HADR",1);
- gMC->SetProcess("LOSS",2);
- gMC->SetProcess("MULS",1);
- gMC->SetProcess("RAYL",1);
+ vmc->SetProcess("DCAY",1);
+ vmc->SetProcess("PAIR",1);
+ vmc->SetProcess("COMP",1);
+ vmc->SetProcess("PHOT",1);
+ vmc->SetProcess("PFIS",0);
+ vmc->SetProcess("DRAY",0);
+ vmc->SetProcess("ANNI",1);
+ vmc->SetProcess("BREM",1);
+ vmc->SetProcess("MUNU",1);
+ vmc->SetProcess("CKOV",1);
+ vmc->SetProcess("HADR",1);
+ vmc->SetProcess("LOSS",2);
+ vmc->SetProcess("MULS",1);
+ vmc->SetProcess("RAYL",1);
Float_t cut = 1.e-3; // 1MeV cut by default
Float_t tofmax = 1.e10;
- gMC->SetCut("CUTGAM", cut);
- gMC->SetCut("CUTELE", cut);
- gMC->SetCut("CUTNEU", cut);
- gMC->SetCut("CUTHAD", cut);
- gMC->SetCut("CUTMUO", cut);
- gMC->SetCut("BCUTE", cut);
- gMC->SetCut("BCUTM", cut);
- gMC->SetCut("DCUTE", cut);
- gMC->SetCut("DCUTM", cut);
- gMC->SetCut("PPCUTM", cut);
- gMC->SetCut("TOFMAX", tofmax);
+ vmc->SetCut("CUTGAM", cut);
+ vmc->SetCut("CUTELE", cut);
+ vmc->SetCut("CUTNEU", cut);
+ vmc->SetCut("CUTHAD", cut);
+ vmc->SetCut("CUTMUO", cut);
+ vmc->SetCut("BCUTE", cut);
+ vmc->SetCut("BCUTM", cut);
+ vmc->SetCut("DCUTE", cut);
+ vmc->SetCut("DCUTM", cut);
+ vmc->SetCut("PPCUTM", cut);
+ vmc->SetCut("TOFMAX", tofmax);
// Special generation for Valgrind tests
// Each detector is fired by few particles selected
// The cocktail itself
AliGenCocktail *gener = new AliGenCocktail();
+ gener->SetEnergyCMS(beamEnergy); // Needed by ZDC
gener->SetPhiRange(0, 360);
// Set pseudorapidity range from -8 to 8.
Float_t thmin = EtaToTheta(8); // theta min. <---> eta max
//
//gener->SetVertexSmear(perTrack);
// Field (L3 0.5 T)
- TGeoGlobalMagField::Instance()->SetField(new AliMagF("Maps","Maps", -1., -1., AliMagF::k5kG));
+ TGeoGlobalMagField::Instance()->SetField(new AliMagF("Maps","Maps", -1., -1., AliMagF::k5kG,beamType,beamEnergy));
Int_t iABSO = 1;
Int_t iDIPO = 1;
{
//=================== ITS parameters ============================
- AliITS *ITS = new AliITSv11Hybrid("ITS","ITS v11Hybrid");
+ AliITS *ITS = new AliITSv11("ITS","ITS v11");
}
if (iTPC)
{
//=================== ZDC parameters ============================
- AliZDC *ZDC = new AliZDCv3("ZDC", "normal ZDC");
+ AliZDC *ZDC = new AliZDCv4("ZDC", "normal ZDC");
}
if (iTRD)
if (iPHOS)
{
- AliPHOS *PHOS = new AliPHOSv1("PHOS", "IHEP");
+ AliPHOS *PHOS = new AliPHOSv1("PHOS", "Run1");
}
if (iEMCAL)
{
//=================== EMCAL parameters ============================
- AliEMCAL *EMCAL = new AliEMCALv2("EMCAL", "EMCAL_COMPLETE");
+ AliEMCAL *EMCAL = new AliEMCALv2("EMCAL", "EMCAL_COMPLETEV1");
}
if (iACORDE)