]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/AliTPCcluster.h
Put back the two bellows in front of the absorber.
[u/mrichter/AliRoot.git] / TPC / AliTPCcluster.h
1 #ifndef ALITPCCLUSTER_H
2 #define ALITPCCLUSTER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 //-------------------------------------------------------
9 //                    TPC Cluster Class
10 //
11 //   Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch 
12 //-------------------------------------------------------
13
14 #include <TObject.h>
15
16 //_____________________________________________________________________________
17 class AliTPCcluster : public TObject {
18 public:
19   AliTPCcluster();
20   AliTPCcluster(Float_t *hits, Int_t *lab);
21   void Use();
22   void SetLabel(Int_t lab, Int_t i);
23   void SetQ(Float_t q);
24   void SetY(Float_t y);
25   void SetZ(Float_t z);
26   void SetSigmaY2(Float_t sy2);
27   void SetSigmaZ2(Float_t sz2);
28
29   Int_t IsUsed() const;
30   Int_t GetLabel(Int_t i) const;
31   Float_t GetQ() const;
32   Float_t GetY() const;
33   Float_t GetZ() const;
34   Float_t GetSigmaY2() const;
35   Float_t GetSigmaZ2() const;
36
37 private:
38   Int_t     fTracks[3];//labels of overlapped tracks
39   Float_t   fQ ;       //Q of cluster (in ADC counts)
40   Float_t   fY ;       //Y of cluster
41   Float_t   fZ ;       //Z of cluster
42   Float_t   fSigmaY2;  //Sigma Y square of cluster
43   Float_t   fSigmaZ2;  //Sigma Z square of cluster
44   
45   ClassDef(AliTPCcluster,1)  // Time Projection Chamber clusters
46 };
47
48 inline void AliTPCcluster::Use() {
49   //if fQ<0 cluster is already associated with a track
50   fQ=-fQ;
51 }
52
53 inline Int_t AliTPCcluster::IsUsed() const {
54   //is this cluster already associated with any track ?
55   return (fQ<0) ? 1 : 0;
56 }
57
58 inline Int_t AliTPCcluster::GetLabel(Int_t i) const {
59   //return track label
60   return fTracks[i];
61 }
62
63 inline Float_t AliTPCcluster::GetQ() const {
64   //just to calm down our rule checker
65   return fQ;
66 }
67
68 inline Float_t AliTPCcluster::GetY() const {
69   //just to calm down our rule checker
70   return fY;
71 }
72
73 inline Float_t AliTPCcluster::GetZ() const {
74   //just to calm down our rule checker
75   return fZ;
76 }
77
78 inline Float_t AliTPCcluster::GetSigmaY2() const {
79   //just to calm down our rule checker
80   return fSigmaY2;
81 }
82
83 inline Float_t AliTPCcluster::GetSigmaZ2() const {
84   //just to calm down our rule checker
85   return fSigmaZ2;
86 }
87
88 inline void AliTPCcluster::SetLabel(Int_t lab, Int_t i) {
89   //just to calm down our rule checker
90   fTracks[i]=lab;
91 }
92
93 inline void AliTPCcluster::SetQ(Float_t q) {
94   //just to calm down our rule checker
95   fQ=q;
96 }
97
98 inline void AliTPCcluster::SetY(Float_t y) {
99   //just to calm down our rule checker
100   fY=y;
101 }
102
103 inline void AliTPCcluster::SetZ(Float_t z) {
104   //just to calm down our rule checker
105   fZ=z;
106 }
107
108 inline void AliTPCcluster::SetSigmaY2(Float_t sy2) {
109   //just to calm down our rule checker
110   fSigmaY2=sy2;
111 }
112
113 inline void AliTPCcluster::SetSigmaZ2(Float_t sz2) {
114   //just to calm down our rule checker
115   fSigmaZ2=sz2;
116 }
117
118 #endif
119
120