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