]>
Commit | Line | Data |
---|---|---|
7deb8eb0 | 1 | #ifndef ALIMUONREFITTER_H |
2 | #define ALIMUONREFITTER_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 AliMUONRefitter | |
11 | /// \brief class to refit the ESD clusters/tracks | |
12 | /// | |
13 | // Author Philippe Pillot | |
14 | ||
15 | #include <TObject.h> | |
16 | ||
17 | class AliMUONGeometryTransformer; | |
18 | class AliMUONVClusterFinder; | |
19 | class AliMUONVClusterServer; | |
20 | class AliMUONVTrackReconstructor; | |
21 | class AliMUONESDInterface; | |
22 | class AliMUONVClusterStore; | |
23 | class AliMUONVTrackStore; | |
24 | class AliMUONTrack; | |
25 | ||
26 | class AliMUONRefitter : public TObject | |
27 | { | |
28 | public: | |
29 | ||
30 | AliMUONRefitter(); | |
31 | virtual ~AliMUONRefitter(); | |
32 | ||
33 | void Connect(AliMUONESDInterface* esdInterface) {fESDInterface = esdInterface;} | |
34 | ||
35 | // re-reconstruct all tracks (clusters) in the ESD event | |
36 | AliMUONVTrackStore* ReconstructFromDigits(); | |
37 | AliMUONVTrackStore* ReconstructFromClusters(); | |
38 | ||
39 | // refit a particular track in the ESD event | |
40 | AliMUONTrack* RetrackFromDigits(Int_t iTrack); | |
41 | AliMUONTrack* RetrackFromClusters(Int_t iTrack); | |
42 | ||
43 | // re-clusterize a particular cluster in the ESD event | |
44 | AliMUONVClusterStore* ReClusterize(Int_t iTrack, Int_t iCluster); | |
45 | AliMUONVClusterStore* ReClusterize(UInt_t clusterId); | |
46 | ||
47 | ||
48 | protected: | |
49 | ||
50 | AliMUONRefitter (const AliMUONRefitter&); ///< copy constructor | |
51 | AliMUONRefitter& operator=(const AliMUONRefitter&); ///< assignment operator | |
52 | ||
53 | ||
54 | private: | |
55 | ||
56 | void CreateGeometryTransformer(); | |
57 | void CreateClusterServer(AliMUONGeometryTransformer& transformer); | |
58 | AliMUONVClusterFinder* CreateClusterFinder(); | |
59 | void CreateTrackReconstructor(AliMUONVClusterServer& clusterServer); | |
60 | ||
61 | void AddClusterToTracks(const AliMUONVClusterStore &localClusterStore, AliMUONVTrackStore &trackStore); | |
62 | ||
63 | ||
64 | private: | |
65 | ||
66 | AliMUONGeometryTransformer* fGeometryTransformer; ///< geometry transformer (owner) | |
67 | AliMUONVClusterServer* fClusterServer; ///< clusterizer (owner) | |
68 | AliMUONVTrackReconstructor* fTracker; ///< tracker (owner) | |
69 | AliMUONESDInterface* fESDInterface; ///< container of MUON tracks/clusters/digits (not owner) | |
70 | ||
71 | ||
72 | ClassDef(AliMUONRefitter,0) | |
73 | }; | |
74 | ||
75 | #endif | |
76 |