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