]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONReconstructor.h
- The part of JETAN dealing with ESD data has been separated from the one using MC...
[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 class AliMUONTriggerCrateStore;
20 class TClonesArray;
21 class AliMUONGeometryTransformer;
22 class AliMUONClusterReconstructor;
23
24 class AliMUONReconstructor: public AliReconstructor 
25 {
26   public:
27     AliMUONReconstructor();
28     virtual ~AliMUONReconstructor();
29
30     virtual void         Init(AliRunLoader* runLoader);
31
32     virtual void         Reconstruct(TTree* /*digitsTree*/, 
33                                      TTree* /*clustersTree*/) const {return;}
34     virtual void         Reconstruct(AliRawReader* /*rawReader*/, 
35                                      TTree* /*clustersTree*/) const {return;}
36     virtual void         Reconstruct(AliRunLoader* runLoader) const;
37     virtual void         Reconstruct(AliRunLoader* runLoader, 
38                                    AliRawReader* rawReader) const;
39
40     virtual void         FillESD(TTree* /*digitsTree*/, TTree* /*clustersTree*/, 
41                                  AliESD* /*esd*/) const {return;}
42     virtual void         FillESD(AliRawReader* /*rawReader*/, TTree* /*clustersTree*/, 
43                                  AliESD* /*esd*/) const {return;}
44     virtual void         FillESD(AliRunLoader* runLoader, AliESD* esd) const;
45     virtual void         FillESD(AliRunLoader* runLoader, 
46                                  AliRawReader* /*rawReader*/, AliESD* esd) const;
47      
48     enum {kNone, kOriginal, kKalman, kCombi};
49
50 private:
51
52     TTask* GetCalibrationTask(AliMUONData* data) const;
53     AliMUONClusterReconstructor* CreateClusterReconstructor(AliMUONData*) const;
54     
55     AliMUONReconstructor(const AliMUONReconstructor& right);
56     AliMUONReconstructor&  operator = (const AliMUONReconstructor& right);
57
58 private:
59     AliRunLoader* fRunLoader;       //!< pointer to runloader
60     AliMUONDigitMaker* fDigitMaker; //!< pointer to the digit maker class
61
62     mutable AliMUONCalibrationData* fCalibrationData; //!< pointer to calibration data
63     
64     AliMUONTriggerCrateStore* fCrateManager;     //!< Crate array
65
66     TClonesArray* fTriggerCircuit;   //!< trigger circuit
67  
68     AliMUONGeometryTransformer* fTransformer; //!< pointer to transformation
69
70   ClassDef(AliMUONReconstructor, 0)   // class for the MUON reconstruction
71 };
72
73 #endif