ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

/* $Id$ */

//_________________________________________________________________________
//  Algorithm class for the identification of particles detected in PHOS        
//  base  class  of identified particle  
//  Why should I put meaningless comments
//  just to satisfy
//  the code checker                
                         
//                  
//*-- Author: Yves Schutz (SUBATECH) & Dmitri Peressounko


// --- ROOT system ---
#include "TBranch.h"
#include "TClonesArray.h"
#include "TTree.h"

// --- Standard library ---

// --- AliRoot header files ---
#include "AliConfig.h"
#include "AliLog.h"
#include "AliPHOSPID.h"

ClassImp(AliPHOSPID)

//____________________________________________________________________________
AliPHOSPID::AliPHOSPID():
  TObject(),
  fGeom(NULL),
  fESD(0x0),
  fEMCRecPoints(NULL),
  fCPVRecPoints(NULL),
  fTrackSegments(NULL),
  fRecParticles(NULL)
{
  // ctor
}


//____________________________________________________________________________
AliPHOSPID::AliPHOSPID(AliPHOSGeometry *geom):
  TObject(),
  fGeom(geom),
  fESD(0x0),
  fEMCRecPoints(NULL),
  fCPVRecPoints(NULL),
  fTrackSegments(NULL),
  fRecParticles(NULL)
{
  // ctor
  fEMCRecPoints = new TObjArray(100) ;
  fCPVRecPoints = new TObjArray(100) ;
  fRecParticles = new TClonesArray("AliPHOSRecParticle",100) ;
  fRecParticles->SetName("RECPARTICLES");

}

//____________________________________________________________________________
AliPHOSPID::AliPHOSPID(const AliPHOSPID & pid) :
  TObject(pid),
  fGeom(pid.fGeom),
  fESD(pid.fESD), 
  fEMCRecPoints(pid.fEMCRecPoints),
  fCPVRecPoints(pid.fCPVRecPoints),
  fTrackSegments(pid.fTrackSegments),
  fRecParticles(pid.fRecParticles)
{
  // Copy constructor
}

//____________________________________________________________________________
AliPHOSPID::~AliPHOSPID()
{
  // dtor
  if (fEMCRecPoints) {
    fEMCRecPoints->Delete();
    delete fEMCRecPoints;
  }
  if (fCPVRecPoints) {
    fCPVRecPoints->Delete();
    delete fCPVRecPoints;
  }
  if (fRecParticles) {
    fRecParticles->Delete();
    delete fRecParticles;
  }
}

