10 #if !defined(__CINT__) || defined(__MAKECINT__) 11 #include <Riostream.h> 14 #include <TVirtualMC.h> 15 #include <TGeant3TGeo.h> 19 #include "PYTHIA6/AliDecayerPythia.h" 20 #include "EVGEN/AliGenCocktail.h" 21 #include "EVGEN/AliGenHIJINGpara.h" 22 #include "STEER/AliMagF.h" 23 #include "STRUCT/AliBODY.h" 24 #include "STRUCT/AliMAG.h" 25 #include "STRUCT/AliABSOv3.h" 26 #include "STRUCT/AliDIPOv3.h" 27 #include "STRUCT/AliHALLv3.h" 28 #include "STRUCT/AliFRAMEv2.h" 29 #include "STRUCT/AliSHILv3.h" 30 #include "STRUCT/AliPIPEv3.h" 31 #include "ITS/AliITSvPPRasymmFMD.h" 32 #include "TPC/AliTPCv2.h" 33 #include "TOF/AliTOFv6T0.h" 34 #include "HMPID/AliHMPIDv2.h" 35 #include "ZDC/AliZDCv2.h" 36 #include "TRD/AliTRDv1.h" 37 #include "FMD/AliFMDv1.h" 38 #include "MUON/AliMUONv1.h" 39 #include "PHOS/AliPHOSv1.h" 40 #include "PMD/AliPMDv1.h" 41 #include "T0/AliT0v1.h" 42 #include "EMCAL/AliEMCALv2.h" 43 #include "ACORDE/AliACORDEv0.h" 44 #include "VZERO/AliVZEROv7.h" 56 AliLog::Message(
AliLog::kInfo, Form(
"Seed for random number generation = %d",gRandom->GetSeed()),
"Config.C",
"Config.C",
"Config()",
"Config.C", __LINE__);
61 gSystem->Load(
"libgeant321");
64 new TGeant3TGeo(
"C++ Interface to Geant3");
80 gAlice->Fatal(
"Config.C",
"Can not instatiate the Run Loader");
91 cout<<
"Trigger configuration is set to Pb-Pb"<<endl;
95 TVirtualMCDecayer *decayer =
new AliDecayerPythia();
97 decayer->SetForceDecay(kAll);
99 gMC->SetExternalDecayer(decayer);
106 gMC->SetProcess(
"DCAY",1);
107 gMC->SetProcess(
"PAIR",1);
108 gMC->SetProcess(
"COMP",1);
109 gMC->SetProcess(
"PHOT",1);
110 gMC->SetProcess(
"PFIS",0);
111 gMC->SetProcess(
"DRAY",0);
112 gMC->SetProcess(
"ANNI",1);
113 gMC->SetProcess(
"BREM",1);
114 gMC->SetProcess(
"MUNU",1);
115 gMC->SetProcess(
"CKOV",1);
116 gMC->SetProcess(
"HADR",1);
117 gMC->SetProcess(
"LOSS",2);
118 gMC->SetProcess(
"MULS",1);
119 gMC->SetProcess(
"RAYL",1);
122 Float_t tofmax = 1.e10;
124 gMC->SetCut(
"CUTGAM", cut);
125 gMC->SetCut(
"CUTELE", cut);
126 gMC->SetCut(
"CUTNEU", cut);
127 gMC->SetCut(
"CUTHAD", cut);
128 gMC->SetCut(
"CUTMUO", cut);
129 gMC->SetCut(
"BCUTE", cut);
130 gMC->SetCut(
"BCUTM", cut);
131 gMC->SetCut(
"DCUTE", cut);
132 gMC->SetCut(
"DCUTM", cut);
133 gMC->SetCut(
"PPCUTM", cut);
134 gMC->SetCut(
"TOFMAX", tofmax);
137 int nParticles = 400;
138 if (gSystem->Getenv(
"CONFIG_NPARTICLES"))
140 nParticles = atoi(gSystem->Getenv(
"CONFIG_NPARTICLES"));
144 AliGenCocktail *gener =
new AliGenCocktail();
145 gener->SetPhiRange(0, 360);
149 gener->SetThetaRange(thmin,thmax);
150 gener->SetOrigin(0, 0, 0);
151 gener->SetSigma(0, 0, 0);
153 AliGenHIJINGpara *hijingparam =
new AliGenHIJINGpara(nParticles);
154 hijingparam->SetMomentumRange(0.2, 999);
155 gener->AddGenerator(hijingparam,
"HIJING PARAM",1);
159 Int_t nParticles2 =1;
160 AliGenBox *genboxPIP =
new AliGenBox(nParticles2);
161 genboxPIP->SetPart(211);
162 genboxPIP->SetPtRange(0.2, 100.00);
163 AliGenBox *genboxPIM =
new AliGenBox(nParticles2);
164 genboxPIM->SetPart(-211);
165 genboxPIM->SetPtRange(0.2, 100.00);
167 AliGenBox *genboxEP =
new AliGenBox(nParticles2);
168 genboxEP->SetPart(11);
169 genboxEP->SetPtRange(0.1, 100.00);
170 AliGenBox *genboxEM =
new AliGenBox(nParticles2);
171 genboxEM->SetPart(-11);
172 genboxEM->SetPtRange(0.1, 100.00);
174 AliGenBox *genboxKP =
new AliGenBox(nParticles2);
175 genboxKP->SetPart(321);
176 genboxKP->SetPtRange(0.2, 100.00);
177 AliGenBox *genboxKM =
new AliGenBox(nParticles2);
178 genboxKM->SetPart(-321);
179 genboxKM->SetPtRange(0.2, 100.00);
181 AliGenBox *genboxMP =
new AliGenBox(nParticles2);
182 genboxMP->SetPart(13);
183 genboxMP->SetPtRange(0.2, 100.00);
184 AliGenBox *genboxMM =
new AliGenBox(nParticles2);
185 genboxMM->SetPart(-13);
186 genboxMM->SetPtRange(0.2, 100.00);
188 AliGenBox *genboxPP =
new AliGenBox(nParticles2);
189 genboxPP->SetPart(2212);
190 genboxPP->SetPtRange(0.2, 100.00);
191 AliGenBox *genboxPM =
new AliGenBox(nParticles2);
192 genboxPM->SetPart(-2212);
193 genboxPM->SetPtRange(0.2, 100.00);
197 gener->AddGenerator(genboxPIP,
"GENBOX",1);
198 gener->AddGenerator(genboxPIM,
"GENBOX",1);
199 gener->AddGenerator(genboxEM,
"GENBOX",1);
200 gener->AddGenerator(genboxEP,
"GENBOX",1);
201 gener->AddGenerator(genboxKM,
"GENBOX",1);
202 gener->AddGenerator(genboxKP,
"GENBOX",1);
203 gener->AddGenerator(genboxMM,
"GENBOX",1);
204 gener->AddGenerator(genboxMP,
"GENBOX",1);
205 gener->AddGenerator(genboxPM,
"GENBOX",1);
206 gener->AddGenerator(genboxPP,
"GENBOX",1);
245 AliBODY *BODY =
new AliBODY(
"BODY",
"Alice envelop");
252 AliMAG *MAG =
new AliMAG(
"MAG",
"Magnet");
259 AliABSO *ABSO =
new AliABSOv3(
"ABSO",
"Muon Absorber");
266 AliDIPO *DIPO =
new AliDIPOv3(
"DIPO",
"Dipole version 3");
273 AliHALL *HALL =
new AliHALLv3(
"HALL",
"Alice Hall");
281 AliFRAMEv2 *
FRAME =
new AliFRAMEv2(
"FRAME",
"Space Frame");
288 AliSHIL *SHIL =
new AliSHILv3(
"SHIL",
"Shielding Version 3");
296 AliPIPE *PIPE =
new AliPIPEv3(
"PIPE",
"Beam Pipe");
302 AliITSvPPRasymmFMD *ITS =
new AliITSvPPRasymmFMD(
"ITS",
303 "ITS PPR detailed version with asymmetric services");
309 AliTPC *TPC =
new AliTPCv2(
"TPC",
"Default");
315 AliTOF *TOF =
new AliTOFv6T0(
"TOF",
"normal TOF");
322 AliHMPID *HMPID =
new AliHMPIDv2(
"HMPID",
"normal HMPID");
331 AliZDC *ZDC =
new AliZDCv2(
"ZDC",
"normal ZDC");
338 AliTRD *TRD =
new AliTRDv1(
"TRD",
"TRD slow simulator");
357 AliPHOS *
PHOS =
new AliPHOSv1(
"PHOS",
"IHEP");
364 AliPMD *PMD =
new AliPMDv1(
"PMD",
"normal PMD");
370 AliT0 *T0 =
new AliT0v1(
"T0",
"T0 Detector");
382 AliACORDE *ACORDE =
new AliACORDEv0(
"ACORDE",
"normal ACORDE");
388 AliVZERO *VZERO =
new AliVZEROv7(
"VZERO",
"normal VZERO");
396 return (180./TMath::Pi())*2.*atan(exp(-arg));
void SetRunLoader(AliRunLoader *rloader)
static const TString & GetDefaultEventFolderName()
static void Message(UInt_t level, const char *message, const char *module, const char *className, const char *function, const char *file, Int_t line)
AliDetector class for MUON subsystem providing simulation data management.
Forward Multiplicity Detector based on Silicon wafers. This class is the driver for especially simula...
Float_t EtaToTheta(Float_t arg)
Forward Multiplicity Detector based on Silicon wafers.
static AliRunLoader * Open(const char *filename="galice.root", const char *eventfoldername=AliConfig::GetDefaultEventFolderName(), Option_t *option="READ")
void SetTriggerConfig(TString conf)
AliDetector class for MUON subsystem which implements functions for simulation.
void SetCompressionLevel(Int_t cl)
static AliSimulation * Instance()
Base Class for EMCAL description.
void SetDefaultStorage(const char *dbString)
void SetNumberOfEventsPerFile(Int_t nevpf)
static AliCDBManager * Instance(TMap *entryCache=NULL, Int_t run=-1)
EMCal simulation manager class v2.