]>
Commit | Line | Data |
---|---|---|
820b4d9e | 1 | #ifndef AliMuonForwardTrack_H |
2 | #define AliMuonForwardTrack_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | //==================================================================================================================================================== | |
8 | // | |
9 | // Description of an ALICE muon forward track, combining the information of the Muon Spectrometer and the Muon Forward Tracker | |
10 | // | |
11 | // Contact author: antonio.uras@cern.ch | |
12 | // | |
13 | //==================================================================================================================================================== | |
14 | ||
15 | #include "AliLog.h" | |
16 | #include "AliMUONTrack.h" | |
17 | #include "AliMFTCluster.h" | |
18 | #include "AliMUONVCluster.h" | |
19 | #include "AliMUONTrackParam.h" | |
20 | #include "TMatrixD.h" | |
21 | #include "TClonesArray.h" | |
22 | #include "TParticle.h" | |
23 | ||
24 | //==================================================================================================================================================== | |
25 | ||
26 | class AliMuonForwardTrack : public AliMUONTrack { | |
27 | ||
28 | public: | |
29 | ||
30 | AliMuonForwardTrack(); | |
31 | AliMuonForwardTrack(AliMUONTrack *MUONTrack); | |
32 | ||
33 | AliMuonForwardTrack(const AliMuonForwardTrack&); | |
34 | AliMuonForwardTrack &operator=(const AliMuonForwardTrack&); | |
35 | ||
36 | virtual ~AliMuonForwardTrack() {} | |
37 | ||
38 | void SetMUONTrack(AliMUONTrack *MUONTrack); | |
39 | void SetMCTrackRef(TParticle *MCTrackRef); | |
40 | AliMUONTrack* GetMUONTrack() { return fMUONTrack; } | |
41 | TParticle* GetMCTrackRef() { return fMCTrackRef; } | |
42 | ||
43 | AliMUONVCluster* GetMUONCluster(Int_t iMUONCluster); | |
44 | AliMFTCluster* GetMFTCluster(Int_t iMFTCluster); | |
45 | ||
46 | AliMUONTrackParam* GetTrackParamAtMUONCluster(Int_t iMUONCluster); | |
47 | AliMUONTrackParam* GetTrackParamAtMFTCluster(Int_t iMFTCluster); | |
48 | ||
49 | void SetPlaneExists(Int_t iPlane, Bool_t value=kTRUE) { fPlaneExists[iPlane] = value; } | |
50 | Bool_t PlaneExists(Int_t iPlane) { return fPlaneExists[iPlane]; } | |
51 | ||
52 | Int_t GetNMUONClusters() { return fMUONTrack->GetNClusters(); } | |
53 | Int_t GetNMFTClusters() { return GetNClusters(); } | |
54 | ||
55 | Int_t GetMCLabelMUONTrack() { return fMUONTrack->GetMCLabel(); } | |
56 | ||
57 | void AddTrackParamAtMFTCluster(AliMUONTrackParam &trackParam, AliMFTCluster &mftCluster); | |
58 | ||
59 | Double_t RunKalmanFilter(AliMUONTrackParam &trackParamAtCluster); | |
60 | ||
61 | Double_t GetWeightedOffset(Double_t x, Double_t y, Double_t z); | |
62 | Double_t GetOffset(Double_t x, Double_t y, Double_t z); | |
63 | Double_t GetOffsetX(Double_t x, Double_t z); | |
64 | Double_t GetOffsetY(Double_t y, Double_t z); | |
65 | ||
66 | protected: | |
67 | ||
68 | static const Int_t fMaxNPlanesMFT = 20; | |
69 | ||
70 | Bool_t fPlaneExists[fMaxNPlanesMFT]; | |
71 | ||
72 | AliMUONTrack *fMUONTrack; | |
73 | TParticle *fMCTrackRef; | |
74 | ||
75 | TClonesArray *fMFTClusters; | |
76 | ||
77 | ClassDef(AliMuonForwardTrack,1) | |
78 | ||
79 | }; | |
80 | ||
81 | //==================================================================================================================================================== | |
82 | ||
83 | #endif | |
84 | ||
85 | ||
86 |