]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/AliMUONReconstructor.h
Fixing wrong usage of bits
[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 AliMUONCalibrationData;
20class AliMUONDigitCalibrator;
21class AliMUONDigitMaker;
22class AliMUONGeometryTransformer;
23class AliMUONTracker;
24class AliMUONTriggerCircuit;
25class AliMUONVClusterFinder;
26class AliMUONVClusterServer;
27class AliMUONVClusterStore;
28class AliMUONVDigitStore;
29class AliMUONVTrackStore;
30class AliMUONVTriggerStore;
31class AliMUONTriggerElectronics;
32class TClonesArray;
33
34#include "AliMUONRecoParam.h"
35
36class AliMUONReconstructor : public AliReconstructor
37{
38public:
39 AliMUONReconstructor();
40 virtual ~AliMUONReconstructor();
41
42 virtual Bool_t HasDigitConversion() const;
43
44 virtual void ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const;
45
46 virtual void Reconstruct(AliRawReader* rawReader, TTree* clustersTree) const;
47
48 virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
49
50 virtual AliTracker* CreateTracker() const;
51
52 /// Get param object
53 static const AliMUONRecoParam* GetRecoParam() { return dynamic_cast<const AliMUONRecoParam*>(AliReconstructor::GetRecoParam(7)); }
54
55 static AliMUONVClusterFinder* CreateClusterFinder(const char* clusterFinderType);
56
57private:
58 /// Not implemented
59 AliMUONReconstructor(const AliMUONReconstructor&);
60 /// Not implemented
61 AliMUONReconstructor& operator=(const AliMUONReconstructor&);
62
63 void ConvertDigits(AliRawReader* rawReader,
64 AliMUONVDigitStore* digitStore,
65 AliMUONVTriggerStore* triggerStore) const;
66 void Calibrate(AliMUONVDigitStore& digitStore) const;
67 void CreateCalibrationData() const;
68 void CreateCalibrator() const;
69 void CreateDigitMaker() const;
70 void CreateTriggerCircuit() const;
71 void CreateClusterServer() const;
72 void FillTreeR(AliMUONVTriggerStore* triggerStore,
73 TTree& clustersTree) const;
74
75 AliMUONVDigitStore* DigitStore() const;
76 AliMUONVTriggerStore* TriggerStore() const;
77 void ResponseRemovingChambers(AliMUONVTriggerStore* triggerStore) const;
78
79private:
80
81 mutable AliMUONDigitMaker* fDigitMaker; //!< Raw to Digits converter
82 AliMUONGeometryTransformer* fTransformer; //!< Geometry transformer (local<->global)
83 mutable AliMUONVDigitStore* fDigitStore; //!< Digit container
84 mutable AliMUONTriggerCircuit* fTriggerCircuit; //!< Trigger Circuit
85 mutable AliMUONCalibrationData* fCalibrationData; //!< Calibration data
86 mutable AliMUONDigitCalibrator* fDigitCalibrator; //!< Digit to calibrate digit converter
87 mutable AliMUONVClusterServer* fClusterServer; //!< Clusterizer
88 mutable AliMUONVTriggerStore* fTriggerStore; //!< Trigger container
89 mutable AliMUONVTrackStore* fTrackStore; //!< Track container
90 mutable AliMUONVClusterStore* fClusterStore; //!< cluster store (when not in combined tracking mode)
91 mutable AliMUONTriggerElectronics* fTriggerProcessor; //!< Processor to recalculate trigger response
92
93 ClassDef(AliMUONReconstructor,9) // Implementation of AliReconstructor
94};
95
96#endif