ROOT logo
#include "iostream.h"
#include "TFile.h"
#include "TString.h"
#include "TClonesArray.h"
/*
#include "$(ALICE_ROOT)/STEER/AliRun.h"
#include "$(ALICE_ROOT)/ITS/AliITS.h"
#include "$(ALICE_ROOT)/ITS/AliITSgeom.h"
#include "$(ALICE_ROOT)/ITS/AliITSdigit.h"
*/
void AliITSPrintDigits(TString rfn="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();
    } // end if
    gROOT->LoadMacro("$(ALICE_ROOT)/ITS/AliITSstandard.C");

    TFile *rf=0;
    rf = AccessFile(rfn,"R"); // Set up to read in Data
    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 = gAlice->GetEventsPerRun();
    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 = mode+1;
    } // end if mod>=0
    TClonesArray   *pda = 0;
    AliITSdigitSPD *dp0 = 0;
    AliITSdigitSDD *dp1 = 0;
    AliITSdigitSSD *dp2 = 0;

    Int_t event,m,i,i2,id;
    for(event = evNumber1; event < evNumber2; event++){
        gAlice->GetEvent(event);
	for(m=mod1;m<mod2;m++){
	    id = ITS->GetITSgeom()->GetModuleType(m);
	    dpa = ITS->DigitsAddress(id);
	    ITS->ResetDigits();
	    gAlice->TreeD()->GetEvent(m);
	    i2 = dpa->GetEntriesFast();
	    switch (id) {
	    case 0:
		cout <<  "Event=" << event << " module=" << m <<
		    " Number of SPD Digits=" << i2 <<endl;
		for(i=0;i<i2;i++){
		    dp0 = (AliITSdigitSPD*)(dpa->At(i));
		    cout << i << " ";
		    dp0->Print((ostream*)cout);
		    cout << endl;
		} // end for i
		break;
	    case 1:
		cout <<  "Event=" << event << " module=" << m <<
		    " Number of SDD Digits=" << i2 <<endl;
		for(i=0;i<i2;i++){
		    dp1 = (AliITSdigitSDD*)(dpa->At(i));
		    cout << i << " ";
		    dp1->Print((ostream*)cout);
		    cout << endl;
		} // end for i
		break;
	    case 2:
		cout <<  "Event=" << event << " module=" << m <<
		    " Number of SSD Digits=" << i2 <<endl;
		for(i=0;i<i2;i++){
		    dp2 = (AliITSdigitSSD*)(dpa->At(i));
		    cout << i << " ";
		    dp2->Print((ostream*)cout);
		    cout << endl;
		} // end for i
		break;
	    default:
		break;
	    } // end switch
	} // end for m
    } // end for event
}
 AliITSPrintDigits.C:1
 AliITSPrintDigits.C:2
 AliITSPrintDigits.C:3
 AliITSPrintDigits.C:4
 AliITSPrintDigits.C:5
 AliITSPrintDigits.C:6
 AliITSPrintDigits.C:7
 AliITSPrintDigits.C:8
 AliITSPrintDigits.C:9
 AliITSPrintDigits.C:10
 AliITSPrintDigits.C:11
 AliITSPrintDigits.C:12
 AliITSPrintDigits.C:13
 AliITSPrintDigits.C:14
 AliITSPrintDigits.C:15
 AliITSPrintDigits.C:16
 AliITSPrintDigits.C:17
 AliITSPrintDigits.C:18
 AliITSPrintDigits.C:19
 AliITSPrintDigits.C:20
 AliITSPrintDigits.C:21
 AliITSPrintDigits.C:22
 AliITSPrintDigits.C:23
 AliITSPrintDigits.C:24
 AliITSPrintDigits.C:25
 AliITSPrintDigits.C:26
 AliITSPrintDigits.C:27
 AliITSPrintDigits.C:28
 AliITSPrintDigits.C:29
 AliITSPrintDigits.C:30
 AliITSPrintDigits.C:31
 AliITSPrintDigits.C:32
 AliITSPrintDigits.C:33
 AliITSPrintDigits.C:34
 AliITSPrintDigits.C:35
 AliITSPrintDigits.C:36
 AliITSPrintDigits.C:37
 AliITSPrintDigits.C:38
 AliITSPrintDigits.C:39
 AliITSPrintDigits.C:40
 AliITSPrintDigits.C:41
 AliITSPrintDigits.C:42
 AliITSPrintDigits.C:43
 AliITSPrintDigits.C:44
 AliITSPrintDigits.C:45
 AliITSPrintDigits.C:46
 AliITSPrintDigits.C:47
 AliITSPrintDigits.C:48
 AliITSPrintDigits.C:49
 AliITSPrintDigits.C:50
 AliITSPrintDigits.C:51
 AliITSPrintDigits.C:52
 AliITSPrintDigits.C:53
 AliITSPrintDigits.C:54
 AliITSPrintDigits.C:55
 AliITSPrintDigits.C:56
 AliITSPrintDigits.C:57
 AliITSPrintDigits.C:58
 AliITSPrintDigits.C:59
 AliITSPrintDigits.C:60
 AliITSPrintDigits.C:61
 AliITSPrintDigits.C:62
 AliITSPrintDigits.C:63
 AliITSPrintDigits.C:64
 AliITSPrintDigits.C:65
 AliITSPrintDigits.C:66
 AliITSPrintDigits.C:67
 AliITSPrintDigits.C:68
 AliITSPrintDigits.C:69
 AliITSPrintDigits.C:70
 AliITSPrintDigits.C:71
 AliITSPrintDigits.C:72
 AliITSPrintDigits.C:73
 AliITSPrintDigits.C:74
 AliITSPrintDigits.C:75
 AliITSPrintDigits.C:76
 AliITSPrintDigits.C:77
 AliITSPrintDigits.C:78
 AliITSPrintDigits.C:79
 AliITSPrintDigits.C:80
 AliITSPrintDigits.C:81
 AliITSPrintDigits.C:82
 AliITSPrintDigits.C:83
 AliITSPrintDigits.C:84
 AliITSPrintDigits.C:85
 AliITSPrintDigits.C:86
 AliITSPrintDigits.C:87
 AliITSPrintDigits.C:88
 AliITSPrintDigits.C:89
 AliITSPrintDigits.C:90
 AliITSPrintDigits.C:91
 AliITSPrintDigits.C:92
 AliITSPrintDigits.C:93