]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONTracker.h
Generation of generic AOD by the test script of MUON
[u/mrichter/AliRoot.git] / MUON / AliMUONTracker.h
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
7 /// \ingroup rec
8 /// \class AliMUONTracker
9 /// \brief MUON base Tracker
10 ///
11 //  Author: Christian Finck, SUBATECH Nantes
12
13 #include "AliTracker.h"
14
15 class AliCluster;
16 class AliESDEvent;
17 class AliLoader;
18 class AliMUONDigitMaker;
19 class AliMUONGeometryTransformer;
20 class AliMUONTrackHitPattern;
21 class AliMUONTriggerChamberEff;
22 class AliMUONTriggerCircuit;
23 class AliMUONVClusterStore;
24 class AliMUONVTrackReconstructor;
25 class AliMUONVTrackStore;
26 class AliMUONVTriggerStore;
27
28 class AliMUONTracker : public AliTracker
29 {
30  public:
31
32   AliMUONTracker(AliLoader* loader,
33                  const AliMUONDigitMaker* digitMaker=0,
34                  const AliMUONGeometryTransformer* transformer=0,
35                  const AliMUONTriggerCircuit* triggerCircuit=0,
36                  AliMUONTriggerChamberEff* chamberEff=0);
37   virtual ~AliMUONTracker();
38   
39   /// Main entry point.
40   virtual Int_t Clusters2Tracks(AliESDEvent* esd);
41
42   /// 
43   virtual Int_t LoadClusters(TTree* clustersTree);
44
45   ///
46   virtual void  UnloadClusters();
47
48   /// Dummy implementation
49   virtual Int_t PropagateBack(AliESDEvent* /*event*/) {return 0;}
50   /// Dummy implementation
51   virtual Int_t RefitInward(AliESDEvent* /*event*/) {return 0;}
52   /// Dummy implementation
53   virtual AliCluster *GetCluster(Int_t /*index*/) const {return 0;}
54   /// Set option
55   void SetOption(Option_t* opt);
56
57 private:
58   /// Not implemented
59   AliMUONTracker(const AliMUONTracker& rhs);
60   /// Not implemented
61   AliMUONTracker& operator=(const AliMUONTracker& rhs);
62     
63   Int_t Clusters2Tracks(TTree& tracksTree, AliESDEvent* esd);
64
65   void FillESD(AliMUONVTrackStore& trackStore, AliESDEvent* esd) const;
66
67 private:
68   AliLoader* fLoader; //!< loader to get access to trees
69   const AliMUONDigitMaker* fDigitMaker; //!< digit maker (not owner)
70   const AliMUONGeometryTransformer* fTransformer; //!< geometry transformer (not owner)
71   const AliMUONTriggerCircuit* fTriggerCircuit;                //!< trigger circuit (not owner)
72   AliMUONTriggerChamberEff* fTrigChamberEff; //!< trigger efficiency (not owner)
73   AliMUONTrackHitPattern* fTrackHitPatternMaker; //!< trigger hit pattern maker
74   AliMUONVTrackReconstructor* fTrackReco;       //!< track reconstructor
75   AliMUONVClusterStore* fClusterStore; //!< cluster container
76   AliMUONVTriggerStore* fTriggerStore; //!< trigger information
77   
78   ClassDef(AliMUONTracker,0)  //tracker base class for MUON
79 };
80 #endif