Coverity fix.
[u/mrichter/AliRoot.git] / PHOS / AliPHOSPID.h
1 #ifndef ALIPHOSPID_H
2 #define ALIPHOSPID_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5                             
6 /* $Id$ */
7
8 /* History of cvs commits:
9  *
10  * $Log$
11  * Revision 1.41  2007/08/28 12:55:08  policheh
12  * Loaders removed from the reconstruction code (C.Cheshkov)
13  *
14  * Revision 1.40  2007/08/07 14:12:03  kharlov
15  * Quality assurance added (Yves Schutz)
16  *
17  * Revision 1.39  2007/07/11 13:43:30  hristov
18  * New class AliESDEvent, backward compatibility with the old AliESD (Christian)
19  *
20  * Revision 1.38  2007/04/01 15:40:15  kharlov
21  * Correction for actual vertex position implemented
22  *
23  * Revision 1.37  2006/08/29 11:41:19  kharlov
24  * Missing implementation of ctors and = operator are added
25  *
26  * Revision 1.36  2006/08/25 16:00:53  kharlov
27  * Compliance with Effective C++AliPHOSHit.cxx
28  *
29  * Revision 1.35  2005/05/28 14:19:04  schutz
30  * Compilation warnings fixed by T.P.
31  *
32  */
33
34 //_________________________________________________________________________
35 //  Algorithm class for the identification of particles detected in PHOS        
36 //  base  class                             
37 //  of identified particles                
38 //*-- Author: Yves Schutz (SUBATECH)
39
40 // --- ROOT system ---
41 #include "TObject.h"
42 class TTree;
43
44 // --- Standard library ---
45
46 // --- AliRoot header files ---
47 class AliESDEvent ;
48 class AliPHOSGeometry ;
49 class AliPHOSClusterizer ;
50 class AliPHOSTrackSegmentMaker ;
51
52 class AliPHOSPID : public TObject {
53
54  public:
55
56   AliPHOSPID() ;          // ctor            
57   AliPHOSPID (AliPHOSGeometry *geom);
58   AliPHOSPID(const AliPHOSPID & pid) ;
59   virtual ~AliPHOSPID() ; // dtor
60   AliPHOSPID & operator = (const AliPHOSPID & /*rvalue*/)  {
61     Fatal("operator =", "not implemented") ; return *this ; }
62
63   virtual void TrackSegments2RecParticles(Option_t * option) = 0;
64
65   void SetInput(TTree *clustersTree, TClonesArray *trackSegments);
66   TClonesArray* GetRecParticles() const { return fRecParticles; }
67
68   virtual void Print(const Option_t * = "") const = 0;
69
70   void SetESD(AliESDEvent *esd) { fESD = esd; }
71
72   virtual const char * Version() const = 0;
73
74 protected:
75
76   AliPHOSGeometry * fGeom;    //! Pointer to PHOS Geometry
77   AliESDEvent * fESD;         //! ESD object
78
79   TObjArray *fEMCRecPoints;      //!Array with EMC clusters
80   TObjArray *fCPVRecPoints;      //!Array with CPV clusters
81
82   TClonesArray *fTrackSegments;     //!Array with found track segments
83   TClonesArray *fRecParticles;      //!Array with reconstructed particles (PID)
84   
85 private: 
86
87   ClassDef(AliPHOSPID,8)  // Particle Identifier algorithm (base class)
88
89 } ;
90
91 #endif // ALIPHOSPID_H