//____________________________________________________________________________
void AliPHOSPID::SetInput(TTree *clustersTree, TClonesArray *trackSegments)
{
  // Read the clusters tree and creates the
  // arrays with the EMC and CPV
  // clusters.
  // and set the corresponding branch addresses

  fTrackSegments = trackSegments;

  TBranch *emcbranch = clustersTree->GetBranch("PHOSEmcRP");
  if (!emcbranch) { 
    AliError("can't get the branch with the PHOS EMC clusters !");
    return;
  }
  emcbranch->SetAddress(&fEMCRecPoints);
  fEMCRecPoints->Delete();
  emcbranch->GetEntry(0);

  TBranch *cpvbranch = clustersTree->GetBranch("PHOSCpvRP");
  if (!cpvbranch) { 
    AliError("can't get the branch with the PHOS CPV clusters !");
    return;
  }
  cpvbranch->SetAddress(&fCPVRecPoints);
  fCPVRecPoints->Delete();
  cpvbranch->GetEntry(0);
}
 AliPHOSPID.cxx:1
 AliPHOSPID.cxx:2
 AliPHOSPID.cxx:3
 AliPHOSPID.cxx:4
 AliPHOSPID.cxx:5
 AliPHOSPID.cxx:6
 AliPHOSPID.cxx:7
 AliPHOSPID.cxx:8
 AliPHOSPID.cxx:9
 AliPHOSPID.cxx:10
 AliPHOSPID.cxx:11
 AliPHOSPID.cxx:12
 AliPHOSPID.cxx:13
 AliPHOSPID.cxx:14
 AliPHOSPID.cxx:15
 AliPHOSPID.cxx:16
 AliPHOSPID.cxx:17
 AliPHOSPID.cxx:18
 AliPHOSPID.cxx:19
 AliPHOSPID.cxx:20
 AliPHOSPID.cxx:21
 AliPHOSPID.cxx:22
 AliPHOSPID.cxx:23
 AliPHOSPID.cxx:24
 AliPHOSPID.cxx:25
 AliPHOSPID.cxx:26
 AliPHOSPID.cxx:27
 AliPHOSPID.cxx:28
 AliPHOSPID.cxx:29
 AliPHOSPID.cxx:30
 AliPHOSPID.cxx:31
 AliPHOSPID.cxx:32
 AliPHOSPID.cxx:33
 AliPHOSPID.cxx:34
 AliPHOSPID.cxx:35
 AliPHOSPID.cxx:36
 AliPHOSPID.cxx:37
 AliPHOSPID.cxx:38
 AliPHOSPID.cxx:39
 AliPHOSPID.cxx:40
 AliPHOSPID.cxx:41
 AliPHOSPID.cxx:42
 AliPHOSPID.cxx:43
 AliPHOSPID.cxx:44
 AliPHOSPID.cxx:45
 AliPHOSPID.cxx:46
 AliPHOSPID.cxx:47
 AliPHOSPID.cxx:48
 AliPHOSPID.cxx:49
 AliPHOSPID.cxx:50
 AliPHOSPID.cxx:51
 AliPHOSPID.cxx:52
 AliPHOSPID.cxx:53
 AliPHOSPID.cxx:54
 AliPHOSPID.cxx:55
 AliPHOSPID.cxx:56
 AliPHOSPID.cxx:57
 AliPHOSPID.cxx:58
 AliPHOSPID.cxx:59
 AliPHOSPID.cxx:60
 AliPHOSPID.cxx:61
 AliPHOSPID.cxx:62
 AliPHOSPID.cxx:63
 AliPHOSPID.cxx:64
 AliPHOSPID.cxx:65
 AliPHOSPID.cxx:66
 AliPHOSPID.cxx:67
 AliPHOSPID.cxx:68
 AliPHOSPID.cxx:69
 AliPHOSPID.cxx:70
 AliPHOSPID.cxx:71
 AliPHOSPID.cxx:72
 AliPHOSPID.cxx:73
 AliPHOSPID.cxx:74
 AliPHOSPID.cxx:75
 AliPHOSPID.cxx:76
 AliPHOSPID.cxx:77
 AliPHOSPID.cxx:78
 AliPHOSPID.cxx:79
 AliPHOSPID.cxx:80
 AliPHOSPID.cxx:81
 AliPHOSPID.cxx:82
 AliPHOSPID.cxx:83
 AliPHOSPID.cxx:84
 AliPHOSPID.cxx:85
 AliPHOSPID.cxx:86
 AliPHOSPID.cxx:87
 AliPHOSPID.cxx:88
 AliPHOSPID.cxx:89
 AliPHOSPID.cxx:90
 AliPHOSPID.cxx:91
 AliPHOSPID.cxx:92
 AliPHOSPID.cxx:93
 AliPHOSPID.cxx:94
 AliPHOSPID.cxx:95
 AliPHOSPID.cxx:96
 AliPHOSPID.cxx:97
 AliPHOSPID.cxx:98
 AliPHOSPID.cxx:99
 AliPHOSPID.cxx:100
 AliPHOSPID.cxx:101
 AliPHOSPID.cxx:102
 AliPHOSPID.cxx:103
 AliPHOSPID.cxx:104
 AliPHOSPID.cxx:105
 AliPHOSPID.cxx:106
 AliPHOSPID.cxx:107
 AliPHOSPID.cxx:108
 AliPHOSPID.cxx:109
 AliPHOSPID.cxx:110
 AliPHOSPID.cxx:111
 AliPHOSPID.cxx:112
 AliPHOSPID.cxx:113
 AliPHOSPID.cxx:114
 AliPHOSPID.cxx:115
 AliPHOSPID.cxx:116
 AliPHOSPID.cxx:117
 AliPHOSPID.cxx:118
 AliPHOSPID.cxx:119
 AliPHOSPID.cxx:120
 AliPHOSPID.cxx:121
 AliPHOSPID.cxx:122
 AliPHOSPID.cxx:123
 AliPHOSPID.cxx:124
 AliPHOSPID.cxx:125
 AliPHOSPID.cxx:126
 AliPHOSPID.cxx:127
 AliPHOSPID.cxx:128
 AliPHOSPID.cxx:129
 AliPHOSPID.cxx:130
 AliPHOSPID.cxx:131
 AliPHOSPID.cxx:132
 AliPHOSPID.cxx:133