Modified for new raw data interface
[u/mrichter/AliRoot.git] / MUON / AliMUONReconstructor.h
1 #ifndef ALIMUONRECONSTRUCTOR_H
2 #define ALIMUONRECONSTRUCTOR_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 // Revision of includes 07/05/2004
8
9 /// \ingroup rec
10 /// \class AliMUONReconstructor
11 /// \brief Class for the MUON reconstruction
12
13 #include "AliReconstructor.h"
14
15 class AliMUONCalibrationData;
16 class AliMUONData;
17 class TTask;
18 class AliMUONDigitMaker;
19
20 class AliMUONReconstructor: public AliReconstructor 
21 {
22   public:
23     AliMUONReconstructor();
24     virtual ~AliMUONReconstructor();
25
26     virtual void         Init(AliRunLoader* runLoader);
27
28     virtual void         Reconstruct(TTree* /*digitsTree*/, 
29                                      TTree* /*clustersTree*/) const {return;}
30     virtual void         Reconstruct(AliRawReader* /*rawReader*/, 
31                                      TTree* /*clustersTree*/) const {return;}
32     virtual void         Reconstruct(AliRunLoader* runLoader) const;
33     virtual void         Reconstruct(AliRunLoader* runLoader, 
34                                    AliRawReader* rawReader) const;
35
36     virtual void         FillESD(TTree* /*digitsTree*/, TTree* /*clustersTree*/, 
37                                  AliESD* /*esd*/) const {return;}
38     virtual void         FillESD(AliRawReader* /*rawReader*/, TTree* /*clustersTree*/, 
39                                  AliESD* /*esd*/) const {return;}
40     virtual void         FillESD(AliRunLoader* runLoader, AliESD* esd) const;
41     virtual void         FillESD(AliRunLoader* runLoader, 
42                                  AliRawReader* /*rawReader*/, AliESD* esd) const;
43
44 protected:
45     AliMUONReconstructor(const AliMUONReconstructor& right);
46     AliMUONReconstructor&  operator = (const AliMUONReconstructor& right);
47      
48 private:
49
50     TTask* GetCalibrationTask(AliMUONData* data) const;
51
52 private:
53     AliRunLoader* fRunLoader;       //! pointer to runloader
54     AliMUONDigitMaker* fDigitMaker; //! pointer to the digit maker class
55
56     mutable AliMUONCalibrationData* fCalibrationData; //! pointer to calibration data
57     
58   ClassDef(AliMUONReconstructor, 0)   // class for the MUON reconstruction
59 };
60
61 #endif