12 #if !defined(__CINT__) || defined(__MAKECINT__)
13 #include <Riostream.h>
16 #include <TVirtualMC.h>
17 #include <TGeant3TGeo.h>
18 #include "STEER/AliRunLoader.h"
19 #include "STEER/AliRun.h"
20 #include "STEER/AliConfig.h"
21 #include "PYTHIA6/AliDecayerPythia.h"
22 #include "EVGEN/AliGenCocktail.h"
23 #include "EVGEN/AliGenHIJINGpara.h"
24 #include "STEER/AliMagF.h"
25 #include "STRUCT/AliBODY.h"
26 #include "STRUCT/AliMAG.h"
27 #include "STRUCT/AliABSOv3.h"
28 #include "STRUCT/AliDIPOv3.h"
29 #include "STRUCT/AliHALLv3.h"
30 #include "STRUCT/AliFRAMEv2.h"
31 #include "STRUCT/AliSHILv3.h"
32 #include "STRUCT/AliPIPEv3.h"
33 #include "ITS/AliITSvPPRasymmFMD.h"
34 #include "TPC/AliTPCv2.h"
35 #include "TOF/AliTOFv6T0.h"
36 #include "HMPID/AliHMPIDv1.h"
37 #include "ZDC/AliZDCv2.h"
38 #include "TRD/AliTRDv1.h"
39 #include "FMD/AliFMDv1.h"
40 #include "MUON/AliMUONv1.h"
41 #include "PHOS/AliPHOSv1.h"
42 #include "PMD/AliPMDv1.h"
43 #include "T0/AliT0v1.h"
44 #include "EMCAL/AliEMCALv2.h"
45 #include "ACORDE/AliACORDEv1.h"
46 #include "VZERO/AliVZEROv7.h"
57 gRandom->SetSeed(123456);
58 AliLog::Message(AliLog::kInfo, Form(
"Seed for random number generation = %d",gRandom->GetSeed()),
"Config.C",
"Config.C",
"Config()",
"Config.C", __LINE__);
63 gSystem->Load(
"libgeant321");
66 new TGeant3TGeo(
"C++ Interface to Geant3");
70 AliLog::Message(AliLog::kInfo,
"Creating Run Loader",
"Config.C",
"Config.C",
"Config()",
" Config.C", __LINE__);
73 AliConfig::GetDefaultEventFolderName(),
77 gAlice->Fatal(
"Config.C",
"Can not instatiate the Run Loader");
80 rl->SetCompressionLevel(2);
81 rl->SetNumberOfEventsPerFile(3);
85 AliSimulation::Instance()->SetTriggerConfig(
"Pb-Pb");
86 cout<<
"Trigger configuration is set to Pb-Pb"<<endl;
90 TVirtualMCDecayer *decayer =
new AliDecayerPythia();
92 decayer->SetForceDecay(kAll);
94 gMC->SetExternalDecayer(decayer);
101 gMC->SetProcess(
"DCAY",1);
102 gMC->SetProcess(
"PAIR",1);
103 gMC->SetProcess(
"COMP",1);
104 gMC->SetProcess(
"PHOT",1);
105 gMC->SetProcess(
"PFIS",0);
106 gMC->SetProcess(
"DRAY",0);
107 gMC->SetProcess(
"ANNI",1);
108 gMC->SetProcess(
"BREM",1);
109 gMC->SetProcess(
"MUNU",1);
110 gMC->SetProcess(
"CKOV",1);
111 gMC->SetProcess(
"HADR",1);
112 gMC->SetProcess(
"LOSS",2);
113 gMC->SetProcess(
"MULS",1);
114 gMC->SetProcess(
"RAYL",1);
117 Float_t tofmax = 1.e10;
119 gMC->SetCut(
"CUTGAM", cut);
120 gMC->SetCut(
"CUTELE", cut);
121 gMC->SetCut(
"CUTNEU", cut);
122 gMC->SetCut(
"CUTHAD", cut);
123 gMC->SetCut(
"CUTMUO", cut);
124 gMC->SetCut(
"BCUTE", cut);
125 gMC->SetCut(
"BCUTM", cut);
126 gMC->SetCut(
"DCUTE", cut);
127 gMC->SetCut(
"DCUTM", cut);
128 gMC->SetCut(
"PPCUTM", cut);
129 gMC->SetCut(
"TOFMAX", tofmax);
132 AliGenCocktail *gener =
new AliGenCocktail();
134 Int_t nKrDecays = 100;
135 for(Int_t i=0;i<nKrDecays;i++){
136 AliGenKrypton *krypton =
new AliGenKrypton();
137 gener->AddGenerator(krypton,
"Krypton",1);
142 TGeoGlobalMagField::Instance()->SetField(
new AliMagF(
"Maps",
"Maps", 1., 1.,
AliMagF::k5kG));
169 AliBODY *BODY =
new AliBODY(
"BODY",
"Alice envelop");
176 AliMAG *MAG =
new AliMAG(
"MAG",
"Magnet");
183 AliABSO *ABSO =
new AliABSOv3(
"ABSO",
"Muon Absorber");
190 AliDIPO *DIPO =
new AliDIPOv3(
"DIPO",
"Dipole version 3");
197 AliHALL *HALL =
new AliHALLv3(
"HALL",
"Alice Hall");
205 AliFRAMEv2 *
FRAME =
new AliFRAMEv2(
"FRAME",
"Space Frame");
212 AliSHIL *SHIL =
new AliSHILv3(
"SHIL",
"Shielding Version 3");
220 AliPIPE *PIPE =
new AliPIPEv3(
"PIPE",
"Beam Pipe");
240 AliITSvPPRasymmFMD *ITS =
new AliITSvPPRasymmFMD(
"ITS",
"ITS PPR detailed version with asymmetric services");
241 ITS->SetMinorVersion(2);
242 ITS->SetReadDet(kFALSE);
244 ITS->SetThicknessDet1(200.);
245 ITS->SetThicknessDet2(200.);
246 ITS->SetThicknessChip1(150.);
247 ITS->SetThicknessChip2(150.);
249 ITS->SetCoolingFluid(1);
281 AliTPC *TPC =
new AliTPCv4(
"TPC",
"Default");
287 AliTOF *TOF =
new AliTOFv6T0(
"TOF",
"normal TOF");
294 AliHMPID *HMPID =
new AliHMPIDv1(
"HMPID",
"normal HMPID");
303 AliZDC *ZDC =
new AliZDCv2(
"ZDC",
"normal ZDC");
310 AliTRD *TRD =
new AliTRDv1(
"TRD",
"TRD slow simulator");
316 AliFMD *FMD =
new AliFMDv1(
"FMD",
"normal FMD");
329 AliPHOS *PHOS =
new AliPHOSv1(
"PHOS",
"IHEP");
336 AliPMD *PMD =
new AliPMDv1(
"PMD",
"normal PMD");
342 AliT0 *T0 =
new AliT0v1(
"T0",
"T0 Detector");
348 AliEMCAL *EMCAL =
new AliEMCALv2(
"EMCAL",
"EMCAL_COMPLETE");
354 AliACORDE *ACORDE =
new AliACORDEv1(
"ACORDE",
"normal ACORDE");
360 AliVZERO *VZERO =
new AliVZEROv7(
"VZERO",
"normal VZERO");
363 AliLog::Message(AliLog::kInfo,
"End of Config",
"Config.C",
"Config.C",
"Config()",
" Config.C", __LINE__);
368 return (180./TMath::Pi())*2.*atan(exp(-arg));
TFile * Open(const char *filename, Long64_t &nevents)
AliDetector class for MUON subsystem providing simulation data management.
AliDetector class for MUON subsystem which implements functions for simulation.
Float_t EtaToTheta(Float_t arg)