]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONTrack.h
Extracting the BLOCK DATA in a separate file. Changes to make it working on macosx
[u/mrichter/AliRoot.git] / MUON / AliMUONTrack.h
CommitLineData
a9e2aefa 1#ifndef ALIMUONTRACK_H
2#define ALIMUONTRACK_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/*$Id$*/
30178c30 7// Revision of includes 07/05/2004
8
692de412 9/// \ingroup rec
10/// \class AliMUONTrack
11/// \brief Reconstructed track in ALICE dimuon spectrometer
12///
13////////////////////////////////////////////////////
14/// Reconstructed track in ALICE dimuon spectrometer
15////////////////////////////////////////////////////
3831f268 16
30178c30 17#include <TClonesArray.h>
18
c1a185bf 19#include "AliMUONTrackParam.h" // object belongs to the class
a9e2aefa 20
a9e2aefa 21class AliMUONHitForRec;
22class AliMUONSegment;
23
30178c30 24class AliMUONTrack : public TObject
25{
a9e2aefa 26 public:
d837040f 27 AliMUONTrack(); // Default constructor
8429a5e4 28 virtual ~AliMUONTrack(); // Destructor
a9e2aefa 29 AliMUONTrack (const AliMUONTrack& AliMUONTrack); // copy constructor
30 AliMUONTrack& operator=(const AliMUONTrack& AliMUONTrack); // assignment operator
31
de2cd600 32 AliMUONTrack(AliMUONSegment* BegSegment, AliMUONSegment* EndSegment); // Constructor from two Segment's
33 AliMUONTrack(AliMUONSegment* Segment, AliMUONHitForRec* HitForRec); // Constructor from one Segment and one HitForRec
a9e2aefa 34
2457f726 35 /// return pointeur to track parameters at vertex
6464217e 36 AliMUONTrackParam* GetTrackParamAtVertex(void) {return &fTrackParamAtVertex;}
2457f726 37 /// set track parameters at vertex
6464217e 38 void SetTrackParamAtVertex(AliMUONTrackParam* TrackParam) {fTrackParamAtVertex = *TrackParam;}
de2cd600 39
2457f726 40 /// return array of track parameters at hit
6464217e 41 TClonesArray* GetTrackParamAtHit(void) const {return fTrackParamAtHit;}
2457f726 42 /// reset array of track parameters at hit
6464217e 43 void ResetTrackParamAtHit(void) { fTrackParamAtHit->Delete(); }
2457f726 44 /// add track parameters to the array of track parameters at hit
de2cd600 45 void AddTrackParamAtHit(AliMUONTrackParam *trackParam, AliMUONHitForRec *hitForRec);
46
2457f726 47 /// return array of hitForRec at hit
de2cd600 48 TClonesArray* GetHitForRecAtHit(void) const {return fHitForRecAtHit;}
2457f726 49 /// reset array of hitForRec at hit
6464217e 50 void ResetHitForRecAtHit(void) { fHitForRecAtHit->Delete(); }
6464217e 51 void AddHitForRecAtHit(const AliMUONHitForRec *hitForRec);
52
2457f726 53 /// return the number of hits attached to the track
6464217e 54 Int_t GetNTrackHits(void) const {return fNTrackHits;}
2457f726 55 /// set the number of hits attached to the track
6464217e 56 void SetNTrackHits(Int_t nTrackHits) {fNTrackHits = nTrackHits;}
de2cd600 57
2457f726 58 /// return the minimum value of the function minimized by the fit
6464217e 59 Double_t GetFitFMin(void) const {return fFitFMin;}
2457f726 60 /// set the minimum value of the function minimized by the fit
de2cd600 61 void SetFitFMin(Double_t chi2) { fFitFMin = chi2; } // set Chi2
2457f726 62 /// return kTrue if track matches with trigger track, kFalse if not
6464217e 63 Bool_t GetMatchTrigger(void) const {return fMatchTrigger;}
2457f726 64 /// set the flag telling whether track matches with trigger track or not
de2cd600 65 void SetMatchTrigger(Bool_t MatchTrigger) {fMatchTrigger = MatchTrigger;}
2457f726 66 /// return the chi2 of trigger/track matching
6464217e 67 Double_t GetChi2MatchTrigger(void) const {return fChi2MatchTrigger;}
2457f726 68 /// set the chi2 of trigger/track matching
de2cd600 69 void SetChi2MatchTrigger(Double_t Chi2MatchTrigger) {fChi2MatchTrigger = Chi2MatchTrigger;}
70
6464217e 71 Int_t HitsInCommon(AliMUONTrack* Track) const;
6464217e 72 Bool_t* CompatibleTrack(AliMUONTrack* Track, Double_t Sigma2Cut) const; // return array of compatible chamber
b8dc484b 73
2457f726 74 /// return track number in TrackRefs
6464217e 75 Int_t GetTrackID() const {return fTrackID;}
2457f726 76 /// set track number in TrackRefs
6464217e 77 void SetTrackID(Int_t trackID) {fTrackID = trackID;}
78
de2cd600 79 void RecursiveDump(void) const; // Recursive dump (with track hits)
6464217e 80
de2cd600 81 virtual void Print(Option_t* opt="") const;
a9e2aefa 82
956019b6 83
a9e2aefa 84 private:
829425a5 85 AliMUONTrackParam fTrackParamAtVertex; ///< Track parameters at vertex
86 TClonesArray *fTrackParamAtHit; ///< Track parameters at hit
87 TClonesArray *fHitForRecAtHit; ///< Cluster parameters at hit
2457f726 88 Int_t fNTrackHits; ///< Number of hits attached to the track
de2cd600 89
829425a5 90 Double_t fFitFMin; ///< minimum value of the function minimized by the fit
91 Bool_t fMatchTrigger; ///< 1 if track matches with trigger track, 0 if not
92 Double_t fChi2MatchTrigger; ///< chi2 of trigger/track matching
de2cd600 93
829425a5 94 Int_t fTrackID; ///< track ID = track number in TrackRefs
de2cd600 95
96
97 ClassDef(AliMUONTrack, 3) // Reconstructed track in ALICE dimuon spectrometer
98};
a9e2aefa 99
100#endif