ROOT logo
// In order to create galice.root follow the steps shown below
//
//  gAlice->Init("galice.C");
//  AliRunLoader::Instance()->Write();
//  delete AliRunLoader::Instance();
//



void Config()
{
    AliRunLoader* runLoader = AliRunLoader::Open("galice.root", AliConfig::GetDefaultEventFolderName(), "recreate");
    runLoader->SetCompressionLevel(2);
    runLoader->SetNumberOfEventsPerFile(1);
    gAlice->SetRunLoader(runLoader);

    gSystem->Load("libgeant321");
    new TGeant3("C++ Interface to Geant3");

    // Field (L3 0.4 T)
    TGeoGlobalMagField::Instance()->SetField(new AliMagF("Maps","Maps", 1., 1., AliMagF::k5kG));

    Int_t   iABSO  =  0;
    Int_t   iDIPO  =  0;
    Int_t   iFMD   =  0;
    Int_t   iFRAME =  0;
    Int_t   iHALL  =  0;
    Int_t   iITS   =  1;
    Int_t   iMAG   =  0;
    Int_t   iMUON  =  0;
    Int_t   iPHOS  =  0;
    Int_t   iPIPE  =  0;
    Int_t   iPMD   =  0;
    Int_t   iHMPID  =  0;
    Int_t   iSHIL  =  0;
    Int_t   iT0 =  0;
    Int_t   iTOF   =  0;
    Int_t   iTPC   =  1;
    Int_t   iTRD   =  0;
    Int_t   iZDC   =  0;
    Int_t   iEMCAL =  0;
    Int_t   iACORDE   =  0;
    Int_t   iVZERO =  0;
    runLoader->CdGAFile();
    //=================== Alice BODY parameters =============================
    AliBODY *BODY = new AliBODY("BODY", "Alice envelop");

    if (iMAG)
    {
        //=================== MAG parameters ============================
        // --- Start with Magnet since detector layouts may be depending ---
        // --- on the selected Magnet dimensions ---
        AliMAG *MAG = new AliMAG("MAG", "Magnet");
    }


    if (iABSO)
    {
        //=================== ABSO parameters ============================
        AliABSO *ABSO = new AliABSOv0("ABSO", "Muon Absorber");
    }

    if (iDIPO)
    {
        //=================== DIPO parameters ============================

        AliDIPO *DIPO = new AliDIPOv2("DIPO", "Dipole version 2");
    }

    if (iHALL)
    {
        //=================== HALL parameters ============================

        AliHALL *HALL = new AliHALL("HALL", "Alice Hall");
    }


    if (iFRAME)
    {
        //=================== FRAME parameters ============================

        AliFRAMEv2 *FRAME = new AliFRAMEv2("FRAME", "Space Frame");
	if (geo == kHoles) {
	    FRAME->SetHoles(1);
	} else {
	    FRAME->SetHoles(0);
	}
    }

    if (iSHIL)
    {
        //=================== SHIL parameters ============================

        AliSHIL *SHIL = new AliSHILv2("SHIL", "Shielding Version 2");
    }


    if (iPIPE)
    {
        //=================== PIPE parameters ============================

        AliPIPE *PIPE = new AliPIPEv0("PIPE", "Beam Pipe");
    }
 
    if(iITS) {

    //=================== ITS parameters ============================
    //
    // As the innermost detector in ALICE, the Inner Tracking System "impacts" on
    // almost all other detectors. This involves the fact that the ITS geometry
    // still has several options to be followed in parallel in order to determine
    // the best set-up which minimizes the induced background. All the geometries
    // available to date are described in the following. Read carefully the comments
    // and use the default version (the only one uncommented) unless you are making
    // comparisons and you know what you are doing. In this case just uncomment the
    // ITS geometry you want to use and run Aliroot.
    //
    // Detailed geometries:         
    //
    //
    //AliITS *ITS  = new AliITSv5symm("ITS","Updated ITS TDR detailed version with symmetric services");
    //
    //AliITS *ITS  = new AliITSv5asymm("ITS","Updates ITS TDR detailed version with asymmetric services");
    //
	AliITSvPPRasymmFMD *ITS  = new AliITSvPPRasymmFMD("ITS","New ITS PPR detailed version with asymmetric services");
	ITS->SetMinorVersion(2);					 // don't touch this parameter if you're not an ITS developer
	ITS->SetReadDet(kFALSE);					 // don't touch this parameter if you're not an ITS developer
    //    ITS->SetWriteDet("$ALICE_ROOT/ITS/ITSgeometry_vPPRasymm2.det");  // don't touch this parameter if you're not an ITS developer
	ITS->SetThicknessDet1(200.);   // detector thickness on layer 1 must be in the range [100,300]
	ITS->SetThicknessDet2(200.);   // detector thickness on layer 2 must be in the range [100,300]
	ITS->SetThicknessChip1(200.);  // chip thickness on layer 1 must be in the range [150,300]
	ITS->SetThicknessChip2(200.);  // chip thickness on layer 2 must be in the range [150,300]
	ITS->SetRails(0);	     // 1 --> rails in ; 0 --> rails out
	ITS->SetCoolingFluid(1);   // 1 --> water ; 0 --> freon
	//
    //AliITSvPPRsymm *ITS  = new AliITSvPPRsymm("ITS","New ITS PPR detailed version with symmetric services");
    //ITS->SetMinorVersion(2);                                       // don't touch this parameter if you're not an ITS developer
    //ITS->SetReadDet(kFALSE);                                       // don't touch this parameter if you're not an ITS developer
    //ITS->SetWriteDet("$ALICE_ROOT/ITS/ITSgeometry_vPPRsymm2.det"); // don't touch this parameter if you're not an ITS developer
    //ITS->SetThicknessDet1(200.);   // detector thickness on layer 1 must be in the range [100,300]
    //ITS->SetThicknessDet2(200.);   // detector thickness on layer 2 must be in the range [100,300]
    //ITS->SetThicknessChip1(200.);  // chip thickness on layer 1 must be in the range [150,300]
    //ITS->SetThicknessChip2(200.);  // chip thickness on layer 2 must be in the range [150,300]
    //ITS->SetRails(0);              // 1 --> rails in ; 0 --> rails out
    //ITS->SetCoolingFluid(1);       // 1 --> water ; 0 --> freon
    //
    //
    // Coarse geometries (warning: no hits are produced with these coarse geometries and they unuseful 
    // for reconstruction !):
    //                                                     
    //
    //AliITSvPPRcoarseasymm *ITS  = new AliITSvPPRcoarseasymm("ITS","New ITS PPR coarse version with asymmetric services");
    //ITS->SetRails(0);                // 1 --> rails in ; 0 --> rails out
    //ITS->SetSupportMaterial(0);      // 0 --> Copper ; 1 --> Aluminum ; 2 --> Carbon
    //
    //AliITS *ITS  = new AliITSvPPRcoarsesymm("ITS","New ITS PPR coarse version with symmetric services");
    //ITS->SetRails(0);                // 1 --> rails in ; 0 --> rails out
    //ITS->SetSupportMaterial(0);      // 0 --> Copper ; 1 --> Aluminum ; 2 --> Carbon
    //                      
    //
    //
    // Geant3 <-> EUCLID conversion
    // ============================
    //
    // SetEUCLID is a flag to output (=1) or not to output (=0) both geometry and
    // media to two ASCII files (called by default ITSgeometry.euc and
    // ITSgeometry.tme) in a format understandable to the CAD system EUCLID.
    // The default (=0) means that you dont want to use this facility.
    //
     ITS->SetEUCLID(0);  
    }

    if (iTPC)
    {
        //============================ TPC parameters ================================
        // --- This allows the user to specify sectors for the SLOW (TPC geometry 2)
        // --- Simulator. SecAL (SecAU) <0 means that ALL lower (upper)
        // --- sectors are specified, any value other than that requires at least one 
        // --- sector (lower or upper)to be specified!
        // --- Reminder: sectors 1-24 are lower sectors (1-12 -> z>0, 13-24 -> z<0)
        // ---           sectors 25-72 are the upper ones (25-48 -> z>0, 49-72 -> z<0)
        // --- SecLows - number of lower sectors specified (up to 6)
        // --- SecUps - number of upper sectors specified (up to 12)
        // --- Sens - sensitive strips for the Slow Simulator !!!
        // --- This does NOT work if all S or L-sectors are specified, i.e.
        // --- if SecAL or SecAU < 0
        //
        //
        //-----------------------------------------------------------------------------

        //  gROOT->LoadMacro("SetTPCParam.C");
        //  AliTPCParam *param = SetTPCParam();
        AliTPC *TPC = new AliTPCv2("TPC", "Default");

        // All sectors included 
        TPC->SetSecAU(-1);
        TPC->SetSecAL(-1);
    }


    if (iTOF) {
	if (geo == kHoles) {
        //=================== TOF parameters ============================
	    AliTOF *TOF = new AliTOFv2FHoles("TOF", "TOF with Holes");
	} else {
	    AliTOF *TOF = new AliTOFv4T0("TOF", "normal TOF");
	}
    }


    if (iHMPID)
    {
        //=================== HMPID parameters ===========================
        AliHMPID *HMPID = new AliHMPIDv3("HMPID", "normal HMPID");

    }


    if (iZDC)
    {
        //=================== ZDC parameters ============================

        AliZDC *ZDC = new AliZDCv2("ZDC", "normal ZDC");
    }

    if (iTRD)
    {
        //=================== TRD parameters ============================

        AliTRD *TRD = new AliTRDv1("TRD", "TRD slow simulator");

        // Select the gas mixture (0: 97% Xe + 3% isobutane, 1: 90% Xe + 10% CO2)
        TRD->SetGasMix(1);
	if (geo == kHoles) {
	    // With hole in front of PHOS
	    TRD->SetPHOShole();
	    // With hole in front of HMPID
	    TRD->SetHMPIDhole();
	}
	    // Switch on TR
	    AliTRDsim *TRDsim = TRD->CreateTR();
    }

    if (iFMD)
    {
        //=================== FMD parameters ============================
	AliFMD *FMD = new AliFMDv1("FMD", "normal FMD");
        FMD->SetRingsSi1(256);
        FMD->SetRingsSi2(128);
        FMD->SetSectorsSi1(20);
        FMD->SetSectorsSi2(40);      
   }

    if (iMUON)
    {
        //=================== MUON parameters ===========================

        AliMUON *MUON = new AliMUONv1("MUON", "default");
    }
    //=================== PHOS parameters ===========================

    if (iPHOS)
    {
        AliPHOS *PHOS = new AliPHOSv1("PHOS", "IHEP");
    }


    if (iPMD)
    {
        //=================== PMD parameters ============================
        AliPMD *PMD = new AliPMDv1("PMD", "normal PMD");
    }

    if (iT0)
    {
        //=================== T0 parameters ============================
        AliT0 *T0 = new AliT0v1("T0", "T0 Detector");
    }

    if (iEMCAL)
    {
        //=================== EMCAL parameters ============================
        AliEMCAL *EMCAL = new AliEMCALv1("EMCAL", "EMCALArch1a");
    }

     if (iACORDE)
    {
        //=================== ACORDE parameters ============================
        AliACORDE *ACORDE = new AliACORDEv1("ACORDE", "normal ACORDE");
    }

     if (iVZERO)
    {
        //=================== ACORDE parameters ============================
        AliVZERO *VZERO = new AliVZEROv2("VZERO", "normal VZERO");
    }

}
 galice.C:1
 galice.C:2
 galice.C:3
 galice.C:4
 galice.C:5
 galice.C:6
 galice.C:7
 galice.C:8
 galice.C:9
 galice.C:10
 galice.C:11
 galice.C:12
 galice.C:13
 galice.C:14
 galice.C:15
 galice.C:16
 galice.C:17
 galice.C:18
 galice.C:19
 galice.C:20
 galice.C:21
 galice.C:22
 galice.C:23
 galice.C:24
 galice.C:25
 galice.C:26
 galice.C:27
 galice.C:28
 galice.C:29
 galice.C:30
 galice.C:31
 galice.C:32
 galice.C:33
 galice.C:34
 galice.C:35
 galice.C:36
 galice.C:37
 galice.C:38
 galice.C:39
 galice.C:40
 galice.C:41
 galice.C:42
 galice.C:43
 galice.C:44
 galice.C:45
 galice.C:46
 galice.C:47
 galice.C:48
 galice.C:49
 galice.C:50
 galice.C:51
 galice.C:52
 galice.C:53
 galice.C:54
 galice.C:55
 galice.C:56
 galice.C:57
 galice.C:58
 galice.C:59
 galice.C:60
 galice.C:61
 galice.C:62
 galice.C:63
 galice.C:64
 galice.C:65
 galice.C:66
 galice.C:67
 galice.C:68
 galice.C:69
 galice.C:70
 galice.C:71
 galice.C:72
 galice.C:73
 galice.C:74
 galice.C:75
 galice.C:76
 galice.C:77
 galice.C:78
 galice.C:79
 galice.C:80
 galice.C:81
 galice.C:82
 galice.C:83
 galice.C:84
 galice.C:85
 galice.C:86
 galice.C:87
 galice.C:88
 galice.C:89
 galice.C:90
 galice.C:91
 galice.C:92
 galice.C:93
 galice.C:94
 galice.C:95
 galice.C:96
 galice.C:97
 galice.C:98
 galice.C:99
 galice.C:100
 galice.C:101
 galice.C:102
 galice.C:103
 galice.C:104
 galice.C:105
 galice.C:106
 galice.C:107
 galice.C:108
 galice.C:109
 galice.C:110
 galice.C:111
 galice.C:112
 galice.C:113
 galice.C:114
 galice.C:115
 galice.C:116
 galice.C:117
 galice.C:118
 galice.C:119
 galice.C:120
 galice.C:121
 galice.C:122
 galice.C:123
 galice.C:124
 galice.C:125
 galice.C:126
 galice.C:127
 galice.C:128
 galice.C:129
 galice.C:130
 galice.C:131
 galice.C:132
 galice.C:133
 galice.C:134
 galice.C:135
 galice.C:136
 galice.C:137
 galice.C:138
 galice.C:139
 galice.C:140
 galice.C:141
 galice.C:142
 galice.C:143
 galice.C:144
 galice.C:145
 galice.C:146
 galice.C:147
 galice.C:148
 galice.C:149
 galice.C:150
 galice.C:151
 galice.C:152
 galice.C:153
 galice.C:154
 galice.C:155
 galice.C:156
 galice.C:157
 galice.C:158
 galice.C:159
 galice.C:160
 galice.C:161
 galice.C:162
 galice.C:163
 galice.C:164
 galice.C:165
 galice.C:166
 galice.C:167
 galice.C:168
 galice.C:169
 galice.C:170
 galice.C:171
 galice.C:172
 galice.C:173
 galice.C:174
 galice.C:175
 galice.C:176
 galice.C:177
 galice.C:178
 galice.C:179
 galice.C:180
 galice.C:181
 galice.C:182
 galice.C:183
 galice.C:184
 galice.C:185
 galice.C:186
 galice.C:187
 galice.C:188
 galice.C:189
 galice.C:190
 galice.C:191
 galice.C:192
 galice.C:193
 galice.C:194
 galice.C:195
 galice.C:196
 galice.C:197
 galice.C:198
 galice.C:199
 galice.C:200
 galice.C:201
 galice.C:202
 galice.C:203
 galice.C:204
 galice.C:205
 galice.C:206
 galice.C:207
 galice.C:208
 galice.C:209
 galice.C:210
 galice.C:211
 galice.C:212
 galice.C:213
 galice.C:214
 galice.C:215
 galice.C:216
 galice.C:217
 galice.C:218
 galice.C:219
 galice.C:220
 galice.C:221
 galice.C:222
 galice.C:223
 galice.C:224
 galice.C:225
 galice.C:226
 galice.C:227
 galice.C:228
 galice.C:229
 galice.C:230
 galice.C:231
 galice.C:232
 galice.C:233
 galice.C:234
 galice.C:235
 galice.C:236
 galice.C:237
 galice.C:238
 galice.C:239
 galice.C:240
 galice.C:241
 galice.C:242
 galice.C:243
 galice.C:244
 galice.C:245
 galice.C:246
 galice.C:247
 galice.C:248
 galice.C:249
 galice.C:250
 galice.C:251
 galice.C:252
 galice.C:253
 galice.C:254
 galice.C:255
 galice.C:256
 galice.C:257
 galice.C:258
 galice.C:259
 galice.C:260
 galice.C:261
 galice.C:262
 galice.C:263
 galice.C:264
 galice.C:265
 galice.C:266
 galice.C:267
 galice.C:268
 galice.C:269
 galice.C:270
 galice.C:271
 galice.C:272
 galice.C:273
 galice.C:274
 galice.C:275
 galice.C:276
 galice.C:277
 galice.C:278
 galice.C:279
 galice.C:280
 galice.C:281
 galice.C:282
 galice.C:283
 galice.C:284
 galice.C:285
 galice.C:286
 galice.C:287
 galice.C:288
 galice.C:289
 galice.C:290
 galice.C:291
 galice.C:292
 galice.C:293
 galice.C:294
 galice.C:295
 galice.C:296
 galice.C:297
 galice.C:298
 galice.C:299