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