Major rewriting using VStores (Laurent)
[u/mrichter/AliRoot.git] / MUON / AliMUONReconstructor.h
CommitLineData
cac2eb58 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$ */
30178c30 7// Revision of includes 07/05/2004
cac2eb58 8
692de412 9/// \ingroup rec
10/// \class AliMUONReconstructor
11/// \brief Class for the MUON reconstruction
12
cac2eb58 13#include "AliReconstructor.h"
14
b2d7df0b 15class AliMUONCalibrationData;
6b092dfc 16class AliMUONRecData;
2cf44ef3 17class AliMUONDigitMaker;
96fdfe9a 18class AliMUONTriggerCrateStore;
9c4b1ee7 19class AliMUONGeometryTransformer;
196471e9 20class AliTracker;
f9247068 21class AliMUONClusterReconstructor;
6a518391 22class AliMUONSegmentation;
23
24class TTask;
25class TClonesArray;
b2d7df0b 26
30178c30 27class AliMUONReconstructor: public AliReconstructor
28{
8789635b 29 public:
30 AliMUONReconstructor();
31 virtual ~AliMUONReconstructor();
cac2eb58 32
71a2d3aa 33 /// Dummy implementation
337c9041 34 virtual void Reconstruct(TTree* /*digitsTree*/,
35 TTree* /*clustersTree*/) const {return;}
71a2d3aa 36 /// Dummy implementation
337c9041 37 virtual void Reconstruct(AliRawReader* /*rawReader*/,
38 TTree* /*clustersTree*/) const {return;}
8789635b 39 virtual void Reconstruct(AliRunLoader* runLoader) const;
337c9041 40 virtual void Reconstruct(AliRunLoader* runLoader,
41 AliRawReader* rawReader) const;
cf464691 42
71a2d3aa 43 /// Dummy implementation
337c9041 44 virtual void FillESD(TTree* /*digitsTree*/, TTree* /*clustersTree*/,
45 AliESD* /*esd*/) const {return;}
71a2d3aa 46 /// Dummy implementation
337c9041 47 virtual void FillESD(AliRawReader* /*rawReader*/, TTree* /*clustersTree*/,
48 AliESD* /*esd*/) const {return;}
8789635b 49 virtual void FillESD(AliRunLoader* runLoader, AliESD* esd) const;
a2da7817 50 virtual void FillESD(AliRunLoader* runLoader,
51 AliRawReader* /*rawReader*/, AliESD* esd) const;
196471e9 52
53 AliTracker* CreateTracker(AliRunLoader* runLoader) const;
54
9c4b1ee7 55 enum {kNone, kOriginal, kKalman, kCombi};
56
b2d7df0b 57private:
58
196471e9 59 TTask* GetCalibrationTask() const;
60 AliMUONClusterReconstructor* CreateClusterReconstructor() const;
f9247068 61
71a2d3aa 62 /// Not implemented
96fdfe9a 63 AliMUONReconstructor(const AliMUONReconstructor& right);
71a2d3aa 64 /// Not implemented
96fdfe9a 65 AliMUONReconstructor& operator = (const AliMUONReconstructor& right);
b2d7df0b 66
67private:
829425a5 68 AliMUONDigitMaker* fDigitMaker; //!< pointer to the digit maker class
2cf44ef3 69
829425a5 70 mutable AliMUONCalibrationData* fCalibrationData; //!< pointer to calibration data
b2d7df0b 71
96fdfe9a 72 AliMUONTriggerCrateStore* fCrateManager; //!< Crate array
73
74 TClonesArray* fTriggerCircuit; //!< trigger circuit
75
9c4b1ee7 76 AliMUONGeometryTransformer* fTransformer; //!< pointer to transformation
6a518391 77 AliMUONSegmentation* fSegmentation; //!< pointer to segmentation
aa6ecf89 78
6b092dfc 79 AliMUONRecData* fMUONData; //!< pointer to container
196471e9 80
cac2eb58 81 ClassDef(AliMUONReconstructor, 0) // class for the MUON reconstruction
82};
83
84#endif