Introduction of the new SSD geometry in simulation (AliITSv11Hybrid) and suppression...
[u/mrichter/AliRoot.git] / MUON / AliMUONReconstructor.h
CommitLineData
cac2eb58 1#ifndef ALIMUONRECONSTRUCTOR_H
2#define ALIMUONRECONSTRUCTOR_H
22899106 3
cac2eb58 4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
22899106 5* See cxx source for full Copyright notice */
cac2eb58 6
22899106 7// $Id$
cac2eb58 8
692de412 9/// \ingroup rec
10/// \class AliMUONReconstructor
22899106 11/// \brief Implementation of AliReconstructor for MUON (both tracker and trigger)
12///
13// Author Laurent Aphecetche, Subatech
692de412 14
22899106 15#ifndef ALIRECONSTRUCTOR_H
16# include "AliReconstructor.h"
17#endif
cac2eb58 18
2cf44ef3 19class AliMUONDigitMaker;
22899106 20class AliMUONVDigitStore;
21class AliMUONVTriggerStore;
22
9c4b1ee7 23class AliMUONGeometryTransformer;
6a518391 24
22899106 25class AliMUONTriggerCrateStore;
26class AliMUONTriggerCircuit;
6a518391 27class TClonesArray;
22899106 28class AliMUONVTriggerStore;
b2d7df0b 29
22899106 30class AliMUONDigitCalibrator;
31class AliMUONCalibrationData;
9c4b1ee7 32
22899106 33class AliMUONClusterReconstructor;
34class AliMUONVClusterStore;
b2d7df0b 35
22899106 36class AliMUONTracker;
37class AliMUONVTrackStore;
b2d7df0b 38
22899106 39class AliMUONStopwatchGroup;
2cf44ef3 40
22899106 41class AliMUONReconstructor : public AliReconstructor
42{
43public:
44 AliMUONReconstructor();
45 virtual ~AliMUONReconstructor();
46
47 virtual Bool_t HasDigitConversion() const;
48
49 virtual void ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const;
50
51 virtual Bool_t HasLocalReconstruction() const;
52
53 virtual void Reconstruct(AliRunLoader* runLoader) const;
54
55 virtual void Reconstruct(AliRunLoader* runLoader, AliRawReader* rawReader) const;
56
57 virtual void Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const;
58
59 virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
60
61 virtual AliTracker* CreateTracker(AliRunLoader* runLoader) const;
b2d7df0b 62
22899106 63private:
64 /// Not implemented
65 AliMUONReconstructor(const AliMUONReconstructor&);
66 /// Not implemented
67 AliMUONReconstructor& operator=(const AliMUONReconstructor&);
68
69 void ConvertDigits(AliRawReader* rawReader,
70 AliMUONVDigitStore* digitStore,
71 AliMUONVTriggerStore* triggerStore) const;
72 void Calibrate(AliMUONVDigitStore& digitStore) const;
73 void Clusterize(const AliMUONVDigitStore& digitStore, AliMUONVClusterStore& clusterStore) const;
74 AliMUONTriggerCrateStore* CrateManager() const;
75 void CreateCalibrator() const;
76 void CreateDigitMaker() const;
77 void CreateTriggerCircuit() const;
78 void CreateClusterReconstructor() const;
79 void FillTreeR(AliMUONVTriggerStore* triggerStore,
80 AliMUONVClusterStore* clusterStore,
81 TTree& clustersTree) const;
82
83 AliMUONVDigitStore* DigitStore() const;
84 AliMUONVClusterStore* ClusterStore() const;
85 AliMUONVTriggerStore* TriggerStore() const;
196471e9 86
22899106 87private:
88 mutable AliMUONTriggerCrateStore* fCrateManager; //!< Trigger Crate manager
89 mutable AliMUONDigitMaker* fDigitMaker; //!< Raw to Digits converter
90 AliMUONGeometryTransformer* fTransformer; //!< Geometry transformer (local<->global)
91 mutable AliMUONVDigitStore* fDigitStore; //!< Digit container
32ab62c9 92 mutable AliMUONTriggerCircuit* fTriggerCircuit; //!< Trigger Circuit
22899106 93 mutable AliMUONCalibrationData* fCalibrationData; //!< Calibration data
94 mutable AliMUONDigitCalibrator* fDigitCalibrator; //!< Digit to calibrate digit converter
95 mutable AliMUONClusterReconstructor* fClusterReconstructor; //!< Clusterizer
96 mutable AliMUONVClusterStore* fClusterStore; //!< Cluster container
97 mutable AliMUONVTriggerStore* fTriggerStore; //!< Trigger container
98 mutable AliMUONVTrackStore* fTrackStore; //!< Track container
99 AliMUONStopwatchGroup* fTimers; //!< Internal timers
100
101 ClassDef(AliMUONReconstructor,1) // Implementation of AliReconstructor
cac2eb58 102};
103
104#endif