]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONRefitter.h
Using AliPHOSLoader instead of AliPHOSGetter
[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
41 AliMUONTrack* RetrackFromDigits(Int_t iTrack);
42 AliMUONTrack* RetrackFromClusters(Int_t iTrack);
43
44 // re-clusterize a particular cluster in the ESD event
45 AliMUONVClusterStore* ReClusterize(Int_t iTrack, Int_t iCluster);
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
57 void CreateGeometryTransformer();
58 void CreateClusterServer(AliMUONGeometryTransformer& transformer);
7deb8eb0 59
60 void AddClusterToTracks(const AliMUONVClusterStore &localClusterStore, AliMUONVTrackStore &trackStore);
61
62
63private:
64
65 AliMUONGeometryTransformer* fGeometryTransformer; ///< geometry transformer (owner)
66 AliMUONVClusterServer* fClusterServer; ///< clusterizer (owner)
67 AliMUONVTrackReconstructor* fTracker; ///< tracker (owner)
68 AliMUONESDInterface* fESDInterface; ///< container of MUON tracks/clusters/digits (not owner)
69
70
71 ClassDef(AliMUONRefitter,0)
72};
73
74#endif
75