1 #ifndef AliMFTCluster_H
2 #define AliMFTCluster_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 //====================================================================================================================================================
9 // Class for the description of the clusters of the ALICE Muon Forward Tracker
11 // Contact author: antonio.uras@cern.ch
13 //====================================================================================================================================================
15 #include "AliMUONRawCluster.h"
16 #include "AliMUONVCluster.h"
19 //====================================================================================================================================================
21 class AliMFTCluster : public TObject {
26 // AliMFTCluster(const AliMFTCluster& pt);
27 // AliMFTCluster& operator=(const AliMFTCluster &source);
29 virtual ~AliMFTCluster() {}; // destructor
31 void SetXYZ(Double_t x, Double_t y, Double_t z) { fX=x; fY=y; fZ=z; }
33 void SetX(Double_t x) { fX = x; }
34 void SetY(Double_t y) { fY = y; }
35 void SetZ(Double_t z) { fZ = z; }
37 Double_t GetX() const { return fX; }
38 Double_t GetY() const { return fY; }
39 Double_t GetZ() const { return fZ; }
41 void SetErrXYZ(Double_t errX, Double_t errY, Double_t errZ) { fErrX = errX; fErrY = errY; fErrZ = errZ; }
43 void SetErrX(Double_t errX) { fErrX = errX; }
44 void SetErrY(Double_t errY) { fErrY = errY; }
45 void SetErrZ(Double_t errZ) { fErrZ = errZ; }
47 Double_t GetErrX() const { return fErrX; }
48 Double_t GetErrY() const { return fErrY; }
49 Double_t GetErrZ() const { return fErrZ; }
50 Double_t GetErrX2() const { return fErrX*fErrX; }
51 Double_t GetErrY2() const { return fErrY*fErrY; }
52 Double_t GetErrZ2() const { return fErrZ*fErrZ; }
54 void SetNElectrons(Double_t nElectrons) { fNElectrons = nElectrons; }
55 Double_t GetNElectrons() const { return fNElectrons; }
57 void AddMCLabel(Int_t label) { if (fNMCTracks==fNMaxMCTracks) return; else fMCLabel[fNMCTracks++]=label; }
58 Int_t GetNMCTracks() const { return fNMCTracks; }
59 Int_t GetMCLabel(Int_t track) const { if (track<fNMCTracks && track>=0) return fMCLabel[track]; else return -1; }
61 void SetPlane(Int_t plane) { fPlane = plane; }
62 Int_t GetPlane() const { return fPlane; }
64 void SetSize(Int_t size) { fSize = size; }
65 Int_t GetSize() const { return fSize; }
67 void SetLocalChi2(Double_t chi2) { fLocalChi2 = chi2; }
68 void SetTrackChi2(Double_t chi2) { fTrackChi2 = chi2; }
70 Double_t GetLocalChi2() { return fLocalChi2; }
71 Double_t GetTrackChi2() { return fTrackChi2; }
73 AliMUONRawCluster* CreateMUONCluster();
77 static const Int_t fNMaxMCTracks = 30;
79 Double_t fX, fY, fZ; // cluster global coordinates
80 Double_t fErrX, fErrY, fErrZ;
85 Int_t fMCLabel[fNMaxMCTracks];
87 Int_t fSize; // the number of digits composing the cluster
89 Double_t fTrackChi2; // Chi2 of the track when the associated cluster was attached
90 Double_t fLocalChi2; // Local chi2 of the associated cluster with respect to the track
92 ClassDef(AliMFTCluster, 1)
96 //====================================================================================================================================================