]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONReconstructor.h
Updated list of MUON libraries
[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 AliMUONRecData;
17 class AliMUONDigitMaker;
18 class AliMUONTriggerCrateStore;
19 class AliMUONGeometryTransformer;
20 class AliTracker;
21 class AliMUONClusterReconstructor;
22 class AliMUONSegmentation;
23
24 class TTask;
25 class TClonesArray;
26
27 class AliMUONReconstructor: public AliReconstructor 
28 {
29   public:
30     AliMUONReconstructor();
31     virtual ~AliMUONReconstructor();
32
33     /// Dummy implementation    
34     virtual void         Reconstruct(TTree* /*digitsTree*/, 
35                                      TTree* /*clustersTree*/) const {return;}
36     /// Dummy implementation    
37     virtual void         Reconstruct(AliRawReader* /*rawReader*/, 
38                                      TTree* /*clustersTree*/) const {return;}
39     virtual void         Reconstruct(AliRunLoader* runLoader) const;
40     virtual void         Reconstruct(AliRunLoader* runLoader, 
41                                    AliRawReader* rawReader) const;
42
43     /// Dummy implementation    
44     virtual void         FillESD(TTree* /*digitsTree*/, TTree* /*clustersTree*/, 
45                                  AliESD* /*esd*/) const {return;}
46     /// Dummy implementation    
47     virtual void         FillESD(AliRawReader* /*rawReader*/, TTree* /*clustersTree*/, 
48                                  AliESD* /*esd*/) const {return;}
49     virtual void         FillESD(AliRunLoader* runLoader, AliESD* esd) const;
50     virtual void         FillESD(AliRunLoader* runLoader, 
51                                  AliRawReader* /*rawReader*/, AliESD* esd) const;
52
53     AliTracker*          CreateTracker(AliRunLoader* runLoader) const;
54  
55     enum {kNone, kOriginal, kKalman, kCombi};
56
57 private:
58
59     TTask* GetCalibrationTask() const;
60     AliMUONClusterReconstructor* CreateClusterReconstructor() const;
61     
62     /// Not implemented
63     AliMUONReconstructor(const AliMUONReconstructor& right);
64     /// Not implemented
65     AliMUONReconstructor&  operator = (const AliMUONReconstructor& right);
66
67 private:
68     AliMUONDigitMaker* fDigitMaker; //!< pointer to the digit maker class
69
70     mutable AliMUONCalibrationData* fCalibrationData; //!< pointer to calibration data
71     
72     AliMUONTriggerCrateStore* fCrateManager;     //!< Crate array
73
74     TClonesArray* fTriggerCircuit;   //!< trigger circuit
75  
76     AliMUONGeometryTransformer* fTransformer; //!< pointer to transformation
77     AliMUONSegmentation*        fSegmentation; //!< pointer to segmentation
78
79     AliMUONRecData*             fMUONData;     //!< pointer to container
80
81   ClassDef(AliMUONReconstructor, 0)   // class for the MUON reconstruction
82 };
83
84 #endif