Classed moved form libJETANMC to libJETAN.
[u/mrichter/AliRoot.git] / ZDC / Config.C
1  void Config()
2  {
3
4  new AliGeant3("C++ Interface to Geant3");
5
6  //=======================================================================
7  //  Create the output file
8
9  TFile *rootfile = new TFile("galice.root","recreate");
10  rootfile->SetCompressionLevel(2);
11  TGeant3 *geant3 = (TGeant3*)gMC;
12  //
13  // Set External decayer
14   AliDecayer* decayer = new AliDecayerPythia();
15   decayer->SetForceDecay(all);
16   decayer->Init();
17   gMC->SetExternalDecayer(decayer);
18  //
19  //
20  //=======================================================================
21  // ******* GEANT STEERING parameters FOR ALICE SIMULATION *******
22  geant3->SetTRIG(1); //Number of events to be processed
23  geant3->SetSWIT(4,10);
24  geant3->SetDEBU(0,0,1);
25  //geant3->SetSWIT(2,2);
26  //geant3->SetSWIT(2,3); //for drawing
27  geant3->SetDCAY(1);
28  geant3->SetPAIR(1);
29  geant3->SetCOMP(1);
30  geant3->SetPHOT(1);
31  geant3->SetPFIS(0);
32  geant3->SetDRAY(0);
33  geant3->SetANNI(1);
34  geant3->SetBREM(1);
35  geant3->SetMUNU(1);
36  geant3->SetCKOV(1);
37  geant3->SetHADR(1); //Select pure GEANH (HADR 1) or GEANH/NUCRIN (HADR 3)
38  geant3->SetLOSS(2);
39  geant3->SetMULS(1);
40  geant3->SetRAYL(1);
41  geant3->SetAUTO(1); //Select automatic STMIN etc... calc. (AUTO 1) or manual (AUTO 0)
42  geant3->SetABAN(0); //Restore 3.16 behaviour for abandoned tracks
43  geant3->SetOPTI(2); //Select optimisation level for GEANT geometry searches (0,1,2)
44  geant3->SetERAN(5.e-7);
45
46  Float_t cut    = 1.e-3; // 1MeV cut by default
47  Float_t tofmax = 1.e10;
48  //             GAM ELEC NHAD CHAD MUON EBREM MUHAB EDEL MUDEL MUPA TOFMAX
49  geant3->SetCUTS(cut,cut, cut, cut, cut, cut,  cut,  cut, cut,  cut, tofmax);
50  //
51  //=======================================================================
52  // ************* STEERING parameters FOR ALICE SIMULATION **************
53  // --- Specify event type to be tracked through the ALICE setup
54  // --- All positions are in cm, angles in degrees, and P and E in GeV
55 //
56 // ####  AliGenZDC generation
57 //
58 AliGenZDC *gener = new AliGenZDC(1);
59 gener->SetDirection(0,0,0,1);
60 gener->SetFermi(1);--------------------//Nucleon in ZP or ZN
61 gener->SetDiv(0.000032,0.0001,2);
62 gener->SetOrigin(0.,0.,0.);
63 //gener->SetParticle(kNeutron);
64 gener->SetParticle(kProton);
65 gener->SetMomentum(2760.);
66 //gener->SetFermi(0); -----------------// Gamma in ZEM
67 //gener->SetDiv(0,0,0);
68 //gener->SetOrigin(0.,5.8,11400.);
69 //gener->SetParticle(kGamma);
70 //gener->SetMomentum(100.);     
71 //
72 gener->SetTrackingFlag(1);
73 gener->Init();
74  //
75  // Activate this line if you want the vertex smearing to happen
76  // track by track
77  //
78  //gener->SetVertexSmear(perTrack);
79
80  gAlice->SetField(-999,2);    //Specify maximum magnetic field in Tesla (neg. ==> default field)
81
82  Int_t iABSO=0;
83  Int_t iCASTOR=0;
84  Int_t iDIPO=1;
85  Int_t iFMD=0;
86  Int_t iFRAME=0;
87  Int_t iHALL=0;
88  Int_t iITS=0;
89  Int_t iMAG=0;
90  Int_t iMUON=0;
91  Int_t iPHOS=0;
92  Int_t iPIPE=0;
93  Int_t iPMD=0;
94  Int_t iHMPID=0;
95  Int_t iSHIL=0;
96  Int_t iT0=0;
97  Int_t iTOF=0;
98  Int_t iTPC=0;
99  Int_t iTRD=0;
100  Int_t iZDC=1;
101
102  //=================== Alice BODY parameters =============================
103  AliBODY *BODY = new AliBODY("BODY","Alice envelop");
104
105  if(iMAG) {
106  //=================== MAG parameters ============================
107  // --- Start with Magnet since detector layouts may be depending ---
108  // --- on the selected Magnet dimensions ---
109  AliMAG *MAG  = new AliMAG("MAG","Magnet");
110  }
111
112  if(iABSO) {
113  //=================== ABSO parameters ============================
114  AliABSO *ABSO  = new AliABSOv0("ABSO","Muon Absorber");
115  }
116
117  if(iDIPO) {
118  //=================== DIPO parameters ============================
119
120  AliDIPO *DIPO  = new AliDIPOv2("DIPO","Dipole version 2");
121  }
122
123  if(iHALL) {
124  //=================== HALL parameters ============================
125
126  AliHALL *HALL  = new AliHALL("HALL","Alice Hall");
127  }
128
129  if(iFRAME) {
130  //=================== FRAME parameters ============================
131
132  AliFRAME *FRAME  = new AliFRAMEv1("FRAME","Space Frame");
133
134  }
135
136  if(iSHIL) {
137  //=================== SHIL parameters ============================
138
139  AliSHIL *SHIL  = new AliSHILv0("SHIL","Shielding");
140  }
141
142  if(iPIPE) {
143  //=================== PIPE parameters ============================
144
145  AliPIPE *PIPE  = new AliPIPEv0("PIPE","Beam Pipe");
146  // PIPE->Dump();
147  }
148
149  if(iITS) {
150  //=================== ITS parameters ============================
151  //
152  // As the innermost detector in ALICE, the Inner Tracking System "impacts" on
153  // almost all other detectors. This involves the fact that the ITS geometry
154  // still has several options to be followed in parallel in order to determine
155  // the best set-up which minimizes the induced background. All the geometries
156  // available to date are described in the following. Read carefully the comments
157  // and use the default version (the only one uncommented) unless you are making
158  // comparisons and you know what you are doing. In this case just uncomment the
159  // ITS geometry you want to use and run Aliroot.
160  //
161  // Detailed geometries:
162  // ====================
163  //
164  //
165  //AliITS *ITS  = new AliITSv3("ITS","Old ITS detailed version as of the ALICE TP");
166  //
167  //AliITS *ITS  = new AliITSv5("ITS","Current ITS detailed version used for the ITS TDR");
168  //
169  //AliITS *ITS  = new AliITSv5symm("ITS","Updated ITS TDR detailed version with symmetric services");
170  //
171  AliITS *ITS  = new AliITSv5asymm("ITS","Updates ITS TDR detailed version with asymmetric services");
172  //
173  //
174  // Coarse geometries (warning: no hits are produced with these coarse geometries and they unuseful for reconstruction !):
175  // ======================================================================================================================
176  //
177  //
178  //AliITS *ITS  = new AliITSv1("ITS","Old ITS coarse version as of the ALICE TP");
179  //
180  //AliITS *ITS  = new AliITSvPPRcoarseasymm("ITS","New ITS coarse version with asymmetric services");
181  //
182  //AliITS *ITS  = new AliITSvPPRcoarsesymm("ITS","New ITS coarse version with symmetric services");
183  //
184  //
185  // Geant3 <-> EUCLID conversion
186  // ============================
187  //
188  // SetEUCLID is a flag to output (=1) or not to output (=0) both geometry and
189  // media to two ASCII files (called by default ITSgeometry.euc and
190  // ITSgeometry.tme) in a format understandable to the CAD system EUCLID.
191  // The default (=0) means that you dont want to use this facility.
192  //
193  ITS->SetEUCLID(0);
194  }
195
196  if(iTPC) {
197  //============================ TPC parameters ================================
198  // --- This allows the user to specify sectors for the SLOW (TPC geometry 2)
199  // --- Simulator. SecAL (SecAU) <0 means that ALL lower (upper)
200  // --- sectors are specified, any value other than that requires at least one
201  // --- sector (lower or upper)to be specified!
202  // --- Reminder: sectors 1-24 are lower sectors (1-12 -> z>0, 13-24 -> z<0)
203  // ---           sectors 25-72 are the upper ones (25-48 -> z>0, 49-72 -> z<0)
204  // --- SecLows - number of lower sectors specified (up to 6)
205  // --- SecUps - number of upper sectors specified (up to 12)
206  // --- Sens - sensitive strips for the Slow Simulator !!!
207  // --- This does NOT work if all S or L-sectors are specified, i.e.
208  // --- if SecAL or SecAU < 0
209  //
210  //
211  //-----------------------------------------------------------------------------
212
213    //  gROOT->LoadMacro("SetTPCParam.C");
214    //  AliTPCParam *param = SetTPCParam();
215    AliTPC *TPC  = new AliTPCv2("TPC","Default"); //v1 is default
216    //  TPC->SetParam(param); // pass the parameter object to the TPC
217
218  // set gas mixture
219
220    //TPC->SetGasMixt(2,20,10,-1,0.9,0.1,0.);
221    TPC->SetSecAL(-1);
222    TPC->SetSecAU(-1);
223    //  TPC->Dump();
224    //TPC->SetSecLows(1,  2,  3, 19, 20, 21);
225    //TPC->SetSecUps(37, 38, 39, 37+18, 38+18, 39+18, -1, -1, -1, -1, -1, -1);
226    //TPC->SetSens(1);
227
228    //if (TPC->IsVersion()==1) param->Write(param->GetTitle());
229  }
230
231  if(iTOF) {
232  //=================== TOF parameters ============================
233    AliTOF *TOF  = new AliTOFv2("TOF","normal TOF");
234  }
235
236  if(iHMPID) {
237  //=================== HMPID parameters ===========================
238    AliHMPID *HMPID  = new AliHMPIDv1("HMPID","normal HMPID");
239
240  }
241
242  if(iZDC) {
243  //=================== ZDC parameters ============================
244
245    AliZDC *ZDC  = new AliZDCv1("ZDC","normal ZDC");
246    AliZDCv1 *ZDCv1 = (AliZDC*)ZDC;
247    //ZDCv1->NoShower();
248    ZDCv1->Shower();
249  }
250
251  if(iCASTOR) {
252  //=================== CASTOR parameters ============================
253
254    AliCASTOR *CASTOR  = new AliCASTORv1("CASTOR","normal CASTOR");
255  }
256
257  if(iTRD) {
258  //=================== TRD parameters ============================
259
260    AliTRD *TRD  = new AliTRDv1("TRD","TRD slow simulator");
261
262    // Select the gas mixture (0: 97% Xe + 3% isobutane, 1: 90% Xe + 10% CO2)
263    TRD->SetGasMix(1);
264
265    // With hole in front of PHOS
266    TRD->SetPHOShole();
267    // With hole in front of HMPID
268    TRD->SetHMPIDhole();
269  }
270
271  if(iFMD) {
272  //=================== FMD parameters ============================
273
274    AliFMD *FMD  = new AliFMDv1("FMD","normal FMD");
275  }
276
277  if(iMUON) {
278  //=================== MUON parameters ===========================
279
280    AliMUON *MUON  = new AliMUONv1("MUON","normal MUON");
281    MUON->SetIshunt(0);
282    MUON->SetMaxStepGas(0.1);
283    MUON->SetMaxStepAlu(0.1);
284  //
285  // Version 0
286  //
287  // First define the number of planes that are segmented (1 or 2) by a call
288  // to SetNsec.
289  // Then chose for each chamber (chamber plane) the segmentation
290  // and response model.
291  // They should be equal for the two chambers of each station. In a future
292  // version this will be enforced.
293  //
294  //
295    Int_t chamber;
296    Int_t station;
297  // Default response
298    AliMUONResponseV0* response0 = new AliMUONResponseV0;
299    response0->SetSqrtKx3(0.7131);
300    response0->SetKx2(1.0107);
301    response0->SetKx4(0.4036);
302    response0->SetSqrtKy3(0.7642);
303    response0->SetKy2(0.9706);
304    response0->SetKy4(0.3831);
305    response0->SetPitch(0.25);
306    response0->SetSigmaIntegration(10.);
307    response0->SetChargeSlope(50);
308    response0->SetChargeSpread(0.18, 0.18);
309    response0->SetMaxAdc(4096);
310    response0->SetZeroSuppression(6);
311  //--------------------------------------------------------
312  // Configuration for Chamber TC1/2  (Station 1) ----------
313  //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
314    Float_t rseg1[4]={17.5, 55.2, 71.3, 95.5};
315    Int_t   nseg1[4]={4, 4, 2, 1};
316    //
317    chamber=1;
318    //^^^^^^^^^
319    MUON->SetNsec(chamber-1,2);
320    //
321    AliMUONSegmentationV01 *seg11=new AliMUONSegmentationV01;
322
323    seg11->SetSegRadii(rseg1);
324    seg11->SetPadSize(3, 0.5);
325    seg11->SetDAnod(3.0/3./4);
326    seg11->SetPadDivision(nseg1);
327
328    MUON->SetSegmentationModel(chamber-1, 1, seg11);
329  //
330    AliMUONSegmentationV02 *seg12=new AliMUONSegmentationV02;
331    seg12->SetSegRadii(rseg1);
332    seg12->SetPadSize(0.75, 2.0);
333    seg12->SetDAnod(3.0/3./4);
334    seg12->SetPadDivision(nseg1);
335
336    MUON->SetSegmentationModel(chamber-1, 2, seg12);
337
338    MUON->SetResponseModel(chamber-1, response0);
339
340    chamber=2;
341  //^^^^^^^^^
342  //
343    MUON->SetNsec(chamber-1,2);
344  //
345    AliMUONSegmentationV01 *seg21=new AliMUONSegmentationV01;
346    seg21->SetSegRadii(rseg1);
347    seg21->SetPadSize(3, 0.5);
348    seg21->SetDAnod(3.0/3./4);
349    seg21->SetPadDivision(nseg1);
350    MUON->SetSegmentationModel(chamber-1, 1, seg21);
351    //
352    AliMUONSegmentationV02 *seg22=new AliMUONSegmentationV02;
353    seg22->SetSegRadii(rseg1);
354    seg22->SetPadSize(0.75, 2.);
355    seg22->SetDAnod(3.0/3./4);
356    seg22->SetPadDivision(nseg1);
357    MUON->SetSegmentationModel(chamber-1, 2, seg22);
358
359    MUON->SetResponseModel(chamber-1, response0);
360    //
361    //--------------------------------------------------------
362    // Configuration for Chamber TC3/4 -----------------------
363    ///^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
364    // Float_t rseg2[4]={23.5, 87.7, 122.4, 122.5};
365    Float_t rseg2[4]={23.5, 47.1, 87.7, 122.5};
366    Int_t   nseg2[4]={4, 4, 2, 1};
367    //
368    chamber=3;
369    //^^^^^^^^^
370    MUON->SetNsec(chamber-1,2);
371    //
372    AliMUONSegmentationV01 *seg31=new AliMUONSegmentationV01;
373    seg31->SetSegRadii(rseg2);
374    seg31->SetPadSize(6, 0.5);
375    seg31->SetDAnod(3.0/3./4);
376    seg31->SetPadDivision(nseg2);
377    MUON->SetSegmentationModel(chamber-1, 1, seg31);
378    //
379    AliMUONSegmentationV02 *seg32=new AliMUONSegmentationV02;
380    seg32->SetSegRadii(rseg2);
381    seg32->SetPadSize(0.75, 4.);
382    seg32->SetPadDivision(nseg2);
383    seg32->SetDAnod(3.0/3./4);
384
385    MUON->SetSegmentationModel(chamber-1, 2, seg32);
386
387    MUON->SetResponseModel(chamber-1, response0);
388
389    chamber=4;
390    //^^^^^^^^^
391    //
392    MUON->SetNsec(chamber-1,2);
393    //
394    AliMUONSegmentationV01 *seg41=new AliMUONSegmentationV01;
395    seg41->SetSegRadii(rseg2);
396    seg41->SetPadSize(6, 0.5);
397    seg41->SetDAnod(3.0/3./4);
398    seg41->SetPadDivision(nseg2);
399    MUON->SetSegmentationModel(chamber-1, 1, seg41);
400    //
401    AliMUONSegmentationV02 *seg42=new AliMUONSegmentationV02;
402    seg42->SetSegRadii(rseg2);
403    seg42->SetPadSize(0.75, 4.);
404    seg42->SetPadDivision(nseg2);
405    seg42->SetDAnod(3.0/3./4);
406
407    MUON->SetSegmentationModel(chamber-1, 2, seg42);
408
409    MUON->SetResponseModel(chamber-1, response0);
410
411  //--------------------------------------------------------
412  // Configuration for Chamber TC5/6 -----------------------
413  //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
414
415    seg5 =  new AliMUONSegmentationV1;
416    AliMUONResponseV0* response5 =  new AliMUONResponseV0;
417    // K3 = 0.62
418    response5->SetSqrtKx3(0.78740079);
419    response5->SetKx2(0.95237319); //  0.5 * kPI * (1- 0.5*sqrtky3 )
420    response5->SetKx4(0.37480633); //  0.25/TMath::ATan(sqrtkx3)
421    // K3 = 0.55
422    response5->SetSqrtKy3(0.74161985);
423    response5->SetKy2(0.98832946);
424    response5->SetKy4(0.39177817);
425    response5->SetPitch(0.325);
426    response5->SetSigmaIntegration(10.);
427    response5->SetChargeSlope(50);
428    response5->SetChargeSpread(0.4, 0.4);
429    response5->SetMaxAdc(4096);
430    response5->SetZeroSuppression(6);
431
432
433    chamber=5;
434    MUON->SetNsec(chamber-1,1);
435    MUON->SetSegmentationModel(chamber-1, 1, seg5);
436    MUON->SetResponseModel(chamber-1, response5);
437
438    chamber=6;
439    MUON->SetNsec(chamber-1,1);
440    MUON->SetSegmentationModel(chamber-1, 1, seg5);
441    MUON->SetResponseModel(chamber-1, response5);
442    //
443    // Station 3
444    station=3;
445    MUON->SetPadSize(station, 1, 0.975, 0.55);
446
447  //--------------------------------------------------------
448  // Configuration for Chamber TC7/8  (Station 4) ----------
449  //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
450
451    Int_t   nseg4[4]={4, 4, 2, 1};
452
453    chamber=7;
454    //^^^^^^^^^
455    MUON->SetNsec(chamber-1,2);
456    //
457    AliMUONSegmentationV04 *seg71=new AliMUONSegmentationV04;
458    seg71->SetPadSize(10.,0.5);
459    seg71->SetDAnod(0.25);
460    seg71->SetPadDivision(nseg4);
461    MUON->SetSegmentationModel(chamber-1, 1, seg71);
462    AliMUONSegmentationV05 *seg72=new AliMUONSegmentationV05;
463    seg72->SetPadSize(1,10);
464    seg72->SetDAnod(0.25);
465    seg72->SetPadDivision(nseg4);
466    MUON->SetSegmentationModel(chamber-1, 2, seg72);
467
468    MUON->SetResponseModel(chamber-1, response0);
469
470    chamber=8;
471    //^^^^^^^^^
472    MUON->SetNsec(chamber-1,2);
473    AliMUONSegmentationV04 *seg81=new AliMUONSegmentationV04;
474    seg81->SetPadSize(10., 0.5);
475    seg81->SetPadDivision(nseg4);
476    seg81->SetDAnod(0.25);
477    MUON->SetSegmentationModel(chamber-1, 1, seg81);
478
479    AliMUONSegmentationV05 *seg82=new AliMUONSegmentationV05;
480    seg82->SetPadSize(1, 10);
481    seg82->SetPadDivision(nseg4);
482    seg82->SetDAnod(0.25);
483    MUON->SetSegmentationModel(chamber-1, 2, seg82);
484
485    MUON->SetResponseModel(chamber-1, response0);
486    //--------------------------------------------------------
487    // Configuration for Chamber TC9/10  (Station 5) ---------
488    //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
489    chamber=9;
490    //^^^^^^^^^
491    MUON->SetNsec(chamber-1,2);
492    //
493    AliMUONSegmentationV04 *seg91=new AliMUONSegmentationV04;
494    seg91->SetPadSize(10.,0.5);
495    seg91->SetDAnod(0.25);
496    seg91->SetPadDivision(nseg4);
497    MUON->SetSegmentationModel(chamber-1, 1, seg91);
498
499    AliMUONSegmentationV05 *seg92=new AliMUONSegmentationV05;
500    seg92->SetPadSize(1,10);
501    seg92->SetDAnod(0.25);
502    seg92->SetPadDivision(nseg4);
503
504    MUON->SetSegmentationModel(chamber-1, 2, seg92);
505
506    MUON->SetResponseModel(chamber-1, response0);
507
508    chamber=10;
509    //^^^^^^^^^
510    MUON->SetNsec(chamber-1,2);
511    AliMUONSegmentationV04 *seg101=new AliMUONSegmentationV04;
512    seg101->SetPadSize(10., 0.5);
513    seg101->SetPadDivision(nseg4);
514    seg101->SetDAnod(0.25);
515    MUON->SetSegmentationModel(chamber-1, 1, seg101);
516
517    AliMUONSegmentationV05 *seg102=new AliMUONSegmentationV05;
518    seg102->SetPadSize(1,10);
519    seg102->SetPadDivision(nseg4);
520    seg102->SetDAnod(0.25);
521    MUON->SetSegmentationModel(chamber-1, 2, seg102);
522
523    MUON->SetResponseModel(chamber-1, response0);
524
525  //--------------------------------------------------------
526  // Configuration for Trigger staions ---------------------
527  //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
528    AliMUONResponseTrigger* responseTrigger0 =  new AliMUONResponseTrigger;
529
530    chamber=11;
531    MUON->SetNsec(chamber-1,2);
532    AliMUONSegmentationTriggerX *seg111=new AliMUONSegmentationTriggerX;
533    MUON->SetSegmentationModel(chamber-1, 1, seg111);
534    AliMUONSegmentationTriggerY *seg112=new AliMUONSegmentationTriggerY;
535    MUON->SetSegmentationModel(chamber-1, 2, seg112);
536
537    MUON->SetResponseModel(chamber-1, responseTrigger0);
538
539    chamber=12;
540    MUON->SetNsec(chamber-1,2);
541    AliMUONSegmentationTriggerX *seg121=new AliMUONSegmentationTriggerX;
542    MUON->SetSegmentationModel(chamber-1, 1, seg121);
543    AliMUONSegmentationTriggerY *seg122=new AliMUONSegmentationTriggerY;
544    MUON->SetSegmentationModel(chamber-1, 2, seg122);
545
546    MUON->SetResponseModel(chamber-1, responseTrigger0);
547
548    chamber=13;
549    MUON->SetNsec(chamber-1,2);
550    AliMUONSegmentationTriggerX *seg131=new AliMUONSegmentationTriggerX;
551    MUON->SetSegmentationModel(chamber-1, 1, seg131);
552    AliMUONSegmentationTriggerY *seg132=new AliMUONSegmentationTriggerY;
553    MUON->SetSegmentationModel(chamber-1, 2, seg132);
554    MUON->SetResponseModel(chamber-1, responseTrigger0);
555
556    chamber=14;
557    MUON->SetNsec(chamber-1,2);
558    AliMUONSegmentationTriggerX *seg141=new AliMUONSegmentationTriggerX;
559    MUON->SetSegmentationModel(chamber-1, 1, seg141);
560    AliMUONSegmentationTriggerY *seg142=new AliMUONSegmentationTriggerY;
561    MUON->SetSegmentationModel(chamber-1, 2, seg142);
562
563    MUON->SetResponseModel(chamber-1, responseTrigger0);
564  }
565
566  //=================== PHOS parameters ===========================
567
568  if(iPHOS) {
569    AliPHOS *PHOS  = new AliPHOSv1("PHOS","GPS2");
570  }
571
572  if(iPMD) {
573  //=================== PMD parameters ============================
574
575    AliPMD *PMD  = new AliPMDv1("PMD","normal PMD");
576    PMD->SetPAR(1., 1., 0.8, 0.02);
577    PMD->SetIN(6., 18., -580., 27., 27.);
578    PMD->SetGEO(0.0, 0.2, 4.);
579    PMD->SetPadSize(0.8, 1.0, 1.0, 1.5);
580
581  }
582
583  if(iT0) {
584  //=================== T0 parameters ============================
585    AliT0 *T0  = new AliT0v1("T0","T0 Detector");
586  }
587
588
589  }