// 0 = all
-// 1 = pion
-// 2 = kaon
-// 3 = proton
-// 4 = muon
-// 5 = electron
-// 6 = neutron
+// 1 = not pion
+// 2 = not kaon
+// 3 = not proton
+// 4 = not muon
+// 5 = not electron
+// 6 = not neutron
Int_t particle_type=0;
#include "iostream.h"
-void RICHdigit (Int_t evNumber1=0,Int_t evNumber2=0)
+void RICHdigit (Int_t nEvents = 1,Int_t type = 0)
{
/////////////////////////////////////////////////////////////////////////
// This macro is a small example of a ROOT macro
// Dynamically link some shared libs
-
- if (gClassTable->GetID("AliRun") < 0) {
+ if (gClassTable->GetID("AliRun") < 0) {
gROOT->LoadMacro("loadlibs.C");
loadlibs();
- }
-
-
-// Connect the Root Galice file containing Geometry, Kine and Hits
-
- TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject("galice.root");
- if (file) file->Close();
- file = new TFile("galice.root","UPDATE");
-// file->ls();
-// Get AliRun object from file or create it if not on file
-
-
-
- if (gClassTable->GetID("AliRun") < 0) {
- gROOT->LoadMacro("loadlibs.C");
- loadlibs();
- }
- else {
- //delete gAlice;
- gAlice = 0;
- }
-
-
-
- if (!gAlice) {
- gAlice = (AliRun*)file->Get("gAlice");
- if (gAlice) printf("AliRun object found on file\n");
- if (!gAlice) gAlice = new AliRun("gAlice","Alice test program");
- } else {
+ }else {
delete gAlice;
- gAlice = (AliRun*)file->Get("gAlice");
- if (gAlice) printf("AliRun object found on file\n");
- if (!gAlice) gAlice = new AliRun("gAlice","Alice test program");
- }
-
- AliRICH *RICH = (AliRICH*) gAlice->GetDetector("RICH");
-
- AliRICHChamber* iChamber;
-
- printf("Generating tresholds...\n");
-
- for(Int_t i=0;i<7;i++)
- {
- iChamber = &(RICH->Chamber(i));
- iChamber->GenerateTresholds();
- }
-
+ gAlice = 0;
+ }
-//
-// Event Loop
-//
- for (int nev=0; nev<= evNumber2; nev++) {
- Int_t nparticles = gAlice->GetEvent(nev);
- cout <<endl<< "Processing event:" <<nev<<endl;
- cout << "Particles :" <<nparticles<<endl;
- if (nev < evNumber1) continue;
- if (nparticles <= 0) return;
- if (RICH) RICH->Digitise(nev, particle_type);
- //char hname[30];
- //sprintf(hname,"TreeD%d",nev);
- //gAlice->TreeD()->Write(hname);
- //gAlice->TreeD()->Reset();
- } // event loop
- file->Close();
+ if(type)
+ {
+ AliRunDigitizer * manager = new AliRunDigitizer(2,1);
+ manager->SetInputStream(0,"galice.root");
+ manager->SetInputStream(1,"bgr.root");
+ manager->SetOutputFile("galice.root");
+ AliRICHDigitizer *dRICH = new AliRICHDigitizer(manager);
+ manager->Exec("deb");
+ }
+ else
+ {
+ AliRunDigitizer * manager = new AliRunDigitizer(1,1);
+ manager->SetInputStream(0,"galice.root");
+ manager->SetNrOfEventsToWrite(nEvents);
+ AliRICHDigitizer *dRICH = new AliRICHDigitizer(manager);
+ manager->Exec("deb");
+ }
//delete gAlice;
- printf("\nEnd of Macro *************************************\n");
+ printf("\nEnd of Macro *************************************\n");
}
-
-
-
-
-
-
-
-
-
-
-