Fixes for #86059: Install data when ALICE_ROOT does not point to source (Christian)
[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;
a0dc65b4 25class AliMUONRecoParam;
7deb8eb0 26
27class AliMUONRefitter : public TObject
28{
29public:
30
a0dc65b4 31 AliMUONRefitter(const AliMUONRecoParam* recoParam);
7deb8eb0 32 virtual ~AliMUONRefitter();
33
6cac085d 34 /// connect to the ESD interface containing MUON data to refit
5a240757 35 void Connect(const AliMUONESDInterface* esdInterface) {fkESDInterface = esdInterface;}
7deb8eb0 36
37 // re-reconstruct all tracks (clusters) in the ESD event
38 AliMUONVTrackStore* ReconstructFromDigits();
39 AliMUONVTrackStore* ReconstructFromClusters();
40
41 // refit a particular track in the ESD event
630711ed 42 AliMUONTrack* RetrackFromDigits(UInt_t trackId);
43 AliMUONTrack* RetrackFromClusters(UInt_t trackId);
7deb8eb0 44
45 // re-clusterize a particular cluster in the ESD event
630711ed 46 AliMUONVClusterStore* ReClusterize(UInt_t trackId, UInt_t clusterId);
7deb8eb0 47 AliMUONVClusterStore* ReClusterize(UInt_t clusterId);
48
49
50protected:
51
52 AliMUONRefitter (const AliMUONRefitter&); ///< copy constructor
53 AliMUONRefitter& operator=(const AliMUONRefitter&); ///< assignment operator
54
55
56private:
57
630711ed 58 void CreateGeometryTransformer();
59 void CreateClusterServer(AliMUONGeometryTransformer& transformer);
60
61 AliMUONTrack* RetrackFromDigits(const AliMUONTrack& track);
7deb8eb0 62
ad6250dc 63 Bool_t AddClusterToTracks(const AliMUONVClusterStore &localClusterStore, AliMUONVTrackStore &trackStore);
7deb8eb0 64
7deb8eb0 65private:
66
5a240757 67 const AliMUONRecoParam* fkRecoParam; ///< pointer to reco param (not owner)
68 const AliMUONESDInterface* fkESDInterface; ///< container of MUON tracks/clusters/digits (not owner)
7deb8eb0 69 AliMUONGeometryTransformer* fGeometryTransformer; ///< geometry transformer (owner)
70 AliMUONVClusterServer* fClusterServer; ///< clusterizer (owner)
71 AliMUONVTrackReconstructor* fTracker; ///< tracker (owner)
7deb8eb0 72
73
74 ClassDef(AliMUONRefitter,0)
75};
76
77#endif
78