ROOT logo
void AliITSPrintHits(TString hfn="galice.root",Int_t mod=-1,
		     Int_t evnt=-1){
  // Macro to print out the recpoints for all or a specific module

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

  AliRunLoader *rl = AccessFile(hfn); // Set up to read in Data
  Int_t retval = rl->LoadHeader();
  if (retval){
    cerr<<"AliITSPrintHits.C : LoadHeader returned error"<<endl;
    return;
  }

  AliITSLoader* ITSloader =  (AliITSLoader*) rl->GetLoader("ITSLoader");

  if(!ITSloader){
    cerr<<"AliITSPrintHits.C :  ITS loader not found"<<endl;
    return;
  }

  ITSloader->LoadHits("read");
  AliITS *ITS = (AliITS*)gAlice->GetDetector("ITS");
  if(!ITS){
    cout << "Error: no ITS found. Aborting"<<endl;
    return;
  } // end if !ITS

  Int_t evNumber1 = 0;
  Int_t evNumber2 = AliRunLoader::GetNumberOfEvents();
  if(evnt>=0){
    evNumber1 = evnt;
    evNumber2 = evnt+1;
  } // end if evnt>=0
  Int_t mod1 = 0;
  Int_t mod2 = ITS->GetITSgeom()->GetIndexMax();
  if(mod>=0){
    mod1 = mod;
    mod2 = mod+1;
  } // end if mod>=0
  AliITShit *hp = 0;

  Int_t nmodules,size=-1;
  Int_t event,m,i,i2,hit,trk;
  for(event = evNumber1; event < evNumber2; event++){
    cout<<"Processing event "<<event<<endl;
    rl->GetEvent(event);
    ITS->InitModules(size,nmodules);
    ITS->FillModules(event,0,-1," "," ");
    for(m=mod1;m<mod2;m++){
      i2 = (ITS->GetModule(m))->GetNhits();
      cout <<  "Event=" << event << " module=" << m <<
	" Number of Hits=" << i2 <<endl;
      for(i=0;i<i2;i++){
	trk = (ITS->GetModule(m))->GetHitTrackIndex(i);
	hit = (ITS->GetModule(m))->GetHitHitIndex(i);
	hp  = (ITS->GetModule(m))->GetHit(i);
	cout << i << " trk#="<<trk<<" hit#="<< hit << " ";
	hp->Print((ostream*)cout);
	cout << endl;
      } // end for i
    } // end for m
    ITS->ClearModules();
  } // end for event
}
 AliITSPrintHits.C:1
 AliITSPrintHits.C:2
 AliITSPrintHits.C:3
 AliITSPrintHits.C:4
 AliITSPrintHits.C:5
 AliITSPrintHits.C:6
 AliITSPrintHits.C:7
 AliITSPrintHits.C:8
 AliITSPrintHits.C:9
 AliITSPrintHits.C:10
 AliITSPrintHits.C:11
 AliITSPrintHits.C:12
 AliITSPrintHits.C:13
 AliITSPrintHits.C:14
 AliITSPrintHits.C:15
 AliITSPrintHits.C:16
 AliITSPrintHits.C:17
 AliITSPrintHits.C:18
 AliITSPrintHits.C:19
 AliITSPrintHits.C:20
 AliITSPrintHits.C:21
 AliITSPrintHits.C:22
 AliITSPrintHits.C:23
 AliITSPrintHits.C:24
 AliITSPrintHits.C:25
 AliITSPrintHits.C:26
 AliITSPrintHits.C:27
 AliITSPrintHits.C:28
 AliITSPrintHits.C:29
 AliITSPrintHits.C:30
 AliITSPrintHits.C:31
 AliITSPrintHits.C:32
 AliITSPrintHits.C:33
 AliITSPrintHits.C:34
 AliITSPrintHits.C:35
 AliITSPrintHits.C:36
 AliITSPrintHits.C:37
 AliITSPrintHits.C:38
 AliITSPrintHits.C:39
 AliITSPrintHits.C:40
 AliITSPrintHits.C:41
 AliITSPrintHits.C:42
 AliITSPrintHits.C:43
 AliITSPrintHits.C:44
 AliITSPrintHits.C:45
 AliITSPrintHits.C:46
 AliITSPrintHits.C:47
 AliITSPrintHits.C:48
 AliITSPrintHits.C:49
 AliITSPrintHits.C:50
 AliITSPrintHits.C:51
 AliITSPrintHits.C:52
 AliITSPrintHits.C:53
 AliITSPrintHits.C:54
 AliITSPrintHits.C:55
 AliITSPrintHits.C:56
 AliITSPrintHits.C:57
 AliITSPrintHits.C:58
 AliITSPrintHits.C:59
 AliITSPrintHits.C:60
 AliITSPrintHits.C:61
 AliITSPrintHits.C:62
 AliITSPrintHits.C:63
 AliITSPrintHits.C:64
 AliITSPrintHits.C:65
 AliITSPrintHits.C:66
 AliITSPrintHits.C:67
 AliITSPrintHits.C:68
 AliITSPrintHits.C:69
 AliITSPrintHits.C:70
 AliITSPrintHits.C:71
 AliITSPrintHits.C:72
 AliITSPrintHits.C:73
 AliITSPrintHits.C:74
 AliITSPrintHits.C:75
 AliITSPrintHits.C:76
 AliITSPrintHits.C:77