]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliESDMuonCluster.h
Adding the individual channel mult in order to be used in the event plane calculation.
[u/mrichter/AliRoot.git] / STEER / AliESDMuonCluster.h
CommitLineData
d5efea33 1#ifndef ALIESDMUONCLUSTER_H
2#define ALIESDMUONCLUSTER_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5* See cxx source for full Copyright notice */
6
7// $Id$
8
9/// \class AliESDMuonCluster
10/// \brief Class to describe the MUON clusters in the Event Summary Data
11// Author Philippe Pillot, Subatech
12
13
14#include <TObject.h>
15
c34d2b8c 16class AliESDMuonPad;
17class TClonesArray;
18
d5efea33 19class AliESDMuonCluster : public TObject {
20public:
21 AliESDMuonCluster(); // Constructor
c34d2b8c 22 virtual ~AliESDMuonCluster(); //< Destructor
d5efea33 23 AliESDMuonCluster(const AliESDMuonCluster& cluster);
24 AliESDMuonCluster& operator=(const AliESDMuonCluster& cluster);
25
c34d2b8c 26 virtual void Clear(Option_t* opt = "");
d5efea33 27
28 /// Set coordinates (cm)
29 void SetXYZ(Double_t x, Double_t y, Double_t z) {fXYZ[0] = x; fXYZ[1] = y; fXYZ[2] = z;}
30 /// Return X-position (cm)
31 Double_t GetX() const {return fXYZ[0];}
32 /// Return Y-position (cm)
33 Double_t GetY() const {return fXYZ[1];}
34 /// Return Z-position (cm)
35 Double_t GetZ() const {return fXYZ[2];}
36
37 /// Set (X,Y) resolution (cm)
38 void SetErrXY(Double_t errX, Double_t errY) {fErrXY[0] = errX; fErrXY[1] = errY;}
39 /// Return X-resolution (cm)
40 Double_t GetErrX() const {return fErrXY[0];}
41 /// Return X-resolution**2 (cm**2)
42 Double_t GetErrX2() const {return fErrXY[0]*fErrXY[0];}
43 /// Return Y-resolution (cm)
44 Double_t GetErrY() const {return fErrXY[1];}
45 /// Return Y-resolution**2 (cm**2)
46 Double_t GetErrY2() const {return fErrXY[1]*fErrXY[1];}
47
c34d2b8c 48 /// Set the total charge
49 void SetCharge(Double_t charge) {fCharge = charge;}
50 /// Return the total charge
51 Double_t GetCharge() const {return fCharge;}
52
53 /// Set the chi2 value
54 void SetChi2(Double_t chi2) {fChi2 = chi2;}
55 /// Return the chi2 value
56 Double_t GetChi2() const {return fChi2;}
57
d5efea33 58 /// Return chamber id (0..), part of the uniqueID
59 Int_t GetChamberId() const {return (GetUniqueID() & 0xF0000000) >> 28;}
60 /// Return detection element id, part of the uniqueID
61 Int_t GetDetElemId() const {return (GetUniqueID() & 0x0FFE0000) >> 17;}
c34d2b8c 62 /// Return the index of this cluster (0..), part of the uniqueID
d5efea33 63 Int_t GetClusterIndex() const {return (GetUniqueID() & 0x0001FFFF);}
64
c34d2b8c 65 // Methods to get, fill and check the array of associated pads
66 Int_t GetNPads() const;
67 TClonesArray& GetPads() const;
68 void AddPad(const AliESDMuonPad &pad);
69 Bool_t PadsStored() const;
70
2e2d0c44 71 /// Set the corresponding MC track number
72 void SetLabel(Int_t label) {fLabel = label;}
73 /// Return the corresponding MC track number
74 Int_t GetLabel() const {return fLabel;}
75
d5efea33 76 void Print(Option_t */*option*/ = "") const;
77
78
79protected:
80 Double32_t fXYZ[3]; ///< cluster position
81 Double32_t fErrXY[2]; ///< transverse position errors
c34d2b8c 82 Double32_t fCharge; ///< cluster charge
83 Double32_t fChi2; ///< cluster chi2
84
85 mutable TClonesArray* fPads; ///< Array of pads attached to the cluster
d5efea33 86
2e2d0c44 87 Int_t fLabel; ///< point to the corresponding MC track
88
d5efea33 89
2e2d0c44 90 ClassDef(AliESDMuonCluster, 3) // MUON ESD cluster class
d5efea33 91};
92
93#endif