ROOT logo
#ifndef ALIPHOSPID_H
#define ALIPHOSPID_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */
                            
/* $Id$ */

/* History of cvs commits:
 *
 * $Log$
 * Revision 1.41  2007/08/28 12:55:08  policheh
 * Loaders removed from the reconstruction code (C.Cheshkov)
 *
 * Revision 1.40  2007/08/07 14:12:03  kharlov
 * Quality assurance added (Yves Schutz)
 *
 * Revision 1.39  2007/07/11 13:43:30  hristov
 * New class AliESDEvent, backward compatibility with the old AliESD (Christian)
 *
 * Revision 1.38  2007/04/01 15:40:15  kharlov
 * Correction for actual vertex position implemented
 *
 * Revision 1.37  2006/08/29 11:41:19  kharlov
 * Missing implementation of ctors and = operator are added
 *
 * Revision 1.36  2006/08/25 16:00:53  kharlov
 * Compliance with Effective C++AliPHOSHit.cxx
 *
 * Revision 1.35  2005/05/28 14:19:04  schutz
 * Compilation warnings fixed by T.P.
 *
 */

//_________________________________________________________________________
//  Algorithm class for the identification of particles detected in PHOS        
//  base  class                             
//  of identified particles                
//*-- Author: Yves Schutz (SUBATECH)

// --- ROOT system ---
#include "TObject.h"
class TTree;

// --- Standard library ---

// --- AliRoot header files ---
class AliESDEvent ;
class AliPHOSGeometry ;
class AliPHOSClusterizer ;
class AliPHOSTrackSegmentMaker ;

class AliPHOSPID : public TObject {

 public:

  AliPHOSPID() ;          // ctor            
  AliPHOSPID (AliPHOSGeometry *geom);
  AliPHOSPID(const AliPHOSPID & pid) ;
  virtual ~AliPHOSPID() ; // dtor
  AliPHOSPID & operator = (const AliPHOSPID & /*rvalue*/)  {
    Fatal("operator =", "not implemented") ; return *this ; }

  virtual void TrackSegments2RecParticles(Option_t * option) = 0;

  void SetInput(TTree *clustersTree, TClonesArray *trackSegments);
  TClonesArray* GetRecParticles() const { return fRecParticles; }

  virtual void Print(const Option_t * = "") const = 0;

  void SetESD(AliESDEvent *esd) { fESD = esd; }

  virtual const char * Version() const = 0;

protected:

  AliPHOSGeometry * fGeom;    //! Pointer to PHOS Geometry
  AliESDEvent * fESD;         //! ESD object

  TObjArray *fEMCRecPoints;      //!Array with EMC clusters
  TObjArray *fCPVRecPoints;      //!Array with CPV clusters

  TClonesArray *fTrackSegments;     //!Array with found track segments
  TClonesArray *fRecParticles;      //!Array with reconstructed particles (PID)
  
private: 

  ClassDef(AliPHOSPID,8)  // Particle Identifier algorithm (base class)

} ;

#endif // ALIPHOSPID_H
 AliPHOSPID.h:1
 AliPHOSPID.h:2
 AliPHOSPID.h:3
 AliPHOSPID.h:4
 AliPHOSPID.h:5
 AliPHOSPID.h:6
 AliPHOSPID.h:7
 AliPHOSPID.h:8
 AliPHOSPID.h:9
 AliPHOSPID.h:10
 AliPHOSPID.h:11
 AliPHOSPID.h:12
 AliPHOSPID.h:13
 AliPHOSPID.h:14
 AliPHOSPID.h:15
 AliPHOSPID.h:16
 AliPHOSPID.h:17
 AliPHOSPID.h:18
 AliPHOSPID.h:19
 AliPHOSPID.h:20
 AliPHOSPID.h:21
 AliPHOSPID.h:22
 AliPHOSPID.h:23
 AliPHOSPID.h:24
 AliPHOSPID.h:25
 AliPHOSPID.h:26
 AliPHOSPID.h:27
 AliPHOSPID.h:28
 AliPHOSPID.h:29
 AliPHOSPID.h:30
 AliPHOSPID.h:31
 AliPHOSPID.h:32
 AliPHOSPID.h:33
 AliPHOSPID.h:34
 AliPHOSPID.h:35
 AliPHOSPID.h:36
 AliPHOSPID.h:37
 AliPHOSPID.h:38
 AliPHOSPID.h:39
 AliPHOSPID.h:40
 AliPHOSPID.h:41
 AliPHOSPID.h:42
 AliPHOSPID.h:43
 AliPHOSPID.h:44
 AliPHOSPID.h:45
 AliPHOSPID.h:46
 AliPHOSPID.h:47
 AliPHOSPID.h:48
 AliPHOSPID.h:49
 AliPHOSPID.h:50
 AliPHOSPID.h:51
 AliPHOSPID.h:52
 AliPHOSPID.h:53
 AliPHOSPID.h:54
 AliPHOSPID.h:55
 AliPHOSPID.h:56
 AliPHOSPID.h:57
 AliPHOSPID.h:58
 AliPHOSPID.h:59
 AliPHOSPID.h:60
 AliPHOSPID.h:61
 AliPHOSPID.h:62
 AliPHOSPID.h:63
 AliPHOSPID.h:64
 AliPHOSPID.h:65
 AliPHOSPID.h:66
 AliPHOSPID.h:67
 AliPHOSPID.h:68
 AliPHOSPID.h:69
 AliPHOSPID.h:70
 AliPHOSPID.h:71
 AliPHOSPID.h:72
 AliPHOSPID.h:73
 AliPHOSPID.h:74
 AliPHOSPID.h:75
 AliPHOSPID.h:76
 AliPHOSPID.h:77
 AliPHOSPID.h:78
 AliPHOSPID.h:79
 AliPHOSPID.h:80
 AliPHOSPID.h:81
 AliPHOSPID.h:82
 AliPHOSPID.h:83
 AliPHOSPID.h:84
 AliPHOSPID.h:85
 AliPHOSPID.h:86
 AliPHOSPID.h:87
 AliPHOSPID.h:88
 AliPHOSPID.h:89
 AliPHOSPID.h:90
 AliPHOSPID.h:91