4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
10 // Authors : M.Gheata, A.Gheata 09/10/00
14 #include <TParticle.h>
15 #include <AliDetector.h>
16 #include "AliMUONHit.h"
18 class AliMUONRecoTrack;
20 /////////////////////////////////////////////////////////////////////
22 // AliMUONRecoEvent //
24 // This class handles an array of reconstructed tracks. //
26 // - filling the tracks array according to the information //
27 // stored in AliMUONEventReconstructor class ; //
28 // - printing event and track informations : event number, //
29 // number of tracks, hits positions, reconstr. momentum. //
31 /////////////////////////////////////////////////////////////////////
33 class AliMUONRecoEvent:public TObject {
36 Int_t fNevr; // event number
37 Int_t fNtracks; // number of tracks
38 TClonesArray *fTracks; //-> list of AliMUONRecoTracks
41 AliMUONRecoEvent(Int_t eventNo = 0);
42 virtual ~AliMUONRecoEvent();
43 AliMUONRecoTrack* AddEmptyTrack();
44 void Clear(Option_t *option = "");
46 Int_t GetNoEvent() const {return fNevr;}
47 Int_t GetNoTracks() const {return fNtracks;}
48 Bool_t MakeDumpTracks(TClonesArray *tracksPtr);
49 void SetNoEvent(Int_t event) {fNevr = event;}
50 void SetNoTracks(Int_t ntracks) {fNtracks = ntracks;}
51 TClonesArray* TracksPtr() {return fTracks;}
53 ClassDef(AliMUONRecoEvent,1) // Reconstructed event for MUON module
56 ////////////////////////////////////////////////////////////////////
58 // AliMUONRecoTrack //
60 // This class represents a reconstructed muon track. //
62 ////////////////////////////////////////////////////////////////////
64 class AliMUONRecoTrack:public TObject {
67 Int_t fSign; // charge sign
68 Double_t fZvr; // z of track vertex point
69 Double_t fChi2r; // chi squared for reco. track
70 Double_t fPr[3]; // reconstr. momentum (same as in vertex)
71 Double_t fPosX[10]; // hit X position in all chambers
72 Double_t fPosY[10]; // hit Y position in all chambers
73 Double_t fPosZ[10]; // hit Z position in all chambers
76 AliMUONRecoTrack() { }
77 AliMUONRecoTrack(Bool_t active);
78 virtual ~AliMUONRecoTrack() { } //desctructor
79 const Double_t GetChi2r() const {return fChi2r;};
80 const Double_t GetMomReconstr(Int_t axis) const {return fPr[axis];};
81 const Int_t GetSign() const {return fSign;};
82 const Double_t GetPosX(Int_t chamber) const {return fPosX[chamber];};
83 const Double_t GetPosY(Int_t chamber) const {return fPosY[chamber];};
84 const Double_t GetPosZ(Int_t chamber) const {return fPosZ[chamber];};
85 const Double_t GetVertexPos() { return fZvr;};
86 const Double_t P() {return TMath::Sqrt(fPr[0]*fPr[0] + fPr[1]*fPr[1] + fPr[2]*fPr[2]);};
88 void SetChi2r(Double_t chi) { fChi2r = chi;};
89 void SetHitPosition(Int_t chamber, Double_t x, Double_t y, Double_t z);
90 void SetMomReconstr(Double_t px, Double_t py, Double_t pz);
91 void SetSign(Int_t sign) {fSign = sign;};
92 void SetVertexPos(Double_t zvr) {fZvr = zvr;};
93 const Double_t Theta();
95 ClassDef(AliMUONRecoTrack,1) // A reconstructed muon track