]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONReconstructor.h
DP:Misalignment of CPV added
[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 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     virtual void         Reconstruct(TTree* /*digitsTree*/, 
34                                      TTree* /*clustersTree*/) const {return;}
35     virtual void         Reconstruct(AliRawReader* /*rawReader*/, 
36                                      TTree* /*clustersTree*/) const {return;}
37     virtual void         Reconstruct(AliRunLoader* runLoader) const;
38     virtual void         Reconstruct(AliRunLoader* runLoader, 
39                                    AliRawReader* rawReader) const;
40
41     virtual void         FillESD(TTree* /*digitsTree*/, TTree* /*clustersTree*/, 
42                                  AliESD* /*esd*/) const {return;}
43     virtual void         FillESD(AliRawReader* /*rawReader*/, TTree* /*clustersTree*/, 
44                                  AliESD* /*esd*/) const {return;}
45     virtual void         FillESD(AliRunLoader* runLoader, AliESD* esd) const;
46     virtual void         FillESD(AliRunLoader* runLoader, 
47                                  AliRawReader* /*rawReader*/, AliESD* esd) const;
48
49     AliTracker*          CreateTracker(AliRunLoader* runLoader) const;
50  
51     enum {kNone, kOriginal, kKalman, kCombi};
52
53 private:
54
55     TTask* GetCalibrationTask() const;
56     AliMUONClusterReconstructor* CreateClusterReconstructor() const;
57     
58     AliMUONReconstructor(const AliMUONReconstructor& right);
59     AliMUONReconstructor&  operator = (const AliMUONReconstructor& right);
60
61 private:
62     AliMUONDigitMaker* fDigitMaker; //!< pointer to the digit maker class
63
64     mutable AliMUONCalibrationData* fCalibrationData; //!< pointer to calibration data
65     
66     AliMUONTriggerCrateStore* fCrateManager;     //!< Crate array
67
68     TClonesArray* fTriggerCircuit;   //!< trigger circuit
69  
70     AliMUONGeometryTransformer* fTransformer; //!< pointer to transformation
71     AliMUONSegmentation*        fSegmentation; //!< pointer to segmentation
72
73     AliMUONData* fMUONData;                    //!< pointer to container
74
75   ClassDef(AliMUONReconstructor, 0)   // class for the MUON reconstruction
76 };
77
78 #endif