]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/global/AliFlatTPCCluster.h
f3ba516aa0f8600ed8ae4002cab6c905a9fd8c22
[u/mrichter/AliRoot.git] / HLT / global / AliFlatTPCCluster.h
1 #ifndef ALIFLATTPCCLUSTER_H
2 #define ALIFLATTPCCLUSTER_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               *
6  * Primary Authors : Sergey Gorbunov, Jochen Thaeder, Chiara Zampolli     */
7
8 /**
9  * >> Flat structure representing a TPC cluster <<
10  */
11
12 #include "Rtypes.h"
13 #include "AliVVcluster.h"
14 #include "AliFlatESDMisc.h"
15
16 class AliFlatTPCCluster: public AliVVcluster
17 {
18  friend class AliFlatESDTrack;
19   public:
20   void SetX(Float_t x)             {fX = x;}
21   void SetY(Float_t y)             {fY = y;}
22   void SetZ(Float_t z)             {fZ = z;}
23   void SetPadRow(Short_t padrow)   {fPadRow = padrow;}
24   void SetSigmaY2(Float_t sigmaY2) {fSigmaY2 = sigmaY2;}
25   void SetSigmaZ2(Float_t sigmaZ2) {fSigmaZ2 = sigmaZ2;}
26   void SetCharge(UShort_t charge)  {fCharge = charge;}
27   void SetQMax(UShort_t qmax)      {fQMax = qmax;}
28
29   Float_t  GetX()       const      {return fX;}
30   Float_t  GetY()       const      {return fY;}
31   Float_t  GetZ()       const      {return fZ;}
32   UShort_t GetPadRow()  const      {return fPadRow;}
33   Float_t  GetSigmaY2() const      {return fSigmaY2;}
34   Float_t  GetSigmaZ2() const      {return fSigmaZ2;}
35   UShort_t GetCharge()  const      {return fCharge;}
36   UShort_t GetQMax()    const      {return fQMax;}
37
38   AliFlatTPCCluster() 
39   : fX(0.), fY(0.), fZ(0.), fPadRow(0), fSigmaY2(0.), fSigmaZ2(0.), fCharge(0), fQMax(0) {}
40
41   static Bool_t SortClusters(const AliFlatTPCCluster &first, const AliFlatTPCCluster &second){
42     // Method to sort two clusters according to pad row
43     Int_t padrowfirst  = first.GetPadRow();  
44     Int_t padrowsecond = second.GetPadRow();
45     return (padrowfirst < padrowsecond);
46   }
47   
48   private:
49   AliFlatTPCCluster(AliFlatESDSpecialConstructorFlag);
50   virtual ~AliFlatTPCCluster() {}
51   Float_t fX;       // X coordinate in local coordinates
52   Float_t fY;       // Y coordinate in local coordinates
53   Float_t fZ;       // Z coordinate in local coordinates
54   UChar_t fPadRow;  // Pad row number
55   Float_t fSigmaY2; // error (former width) of the clusters
56   Float_t fSigmaZ2; // error (former width) of the clusters
57   UInt_t  fCharge;  // total charge of cluster
58   UInt_t  fQMax;    // QMax of cluster
59   
60   
61   
62 };
63
64 #endif