ROOT logo
#if !defined(__CINT__) || defined(__MAKECINT__)

#include "Riostream.h"
#include "TDatime.h"
#include "TClassTable.h"
#include "AliRun.h"
#include "AliRunDigitizer.h"
#include "AliITSDigitizer.h"
#include "AliITS.h"
#include "AliITSDetType.h"
#include "AliITSLoader.h"
#include "AliITSresponseSDD.h"
#include "TStopwatch.h"

#endif

Int_t AliITSHits2SDigits(TString  filename = "galice.root")
 {
    // Standard ITS Hits to SDigits.

    // Dynamically link some shared libs
    if (gClassTable->GetID("AliRun") < 0) {
      gROOT->ProcessLine(".x $(ALICE_ROOT)/macros/loadlibs.C");
    }else if (gAlice){
      delete AliRunLoader::Instance();
      delete gAlice;
      gAlice=0;
     } 

    // Connect the Root Galice file containing Geometry, Kine and Hits

    AliRunLoader* rl = AliRunLoader::Open(filename);
    if (rl == 0x0)
     {
      cerr<<"AliITSHits2SDigits.C : Can not open session RL=NULL"
           << endl;
       return 3;
     }
     
    Int_t retval = rl->LoadgAlice();
    if (retval)
     {
      cerr<<"AliITSHits2SDigits.C : LoadgAlice returned error"
           << endl;
       return 3;
     }
    gAlice=rl->GetAliRun();
    AliITSLoader* gime = (AliITSLoader*) rl->GetLoader("ITSLoader");
    if (gime == 0x0)
     {
      cerr<<"AliITSHits2SDigits.C : can not get ITS loader"
           << endl;
     }
    AliITS *ITS = (AliITS*)gAlice->GetDetector("ITS");      
    if (!ITS) {
	cerr<<"AliITSHits2SDigits.C : AliITS object not found on file"
	    << endl;
	return 3;
    }  // end if !ITS
    if(!(ITS->GetITSgeom())){
       cerr << " AliITSgeom not found. Can't digitize without it." << endl;
       return 4;
    } // end if

    TStopwatch timer;
    Int_t evNumber1 = 0;
    Int_t evNumber2 = AliRunLoader::GetNumberOfEvents();
    timer.Start();
    retval = gime->LoadHits();
    if (retval)
     {
      cerr<<"AliITSHits2SDigits.C : ITSLoader::LoadHits returned error"
           << endl;
       return 3;
     }
    retval = gime->LoadSDigits("recreate");
    if (retval)
     {
      cerr<<"AliITSHits2SDigits.C : ITSLoader::LoadSDigits returned error"
           << endl;
       return 3;
     }
    for(Int_t event = evNumber1; event < evNumber2; event++){
       rl->GetEvent(event);
       if(!gime->TreeS()){ 
           cout << "Having to create the SDigits Tree." << endl;
           gime->MakeTree("S");
       } // end 

       ITS->MakeBranch("S");
       ITS->SetTreeAddress();
       cout<<"Making ITS SDigits for event "<<event<<endl;
       ITS->Hits2SDigits();
    } // end for event
    timer.Stop();
    timer.Print();

    delete rl; // sdigfile is closed by deleting gAlice if != hitfile.
    return 0;
}
 AliITSHits2SDigits.C:1
 AliITSHits2SDigits.C:2
 AliITSHits2SDigits.C:3
 AliITSHits2SDigits.C:4
 AliITSHits2SDigits.C:5
 AliITSHits2SDigits.C:6
 AliITSHits2SDigits.C:7
 AliITSHits2SDigits.C:8
 AliITSHits2SDigits.C:9
 AliITSHits2SDigits.C:10
 AliITSHits2SDigits.C:11
 AliITSHits2SDigits.C:12
 AliITSHits2SDigits.C:13
 AliITSHits2SDigits.C:14
 AliITSHits2SDigits.C:15
 AliITSHits2SDigits.C:16
 AliITSHits2SDigits.C:17
 AliITSHits2SDigits.C:18
 AliITSHits2SDigits.C:19
 AliITSHits2SDigits.C:20
 AliITSHits2SDigits.C:21
 AliITSHits2SDigits.C:22
 AliITSHits2SDigits.C:23
 AliITSHits2SDigits.C:24
 AliITSHits2SDigits.C:25
 AliITSHits2SDigits.C:26
 AliITSHits2SDigits.C:27
 AliITSHits2SDigits.C:28
 AliITSHits2SDigits.C:29
 AliITSHits2SDigits.C:30
 AliITSHits2SDigits.C:31
 AliITSHits2SDigits.C:32
 AliITSHits2SDigits.C:33
 AliITSHits2SDigits.C:34
 AliITSHits2SDigits.C:35
 AliITSHits2SDigits.C:36
 AliITSHits2SDigits.C:37
 AliITSHits2SDigits.C:38
 AliITSHits2SDigits.C:39
 AliITSHits2SDigits.C:40
 AliITSHits2SDigits.C:41
 AliITSHits2SDigits.C:42
 AliITSHits2SDigits.C:43
 AliITSHits2SDigits.C:44
 AliITSHits2SDigits.C:45
 AliITSHits2SDigits.C:46
 AliITSHits2SDigits.C:47
 AliITSHits2SDigits.C:48
 AliITSHits2SDigits.C:49
 AliITSHits2SDigits.C:50
 AliITSHits2SDigits.C:51
 AliITSHits2SDigits.C:52
 AliITSHits2SDigits.C:53
 AliITSHits2SDigits.C:54
 AliITSHits2SDigits.C:55
 AliITSHits2SDigits.C:56
 AliITSHits2SDigits.C:57
 AliITSHits2SDigits.C:58
 AliITSHits2SDigits.C:59
 AliITSHits2SDigits.C:60
 AliITSHits2SDigits.C:61
 AliITSHits2SDigits.C:62
 AliITSHits2SDigits.C:63
 AliITSHits2SDigits.C:64
 AliITSHits2SDigits.C:65
 AliITSHits2SDigits.C:66
 AliITSHits2SDigits.C:67
 AliITSHits2SDigits.C:68
 AliITSHits2SDigits.C:69
 AliITSHits2SDigits.C:70
 AliITSHits2SDigits.C:71
 AliITSHits2SDigits.C:72
 AliITSHits2SDigits.C:73
 AliITSHits2SDigits.C:74
 AliITSHits2SDigits.C:75
 AliITSHits2SDigits.C:76
 AliITSHits2SDigits.C:77
 AliITSHits2SDigits.C:78
 AliITSHits2SDigits.C:79
 AliITSHits2SDigits.C:80
 AliITSHits2SDigits.C:81
 AliITSHits2SDigits.C:82
 AliITSHits2SDigits.C:83
 AliITSHits2SDigits.C:84
 AliITSHits2SDigits.C:85
 AliITSHits2SDigits.C:86
 AliITSHits2SDigits.C:87
 AliITSHits2SDigits.C:88
 AliITSHits2SDigits.C:89
 AliITSHits2SDigits.C:90
 AliITSHits2SDigits.C:91
 AliITSHits2SDigits.C:92
 AliITSHits2SDigits.C:93
 AliITSHits2SDigits.C:94
 AliITSHits2SDigits.C:95
 AliITSHits2SDigits.C:96
 AliITSHits2SDigits.C:97
 AliITSHits2SDigits.C:98
 AliITSHits2SDigits.C:99
 AliITSHits2SDigits.C:100
 AliITSHits2SDigits.C:101