]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONTracker.h
Modifications for the revival of the combined tracking (Laurent)
[u/mrichter/AliRoot.git] / MUON / AliMUONTracker.h
CommitLineData
196471e9 1#ifndef ALIMUONTRACKER_H
2#define ALIMUONTRACKER_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6
6b092dfc 7/// \ingroup rec
196471e9 8/// \class AliMUONTracker
9/// \brief MUON base Tracker
d81d2e8e 10///
11// Author: Christian Finck, SUBATECH Nantes
196471e9 12
13#include "AliTracker.h"
e64fdf8a 14
196471e9 15class AliCluster;
af885e0f 16class AliESDEvent;
e64fdf8a 17class AliMUONDigitMaker;
18class AliMUONGeometryTransformer;
19class AliMUONTrackHitPattern;
8c0b5e70 20class AliMUONTriggerChamberEff;
32ab62c9 21class AliMUONTriggerCircuit;
e64fdf8a 22class AliMUONVClusterStore;
196471e9 23class AliMUONVTrackReconstructor;
e64fdf8a 24class AliMUONVTrackStore;
25class AliMUONVTriggerStore;
1fef78c8 26class AliMUONVClusterServer;
196471e9 27
28class AliMUONTracker : public AliTracker
29{
30 public:
31
1fef78c8 32 AliMUONTracker(AliMUONVClusterServer& clusterServer,
33 const AliMUONDigitMaker* digitMaker=0,
e64fdf8a 34 const AliMUONGeometryTransformer* transformer=0,
8c0b5e70 35 const AliMUONTriggerCircuit* triggerCircuit=0,
1fef78c8 36 AliMUONTriggerChamberEff* chamberEff=0);
196471e9 37 virtual ~AliMUONTracker();
196471e9 38
af885e0f 39 virtual Int_t Clusters2Tracks(AliESDEvent* esd);
e64fdf8a 40
e64fdf8a 41 virtual Int_t LoadClusters(TTree* clustersTree);
42
e64fdf8a 43 virtual void UnloadClusters();
44
71a2d3aa 45 /// Dummy implementation
af885e0f 46 virtual Int_t PropagateBack(AliESDEvent* /*event*/) {return 0;}
71a2d3aa 47 /// Dummy implementation
af885e0f 48 virtual Int_t RefitInward(AliESDEvent* /*event*/) {return 0;}
71a2d3aa 49 /// Dummy implementation
196471e9 50 virtual AliCluster *GetCluster(Int_t /*index*/) const {return 0;}
196471e9 51
52private:
71a2d3aa 53 /// Not implemented
54 AliMUONTracker(const AliMUONTracker& rhs);
55 /// Not implemented
56 AliMUONTracker& operator=(const AliMUONTracker& rhs);
57
1fef78c8 58 AliMUONVClusterStore* ClusterStore() const;
59
3304fa09 60 void CreateTrackReconstructor();
61
af885e0f 62 void FillESD(AliMUONVTrackStore& trackStore, AliESDEvent* esd) const;
e64fdf8a 63
64private:
e64fdf8a 65 const AliMUONDigitMaker* fDigitMaker; //!< digit maker (not owner)
66 const AliMUONGeometryTransformer* fTransformer; //!< geometry transformer (not owner)
3304fa09 67 const AliMUONTriggerCircuit* fTriggerCircuit; //!< trigger circuit (not owner)
8c0b5e70 68 AliMUONTriggerChamberEff* fTrigChamberEff; //!< trigger efficiency (not owner)
e64fdf8a 69 AliMUONTrackHitPattern* fTrackHitPatternMaker; //!< trigger hit pattern maker
3304fa09 70 AliMUONVTrackReconstructor* fTrackReco; //!< track reconstructor
1fef78c8 71 mutable AliMUONVClusterStore* fClusterStore; //!< cluster container
e64fdf8a 72 AliMUONVTriggerStore* fTriggerStore; //!< trigger information
1fef78c8 73 AliMUONVClusterServer& fClusterServer; //!< to get clusters
e64fdf8a 74
196471e9 75 ClassDef(AliMUONTracker,0) //tracker base class for MUON
76};
77#endif