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