]>
Commit | Line | Data |
---|---|---|
c108b570 | 1 | #include "iostream.h" |
2 | #include "TFile.h" | |
3 | #include "TString.h" | |
4 | #include "TClonesArray.h" | |
5 | /* | |
6 | #include "$(ALICE_ROOT)/STEER/AliRun.h" | |
7 | #include "$(ALICE_ROOT)/ITS/AliITS.h" | |
8 | #include "$(ALICE_ROOT)/ITS/AliITSgeom.h" | |
9 | #include "$(ALICE_ROOT)/ITS/AliITSdigit.h" | |
10 | */ | |
11 | void AliITSPrintDigits(TString rfn="galice.root",Int_t mod=-1, | |
12 | Int_t evnt=-1){ | |
13 | // Macro to print out the recpoints for all or a specific module | |
14 | ||
15 | // Dynamically link some shared libs | |
16 | if (gClassTable->GetID("AliRun") < 0) { | |
17 | gROOT->LoadMacro("loadlibs.C"); | |
18 | loadlibs(); | |
19 | } // end if | |
20 | gROOT->LoadMacro("$(ALICE_ROOT)/ITS/AliITSstandard.C"); | |
21 | ||
22 | TFile *rf=0; | |
23 | rf = AccessFile(rfn,"R"); // Set up to read in Data | |
24 | AliITS *ITS = (AliITS*)gAlice->GetDetector("ITS"); | |
25 | if(!ITS){ | |
26 | cout << "Error: no ITS found. Aborting"<<endl; | |
27 | return; | |
28 | } // end if !ITS | |
29 | ||
30 | Int_t evNumber1 = 0; | |
31 | Int_t evNumber2 = gAlice->GetEventsPerRun(); | |
32 | if(evnt>=0){ | |
33 | evNumber1 = evnt; | |
34 | evNumber2 = evnt+1; | |
35 | } // end if evnt>=0 | |
36 | Int_t mod1 = 0; | |
37 | Int_t mod2 = ITS->GetITSgeom()->GetIndexMax(); | |
38 | if(mod>=0){ | |
39 | mod1 = mod; | |
40 | mod2 = mode+1; | |
41 | } // end if mod>=0 | |
42 | TClonesArray *pda = 0; | |
43 | AliITSdigitSPD *dp0 = 0; | |
44 | AliITSdigitSDD *dp1 = 0; | |
45 | AliITSdigitSSD *dp2 = 0; | |
46 | ||
47 | Int_t event,m,i,i2,id; | |
48 | for(event = evNumber1; event < evNumber2; event++){ | |
49 | gAlice->GetEvent(event); | |
50 | for(m=mod1;m<mod2;m++){ | |
51 | id = ITS->GetITSgeom()->GetModuleType(m); | |
52 | dpa = ITS->DigitsAddress(id); | |
53 | ITS->ResetDigits(); | |
54 | gAlice->TreeD()->GetEvent(m); | |
55 | i2 = dpa->GetEntriesFast(); | |
56 | switch (id) { | |
57 | case 0: | |
58 | cout << "Event=" << event << " module=" << m << | |
59 | " Number of SPD Digits=" << i2 <<endl; | |
60 | for(i=0;i<i2;i++){ | |
61 | dp0 = (AliITSdigitSPD*)(dpa->At(i)); | |
62 | cout << i << " "; | |
63 | dp0->Print((ostream*)cout); | |
64 | cout << endl; | |
65 | } // end for i | |
66 | break; | |
67 | case 1: | |
68 | cout << "Event=" << event << " module=" << m << | |
69 | " Number of SDD Digits=" << i2 <<endl; | |
70 | for(i=0;i<i2;i++){ | |
71 | dp1 = (AliITSdigitSDD*)(dpa->At(i)); | |
72 | cout << i << " "; | |
73 | dp1->Print((ostream*)cout); | |
74 | cout << endl; | |
75 | } // end for i | |
76 | break; | |
77 | case 2: | |
78 | cout << "Event=" << event << " module=" << m << | |
79 | " Number of SSD Digits=" << i2 <<endl; | |
80 | for(i=0;i<i2;i++){ | |
81 | dp2 = (AliITSdigitSSD*)(dpa->At(i)); | |
82 | cout << i << " "; | |
83 | dp2->Print((ostream*)cout); | |
84 | cout << endl; | |
85 | } // end for i | |
86 | break; | |
87 | default: | |
88 | break; | |
89 | } // end switch | |
90 | } // end for m | |
91 | } // end for event | |
92 | } |