]> git.uio.no Git - u/mrichter/AliRoot.git/blob - RICH/RICHdigit.C
Fixed compiling error for HP (multiple declaration)
[u/mrichter/AliRoot.git] / RICH / RICHdigit.C
1 // 0 = all
2 // 1 = pion
3 // 2 = kaon
4 // 3 = proton
5 // 4 = muon
6 // 5 = electron
7 // 6 = neutron
8
9
10 Int_t particle_type=0;
11
12 #include "iostream.h"
13
14 void RICHdigit (Int_t evNumber1=0,Int_t evNumber2=0) 
15 {
16 /////////////////////////////////////////////////////////////////////////
17 //   This macro is a small example of a ROOT macro
18 //   illustrating how to read the output of GALICE
19 //   and do some analysis.
20 //   
21 /////////////////////////////////////////////////////////////////////////
22
23 // Dynamically link some shared libs
24
25    
26   if (gClassTable->GetID("AliRun") < 0) {
27       gROOT->LoadMacro("loadlibs.C");
28       loadlibs();
29    }
30
31
32 // Connect the Root Galice file containing Geometry, Kine and Hits
33
34    TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject("galice.root");
35    if (file) file->Close(); 
36    file = new TFile("galice.root","UPDATE");
37 //   file->ls();
38 // Get AliRun object from file or create it if not on file
39
40    
41
42    if (gClassTable->GetID("AliRun") < 0) {
43         gROOT->LoadMacro("loadlibs.C");
44         loadlibs();
45     }
46     else {
47       //delete gAlice;
48       gAlice = 0;
49     }
50    
51
52
53    if (!gAlice) {
54        gAlice = (AliRun*)file->Get("gAlice");
55        if (gAlice) printf("AliRun object found on file\n");
56        if (!gAlice) gAlice = new AliRun("gAlice","Alice test program");
57    } else {
58       delete gAlice;
59       gAlice = (AliRun*)file->Get("gAlice");
60         if (gAlice) printf("AliRun object found on file\n");
61         if (!gAlice) gAlice = new AliRun("gAlice","Alice test program");
62     }
63       
64    AliRICH *RICH  = (AliRICH*) gAlice->GetDetector("RICH");
65 //
66 // Event Loop
67 //
68    for (int nev=0; nev<= evNumber2; nev++) {
69        Int_t nparticles = gAlice->GetEvent(nev);
70        cout <<endl<< "Processing event:" <<nev<<endl;
71        cout << "Particles       :" <<nparticles<<endl;
72        if (nev < evNumber1) continue;
73        if (nparticles <= 0) return;
74        if (RICH) RICH->Digitise(nev, particle_type);
75        char hname[30];
76        sprintf(hname,"TreeD%d",nev);
77        gAlice->TreeD()->Write(hname);
78        gAlice->TreeD()->Reset();
79    } // event loop 
80    file->Close();
81
82    //delete gAlice;
83    printf("\nEnd of Macro  *************************************\n");
84 }
85
86
87
88
89
90
91
92
93
94
95
96
97
98