]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONRefitter.h
In AliMUONRawStreamTriggerHP:
[u/mrichter/AliRoot.git] / MUON / AliMUONRefitter.h
CommitLineData
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
17class AliMUONGeometryTransformer;
18class AliMUONVClusterFinder;
19class AliMUONVClusterServer;
20class AliMUONVTrackReconstructor;
21class AliMUONESDInterface;
22class AliMUONVClusterStore;
23class AliMUONVTrackStore;
24class AliMUONTrack;
25
26class AliMUONRefitter : public TObject
27{
28public:
29
30 AliMUONRefitter();
31 virtual ~AliMUONRefitter();
32
6cac085d 33 /// connect to the ESD interface containing MUON data to refit
7deb8eb0 34 void Connect(AliMUONESDInterface* esdInterface) {fESDInterface = esdInterface;}
35
36 // re-reconstruct all tracks (clusters) in the ESD event
37 AliMUONVTrackStore* ReconstructFromDigits();
38 AliMUONVTrackStore* ReconstructFromClusters();
39
40 // refit a particular track in the ESD event
630711ed 41 AliMUONTrack* RetrackFromDigits(UInt_t trackId);
42 AliMUONTrack* RetrackFromClusters(UInt_t trackId);
7deb8eb0 43
44 // re-clusterize a particular cluster in the ESD event
630711ed 45 AliMUONVClusterStore* ReClusterize(UInt_t trackId, UInt_t clusterId);
7deb8eb0 46 AliMUONVClusterStore* ReClusterize(UInt_t clusterId);
47
48
49protected:
50
51 AliMUONRefitter (const AliMUONRefitter&); ///< copy constructor
52 AliMUONRefitter& operator=(const AliMUONRefitter&); ///< assignment operator
53
54
55private:
56
630711ed 57 void CreateGeometryTransformer();
58 void CreateClusterServer(AliMUONGeometryTransformer& transformer);
59
60 AliMUONTrack* RetrackFromDigits(const AliMUONTrack& track);
7deb8eb0 61
62 void AddClusterToTracks(const AliMUONVClusterStore &localClusterStore, AliMUONVTrackStore &trackStore);
63
64
65private:
66
67 AliMUONGeometryTransformer* fGeometryTransformer; ///< geometry transformer (owner)
68 AliMUONVClusterServer* fClusterServer; ///< clusterizer (owner)
69 AliMUONVTrackReconstructor* fTracker; ///< tracker (owner)
70 AliMUONESDInterface* fESDInterface; ///< container of MUON tracks/clusters/digits (not owner)
71
72
73 ClassDef(AliMUONRefitter,0)
74};
75
76#endif
77