]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONTracker.h
removed obsolete AliMUONAlignmentRecord classes (AliMillePedeRecord is now used,...
[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
e41c38cf 6// $Id$
196471e9 7
6b092dfc 8/// \ingroup rec
196471e9 9/// \class AliMUONTracker
10/// \brief MUON base Tracker
d81d2e8e 11///
9bf6860b 12// Authors: Christian Finck, Laurent Aphecetche, SUBATECH Nantes
196471e9 13
14#include "AliTracker.h"
e64fdf8a 15
196471e9 16class AliCluster;
af885e0f 17class AliESDEvent;
e64fdf8a 18class AliMUONGeometryTransformer;
a0dc65b4 19class AliMUONRecoParam;
e64fdf8a 20class AliMUONTrackHitPattern;
32ab62c9 21class AliMUONTriggerCircuit;
9bf6860b 22class AliMUONVClusterServer;
e64fdf8a 23class AliMUONVClusterStore;
9bf6860b 24class AliMUONVDigitStore;
196471e9 25class AliMUONVTrackReconstructor;
e64fdf8a 26class AliMUONVTrackStore;
27class AliMUONVTriggerStore;
9bf6860b 28class AliMUONVTriggerTrackStore;
d5315275 29class AliMUONTriggerUtilities;
196471e9 30
31class AliMUONTracker : public AliTracker
32{
33 public:
34
a0dc65b4 35 AliMUONTracker(const AliMUONRecoParam* recoParam,
36 AliMUONVClusterServer* clusterServer,
2e2d0c44 37 AliMUONVDigitStore& digitStore,
e64fdf8a 38 const AliMUONGeometryTransformer* transformer=0,
d5315275 39 const AliMUONTriggerCircuit* triggerCircuit=0,
40 const AliMUONTriggerUtilities* triggerUtilities=0);
196471e9 41 virtual ~AliMUONTracker();
196471e9 42
af885e0f 43 virtual Int_t Clusters2Tracks(AliESDEvent* esd);
e64fdf8a 44
e64fdf8a 45 virtual Int_t LoadClusters(TTree* clustersTree);
46
e64fdf8a 47 virtual void UnloadClusters();
48
21973f26 49 /// Return reco parameters
72dae9ff 50 const AliMUONRecoParam* GetRecoParam() const { return fkRecoParam; }
a0dc65b4 51
71a2d3aa 52 /// Dummy implementation
af885e0f 53 virtual Int_t PropagateBack(AliESDEvent* /*event*/) {return 0;}
71a2d3aa 54 /// Dummy implementation
af885e0f 55 virtual Int_t RefitInward(AliESDEvent* /*event*/) {return 0;}
71a2d3aa 56 /// Dummy implementation
196471e9 57 virtual AliCluster *GetCluster(Int_t /*index*/) const {return 0;}
196471e9 58
852fefb4 59 static AliMUONVTrackReconstructor* CreateTrackReconstructor(const AliMUONRecoParam* recoParam,
60 AliMUONVClusterServer* clusterServer,
61 const AliMUONGeometryTransformer* transformer);
9bf6860b 62
196471e9 63private:
71a2d3aa 64 /// Not implemented
65 AliMUONTracker(const AliMUONTracker& rhs);
66 /// Not implemented
67 AliMUONTracker& operator=(const AliMUONTracker& rhs);
68
1fef78c8 69 AliMUONVClusterStore* ClusterStore() const;
70
9bf6860b 71 AliMUONVTriggerTrackStore* TriggerTrackStore() const;
3304fa09 72
72dae9ff 73 void FillESD(const AliMUONVTrackStore& trackStore, AliESDEvent* esd) const;
e64fdf8a 74
9bf6860b 75 void SetupClusterServer(AliMUONVClusterServer& clusterServer);
76
e64fdf8a 77private:
72dae9ff 78 const AliMUONGeometryTransformer* fkTransformer; //!< geometry transformer (not owner)
79 const AliMUONTriggerCircuit* fkTriggerCircuit; //!< trigger circuit (not owner)
e64fdf8a 80 AliMUONTrackHitPattern* fTrackHitPatternMaker; //!< trigger hit pattern maker
3304fa09 81 AliMUONVTrackReconstructor* fTrackReco; //!< track reconstructor
1fef78c8 82 mutable AliMUONVClusterStore* fClusterStore; //!< cluster container
e64fdf8a 83 AliMUONVTriggerStore* fTriggerStore; //!< trigger information
9bf6860b 84 AliMUONVClusterServer* fClusterServer; //!< to get clusters
85 Bool_t fIsOwnerOfClusterServer; //!< whether we are owner of the cluster server
72dae9ff 86 const AliMUONVDigitStore& fkDigitStore; //!< digit info to fill in ESD
9bf6860b 87 mutable AliMUONVClusterStore* fInputClusterStore; //!< cluster container
88 mutable AliMUONVTriggerTrackStore* fTriggerTrackStore; //!< trigger track store
72dae9ff 89 const AliMUONRecoParam* fkRecoParam; //!< pointer to reco param
cfeca9e2 90 AliMUONVTrackStore* fInternalTrackStore; //!< internal track store
e64fdf8a 91
196471e9 92 ClassDef(AliMUONTracker,0) //tracker base class for MUON
93};
94#endif