ROOT logo
PHOS (Int_t event_number=0,Float_t SignalStep=0.001,Int_t SignalMin=15)
{
// From Int_t Sread ()

   // Dynamically link some shared libs
   if (gClassTable->GetID("AliRun") < 0) {
      gSystem->Load("libGeant3Dummy.so");   // a dummy version of Geant3
      gSystem->Load("PHOS/libPHOSreconstruction.so");        // the standard Alice classes 
      gSystem->Load("libgalice.so");        // the standard Alice classes 
   }
    
   // Connect the Root Galice file containing Geometry, Kine and Hits
   TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject("galice.root");
   if (!file) file = new TFile("galice.root");

   // Get AliRun object from file or create it if not on file
   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");
   }
////////////////////////////////

  AliPHOS *PHOS= gAlice->GetDetector("PHOS");
  if( NULL==PHOS )
  {
    cout << "Can't find PHOS detector!\n";
    exit(1);
  }

  PHOS->SetTreeAddress();

  if( 0==PHOS->fTreePHOS->GetEvent(event_number) )
  {
    printf("Cannot read event number %d\n",event_number);
    return;
  }

  printf("This is event number %d from %d\n",
         event_number,PHOS->fTreePHOS->GetEntries());

  for( int i=0; i<PHOS->fCradles->GetEntries(); i++ )
  {
    AliPHOSCradle &cradle = PHOS->GetCradle(i);
    printf("===============================================================\n");
    printf("Cradle %d\n",i+1);
    cradle.Print();
    //cout.flush();
    

    cradle.Reconstruction(SignalStep,SignalMin);

    printf("It were %d particles in that cradle\n",cradle.GetParticles().GetEntries());
    for( int j=0; j<cradle.GetParticles().GetEntries(); j++ )
    {
      TObjArray &pp = cradle.GetParticles();
      AliPHOSgamma *g = (AliPHOSgamma *) pp.At(j);
      printf("%3d  ",j+1);
      g->Print();
    }

    printf("\nReconstruction: %d gammas\n",cradle.GetGammasReconstructed().GetEntries());
    for( int j=0; j<cradle.GetGammasReconstructed().GetEntries(); j++ )
    {
      TObjArray &pp = cradle.GetGammasReconstructed();
      AliPHOSgamma *g = (AliPHOSgamma *) pp.At(j);
      printf("%3d  ",j+1);
      g->Print();
    }

    //cout.flush();
    
  }

////////////////////////////////////////////////////////////////////////////////

  printf("Done\n");
}
 PHOS.C:1
 PHOS.C:2
 PHOS.C:3
 PHOS.C:4
 PHOS.C:5
 PHOS.C:6
 PHOS.C:7
 PHOS.C:8
 PHOS.C:9
 PHOS.C:10
 PHOS.C:11
 PHOS.C:12
 PHOS.C:13
 PHOS.C:14
 PHOS.C:15
 PHOS.C:16
 PHOS.C:17
 PHOS.C:18
 PHOS.C:19
 PHOS.C:20
 PHOS.C:21
 PHOS.C:22
 PHOS.C:23
 PHOS.C:24
 PHOS.C:25
 PHOS.C:26
 PHOS.C:27
 PHOS.C:28
 PHOS.C:29
 PHOS.C:30
 PHOS.C:31
 PHOS.C:32
 PHOS.C:33
 PHOS.C:34
 PHOS.C:35
 PHOS.C:36
 PHOS.C:37
 PHOS.C:38
 PHOS.C:39
 PHOS.C:40
 PHOS.C:41
 PHOS.C:42
 PHOS.C:43
 PHOS.C:44
 PHOS.C:45
 PHOS.C:46
 PHOS.C:47
 PHOS.C:48
 PHOS.C:49
 PHOS.C:50
 PHOS.C:51
 PHOS.C:52
 PHOS.C:53
 PHOS.C:54
 PHOS.C:55
 PHOS.C:56
 PHOS.C:57
 PHOS.C:58
 PHOS.C:59
 PHOS.C:60
 PHOS.C:61
 PHOS.C:62
 PHOS.C:63
 PHOS.C:64
 PHOS.C:65
 PHOS.C:66
 PHOS.C:67
 PHOS.C:68
 PHOS.C:69
 PHOS.C:70
 PHOS.C:71
 PHOS.C:72
 PHOS.C:73
 PHOS.C:74
 PHOS.C:75
 PHOS.C:76
 PHOS.C:77
 PHOS.C:78
 PHOS.C:79