]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/AliMUONReconstructor.h
Changes needed by the following commit: coding convention for type (_t) and access...
[u/mrichter/AliRoot.git] / MUON / AliMUONReconstructor.h
... / ...
CommitLineData
1#ifndef ALIMUONRECONSTRUCTOR_H
2#define ALIMUONRECONSTRUCTOR_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5* See cxx source for full Copyright notice */
6
7// $Id$
8
9/// \ingroup rec
10/// \class AliMUONReconstructor
11/// \brief Implementation of AliReconstructor for MUON (both tracker and trigger)
12///
13// Author Laurent Aphecetche, Subatech
14
15#ifndef ALIRECONSTRUCTOR_H
16# include "AliReconstructor.h"
17#endif
18
19class AliMUONDigitMaker;
20class AliMUONVDigitStore;
21class AliMUONVTriggerStore;
22
23class AliMUONGeometryTransformer;
24
25class AliMUONTriggerCrateStore;
26class AliMUONTriggerCircuit;
27class TClonesArray;
28class AliMUONVTriggerStore;
29
30class AliMUONDigitCalibrator;
31class AliMUONCalibrationData;
32
33class AliMUONTracker;
34class AliMUONVTrackStore;
35
36class AliMUONRecoParam;
37
38class AliMUONVClusterFinder;
39
40class AliMUONVClusterServer;
41
42class AliMUONReconstructor : public AliReconstructor
43{
44public:
45 AliMUONReconstructor();
46 virtual ~AliMUONReconstructor();
47
48 virtual Bool_t HasDigitConversion() const;
49
50 virtual void ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const;
51
52 virtual void Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const;
53
54 virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
55
56 virtual AliTracker* CreateTracker() const;
57
58 static const AliMUONRecoParam* GetRecoParam();
59
60private:
61 /// Not implemented
62 AliMUONReconstructor(const AliMUONReconstructor&);
63 /// Not implemented
64 AliMUONReconstructor& operator=(const AliMUONReconstructor&);
65
66 void ConvertDigits(AliRawReader* rawReader,
67 AliMUONVDigitStore* digitStore,
68 AliMUONVTriggerStore* triggerStore) const;
69 void Calibrate(AliMUONVDigitStore& digitStore) const;
70 AliMUONTriggerCrateStore* CrateManager() const;
71 void CreateCalibrator() const;
72 AliMUONVClusterFinder* CreateClusterFinder(const char* clusterFinderType) const;
73 void CreateDigitMaker() const;
74 void CreateTriggerCircuit() const;
75 void CreateClusterServer() const;
76 void FillTreeR(AliMUONVTriggerStore* triggerStore,
77 TTree& clustersTree) const;
78
79 AliMUONVDigitStore* DigitStore() const;
80 AliMUONVTriggerStore* TriggerStore() const;
81
82private:
83 mutable AliMUONTriggerCrateStore* fCrateManager; //!< Trigger Crate manager
84 mutable AliMUONDigitMaker* fDigitMaker; //!< Raw to Digits converter
85 AliMUONGeometryTransformer* fTransformer; //!< Geometry transformer (local<->global)
86 mutable AliMUONVDigitStore* fDigitStore; //!< Digit container
87 mutable AliMUONTriggerCircuit* fTriggerCircuit; //!< Trigger Circuit
88 mutable AliMUONCalibrationData* fCalibrationData; //!< Calibration data
89 mutable AliMUONDigitCalibrator* fDigitCalibrator; //!< Digit to calibrate digit converter
90 mutable AliMUONVClusterServer* fClusterServer; //!< Clusterizer
91 mutable AliMUONVTriggerStore* fTriggerStore; //!< Trigger container
92 mutable AliMUONVTrackStore* fTrackStore; //!< Track container
93
94 static AliMUONRecoParam* fgRecoParam; //!< parameters used to tune the MUON reconstruction
95
96 ClassDef(AliMUONReconstructor,5) // Implementation of AliReconstructor
97};
98
99#endif