5ba0d148536d1b045c1da70a8958c679555f7e86
[u/mrichter/AliRoot.git] / PHOS / AliPHOSReconstructor.h
1 #ifndef ALIPHOSRECONSTRUCTOR_H
2 #define ALIPHOSRECONSTRUCTOR_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.14  2007/09/26 14:22:18  cvetan
12  * Important changes to the reconstructor classes. Complete elimination of the run-loaders, which are now steered only from AliReconstruction. Removal of the corresponding Reconstruct() and FillESD() methods.
13  *
14  * Revision 1.13  2007/08/30 10:40:27  cvetan
15  * Minor
16  *
17  * Revision 1.12  2007/08/28 12:55:08  policheh
18  * Loaders removed from the reconstruction code (C.Cheshkov)
19  *
20  * Revision 1.11  2007/07/24 17:20:35  policheh
21  * Usage of RecoParam objects instead of hardcoded parameters in reconstruction.
22  * (See $ALICE_ROOT/PHOS/macros/BeamTest2006/RawReconstruction.C).
23  *
24  * Revision 1.10  2007/07/11 13:43:30  hristov
25  * New class AliESDEvent, backward compatibility with the old AliESD (Christian)
26  *
27  * Revision 1.9  2006/11/15 16:05:03  kharlov
28  * New FillESD() for raw data is added
29  *
30  * Revision 1.8  2005/05/28 14:19:04  schutz
31  * Compilation warnings fixed by T.P.
32  *
33  */
34
35 //_________________________________________________________________________
36 //  Wrapping class for reconstruction
37 //--
38 //-- Author: Yves Schutz (SUBATECH) 
39 // Reconstruction class. Redesigned from the old AliReconstructionner class and 
40 // derived from STEER/AliReconstructor. 
41 //_________________________________________________________________________
42
43 // --- ROOT system ---
44
45 #include "AliReconstructor.h" 
46 class AliPHOSDigitizer ;
47 class AliPHOSClusterizer ;
48 class AliPHOSTrackSegmentMaker ;
49 class AliPHOSPID ;
50 class AliPHOSSDigitizer ;
51 class AliESDEvent ;
52 class AliRawReader; 
53 class AliPHOSRecoParam;
54 class AliPHOSGeometry;
55
56 // --- Standard library ---
57
58 // --- AliRoot header files ---
59
60 class AliPHOSReconstructor : public AliReconstructor {
61
62 public:
63
64   AliPHOSReconstructor() ; //ctor            
65   AliPHOSReconstructor(const AliPHOSReconstructor & rec) :
66     AliReconstructor(rec),
67     fGeom(rec.fGeom)
68     {
69     // cpy ctor: 
70     // requested by the Coding Convention
71     Fatal("cpy ctor", "not implemented") ;
72   }
73   virtual ~AliPHOSReconstructor() ; //dtor            
74
75   static void                SetDebug()   { fgDebug = kTRUE ; }
76   static void                ResetDebug() { fgDebug = kFALSE ; }
77   static Bool_t              Debug() { return fgDebug ; }
78   AliTracker *CreateTracker() const;
79   using AliReconstructor::FillESD;
80   virtual void               FillESD(TTree* digitsTree, TTree* clustersTree, 
81                                      AliESDEvent* esd) const;
82   using AliReconstructor::Reconstruct;
83   virtual void               Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
84
85   virtual Bool_t             HasDigitConversion() const {return kTRUE;};
86   virtual void               ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const;
87
88   AliPHOSReconstructor & operator = (const AliPHOSReconstructor & /*rvalue*/)  {
89     // assignement operator requested by coding convention but not needed
90     Fatal("operator =", "not implemented") ;
91     return *this ; 
92   }
93   
94   void SetRecoParamEmc(AliPHOSRecoParam * param){ fgkRecoParamEmc = param;}
95   void SetRecoParamCpv(AliPHOSRecoParam * param){ fgkRecoParamCpv = param;}
96
97   static const AliPHOSRecoParam* GetRecoParamEmc(){ return fgkRecoParamEmc;}
98   static const AliPHOSRecoParam* GetRecoParamCpv(){ return fgkRecoParamCpv;}
99
100 private:
101   
102   static Bool_t fgDebug ; //! verbosity controller
103   static AliPHOSRecoParam *fgkRecoParamEmc; // reconstruction parameters for EMC
104   static AliPHOSRecoParam *fgkRecoParamCpv; // reconstruction parameters for EMC
105   AliPHOSGeometry         *fGeom;           // pointer to the PHOS geometry
106
107   ClassDef(AliPHOSReconstructor,4)  // PHOS Reconstruction class
108
109 }; 
110
111 #endif // ALIPHOSRECONSTRUCTOR_H