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 = 20000;
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 =10;
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);
243 AliBODY *BODY =
new AliBODY(
"BODY",
"Alice envelop");
250 AliMAG *MAG =
new AliMAG(
"MAG",
"Magnet");
257 AliABSO *ABSO =
new AliABSOv3(
"ABSO",
"Muon Absorber");
264 AliDIPO *DIPO =
new AliDIPOv3(
"DIPO",
"Dipole version 3");
271 AliHALL *HALL =
new AliHALLv3(
"HALL",
"Alice Hall");
279 AliFRAMEv2 *
FRAME =
new AliFRAMEv2(
"FRAME",
"Space Frame");
286 AliSHIL *SHIL =
new AliSHILv3(
"SHIL",
"Shielding Version 3");
294 AliPIPE *PIPE =
new AliPIPEv3(
"PIPE",
"Beam Pipe");
300 AliITSvPPRasymmFMD *ITS =
new AliITSvPPRasymmFMD(
"ITS",
301 "ITS PPR detailed version with asymmetric services");
307 AliTPC *TPC =
new AliTPCv2(
"TPC",
"Default");
313 AliTOF *TOF =
new AliTOFv6T0(
"TOF",
"normal TOF");
320 AliHMPID *HMPID =
new AliHMPIDv2(
"HMPID",
"normal HMPID");
329 AliZDC *ZDC =
new AliZDCv2(
"ZDC",
"normal ZDC");
336 AliTRD *TRD =
new AliTRDv1(
"TRD",
"TRD slow simulator");
355 AliPHOS *
PHOS =
new AliPHOSv1(
"PHOS",
"IHEP");
362 AliPMD *PMD =
new AliPMDv1(
"PMD",
"normal PMD");
368 AliT0 *T0 =
new AliT0v1(
"T0",
"T0 Detector");
380 AliACORDE *ACORDE =
new AliACORDEv0(
"ACORDE",
"normal ACORDE");
386 AliVZERO *VZERO =
new AliVZEROv7(
"VZERO",
"normal VZERO");
394 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...
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()
Float_t EtaToTheta(Float_t arg)
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.