1 #ifndef ALIMUONRECONSTRUCTOR_H
2 #define ALIMUONRECONSTRUCTOR_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 /// \class AliMUONReconstructor
11 /// \brief Implementation of AliReconstructor for MUON (both tracker and trigger)
13 // Author Laurent Aphecetche, Subatech
15 #ifndef ALIRECONSTRUCTOR_H
16 # include "AliReconstructor.h"
19 class AliMUONDigitMaker;
20 class AliMUONVDigitStore;
21 class AliMUONVTriggerStore;
23 class AliMUONGeometryTransformer;
25 class AliMUONTriggerCrateStore;
26 class AliMUONTriggerCircuit;
28 class AliMUONVTriggerStore;
30 class AliMUONDigitCalibrator;
31 class AliMUONCalibrationData;
34 class AliMUONVTrackStore;
36 class AliMUONRecoParam;
38 class AliMUONVClusterFinder;
40 class AliMUONVClusterServer;
42 class AliMUONReconstructor : public AliReconstructor
45 AliMUONReconstructor();
46 virtual ~AliMUONReconstructor();
48 virtual Bool_t HasDigitConversion() const;
50 virtual void ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const;
52 virtual void Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const;
54 virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
56 virtual AliTracker* CreateTracker() const;
58 static const AliMUONRecoParam* GetRecoParam();
60 static AliMUONVClusterFinder* CreateClusterFinder(const char* clusterFinderType);
64 AliMUONReconstructor(const AliMUONReconstructor&);
66 AliMUONReconstructor& operator=(const AliMUONReconstructor&);
68 void ConvertDigits(AliRawReader* rawReader,
69 AliMUONVDigitStore* digitStore,
70 AliMUONVTriggerStore* triggerStore) const;
71 void Calibrate(AliMUONVDigitStore& digitStore) const;
72 AliMUONTriggerCrateStore* CrateManager() const;
73 void CreateCalibrator() const;
74 void CreateDigitMaker() const;
75 void CreateTriggerCircuit() const;
76 void CreateClusterServer() const;
77 void FillTreeR(AliMUONVTriggerStore* triggerStore,
78 TTree& clustersTree) const;
80 AliMUONVDigitStore* DigitStore() const;
81 AliMUONVTriggerStore* TriggerStore() const;
84 mutable AliMUONTriggerCrateStore* fCrateManager; //!< Trigger Crate manager
85 mutable AliMUONDigitMaker* fDigitMaker; //!< Raw to Digits converter
86 AliMUONGeometryTransformer* fTransformer; //!< Geometry transformer (local<->global)
87 mutable AliMUONVDigitStore* fDigitStore; //!< Digit container
88 mutable AliMUONTriggerCircuit* fTriggerCircuit; //!< Trigger Circuit
89 mutable AliMUONCalibrationData* fCalibrationData; //!< Calibration data
90 mutable AliMUONDigitCalibrator* fDigitCalibrator; //!< Digit to calibrate digit converter
91 mutable AliMUONVClusterServer* fClusterServer; //!< Clusterizer
92 mutable AliMUONVTriggerStore* fTriggerStore; //!< Trigger container
93 mutable AliMUONVTrackStore* fTrackStore; //!< Track container
95 static AliMUONRecoParam* fgRecoParam; //!< parameters used to tune the MUON reconstruction
97 ClassDef(AliMUONReconstructor,6) // Implementation of AliReconstructor