Propset keyword Id is added
[u/mrichter/AliRoot.git] / PHOS / AliPHOSTrackSegmentMaker.h
1 #ifndef ALIPHOSTRACKSEGMENTMAKER_H
2 #define ALIPHOSTRACKSEGMENTMAKER_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.43  2007/08/28 12:55:08  policheh
12  * Loaders removed from the reconstruction code (C.Cheshkov)
13  *
14  * Revision 1.42  2007/08/07 14:12:03  kharlov
15  * Quality assurance added (Yves Schutz)
16  *
17  * Revision 1.41  2007/07/11 13:43:30  hristov
18  * New class AliESDEvent, backward compatibility with the old AliESD (Christian)
19  *
20  * Revision 1.40  2006/08/29 11:41:19  kharlov
21  * Missing implementation of ctors and = operator are added
22  *
23  * Revision 1.39  2006/08/25 16:00:53  kharlov
24  * Compliance with Effective C++AliPHOSHit.cxx
25  *
26  * Revision 1.38  2005/05/28 14:19:05  schutz
27  * Compilation warnings fixed by T.P.
28  *
29  */
30
31 //_________________________________________________________________________
32 // Algorithm Base class to construct PHOS track segments
33 // Associates EMC and CPV clusters
34 // Unfolds the EMC cluster   
35 //                  
36 //*-- Author: Dmitri Peressounko (RRC Kurchatov Institute  & SUBATECH)
37
38 // --- ROOT system ---
39 #include <TObject.h>
40 class TTree;
41
42 // --- AliRoot header files ---
43 class AliPHOSGeometry ;
44 class AliESDEvent ;
45
46 class  AliPHOSTrackSegmentMaker : public TObject {
47
48 public:
49
50   AliPHOSTrackSegmentMaker();
51   AliPHOSTrackSegmentMaker(AliPHOSGeometry *geom);
52   AliPHOSTrackSegmentMaker(const AliPHOSTrackSegmentMaker & tsmaker) ;
53   virtual ~ AliPHOSTrackSegmentMaker() ;
54   AliPHOSTrackSegmentMaker & operator = (const AliPHOSTrackSegmentMaker & /*rvalue*/)  {
55     Fatal("operator =", "not implemented") ; return *this ; }
56
57   virtual void   Clusters2TrackSegments(Option_t *option) = 0;
58
59   void    SetInput(TTree *clustersTree);
60
61   virtual void    Print(const Option_t * = "")const {Warning("Print", "Not Defined" ) ; }
62
63   void SetESD(AliESDEvent *esd) { fESD = esd; }
64
65   AliESDEvent *GetESD()             const {return fESD;            }
66
67   virtual TClonesArray * GetTrackSegments() const = 0;
68
69 protected:
70
71   AliESDEvent * fESD;              //! ESD object
72   AliPHOSGeometry *fGeom;           //! Pointer to the PHOS geometry
73   TObjArray *fEMCRecPoints;         //  Array with the EMC clusters
74   TObjArray *fCPVRecPoints;         //  Array with the CPV clusters
75
76   ClassDef( AliPHOSTrackSegmentMaker,6)  // Algorithm class to make PHOS track segments (Base Class)
77 };
78
79 #endif // ALIPHOSTRACKSEGMENTMAKER_H