Usage of RecoParam objects instead of hardcoded parameters in reconstruction.
[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.10  2007/07/11 13:43:30  hristov
12  * New class AliESDEvent, backward compatibility with the old AliESD (Christian)
13  *
14  * Revision 1.9  2006/11/15 16:05:03  kharlov
15  * New FillESD() for raw data is added
16  *
17  * Revision 1.8  2005/05/28 14:19:04  schutz
18  * Compilation warnings fixed by T.P.
19  *
20  */
21
22 //_________________________________________________________________________
23 //  Wrapping class for reconstruction
24 //*--
25 //*-- Author: Yves Schutz (SUBATECH) 
26 // Reconstruction class. Redesigned from the old AliReconstructionner class and 
27 // derived from STEER/AliReconstructor. 
28 //_________________________________________________________________________
29
30 // --- ROOT system ---
31
32 #include "AliReconstructor.h" 
33 class AliPHOSDigitizer ;
34 class AliPHOSClusterizer ;
35 class AliPHOSTrackSegmentMaker ;
36 class AliPHOSPID ;
37 class AliPHOSSDigitizer ;
38 class AliESDEvent ;
39 class AliRawReader; 
40 class AliPHOSRecoParam;
41
42 // --- Standard library ---
43
44 // --- AliRoot header files ---
45
46 class AliPHOSReconstructor : public AliReconstructor {
47
48 public:
49
50   AliPHOSReconstructor() ; //ctor            
51   AliPHOSReconstructor(const AliPHOSReconstructor & rec) : AliReconstructor(rec) {
52     // cpy ctor: 
53     // requested by the Coding Convention
54     Fatal("cpy ctor", "not implemented") ;
55   }
56   ~AliPHOSReconstructor() ; //dtor            
57   static void                SetDebug()   { fgDebug = kTRUE ; }
58   static void                ResetDebug() { fgDebug = kFALSE ; }
59   static Bool_t              Debug() { return fgDebug ; }
60   AliTracker *CreateTracker(AliRunLoader* runLoader) const;
61   using AliReconstructor::FillESD;
62   virtual void               FillESD(AliRunLoader* runLoader, AliESDEvent* esd) const ;
63   virtual void FillESD(AliRunLoader* runLoader,AliRawReader* rawReader,AliESDEvent* esd) const;
64   using AliReconstructor::Reconstruct;
65   virtual void               Reconstruct(AliRunLoader* runLoader) const ;
66   virtual void               Reconstruct(AliRunLoader* runLoader, AliRawReader * rawreader) const ;
67
68   AliPHOSReconstructor & operator = (const AliPHOSReconstructor & /*rvalue*/)  {
69     // assignement operator requested by coding convention but not needed
70     Fatal("operator =", "not implemented") ;
71     return *this ; 
72   }
73   
74   void SetRecoParamEmc(AliPHOSRecoParam * param){ fgkRecoParamEmc = param;}
75   void SetRecoParamCpv(AliPHOSRecoParam * param){ fgkRecoParamCpv = param;}
76
77   static const AliPHOSRecoParam* GetRecoParamEmc(){ return fgkRecoParamEmc;}
78   static const AliPHOSRecoParam* GetRecoParamCpv(){ return fgkRecoParamCpv;}
79
80 private:
81   
82   static Bool_t fgDebug ; //! verbosity controller
83   static AliPHOSRecoParam*   fgkRecoParamEmc; // reconstruction parameters for EMC
84   static AliPHOSRecoParam*   fgkRecoParamCpv; // reconstruction parameters for EMC
85
86   ClassDef(AliPHOSReconstructor,2)  // Reconstruction algorithm class (Base Class)
87
88 }; 
89
90 #endif // ALIPHOSRECONSTRUCTOR_H