#101318: Patch for various problems in AliROOT
[u/mrichter/AliRoot.git] / TOF / AliTOFcluster.h
1 #ifndef ALITOFCLUSTER_H
2 #define ALITOFCLUSTER_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 //////////////////////////////////////////////
10 //                                          //
11 //     Class for TOF cluster definition     //
12 //                                          //
13 //////////////////////////////////////////////
14
15 #include "TMath.h"
16 #include "AliCluster3D.h"
17
18 class AliTOFcluster : public AliCluster3D {
19  public:
20   AliTOFcluster(); // default ctor
21   AliTOFcluster(UShort_t volId, 
22      Float_t x,   Float_t y,   Float_t z,
23      Float_t sx2, Float_t sxy, Float_t sxz,
24                   Float_t sy2, Float_t syz,
25                                Float_t sz2,
26                 Int_t *lab, Int_t * const ind, Int_t *par, 
27                 Bool_t status, Int_t idx); // ctor
28   AliTOFcluster(const AliTOFcluster & cluster); // copy ctor
29   AliTOFcluster& operator = (const AliTOFcluster& cls);
30   virtual ~AliTOFcluster(); // dtor
31
32   // Getters and Setters
33   Double_t GetR() const   {return fR;}   // Cluster Radius
34   Double_t GetPhi() const {return fPhi;} // Cluster Phi
35
36   Double_t GetQuality() const {return fQuality;} // Cluster quality getter
37   Bool_t   GetStatus()  const {return fStatus;}  // Cluster status getter
38   Int_t GetToT()    const {return fToT;}    // Cluster Charge getter
39   Int_t GetTDC()    const {return fTDC;}    // Cluster ToF getter
40   Int_t GetTDCND()  const {return fTdcND;}  // Cluster ToF getter
41   Int_t GetTDCRAW() const {return fTdcRAW;} // Cluster Raw time getter
42   Int_t GetADC()    const {return TMath::Abs(fADC);} // Cluster Charge getter
43   Int_t IsUsed()    const {return (fADC<0) ? 1 : 0;} // Flagging
44   Int_t GetDetInd(Int_t n) const {return fdetIndex[n];} // Cluster Detector Indices getter
45   Int_t GetIndex()  const {return fIdx;} // Digit Index getter
46   Int_t GetDeltaBC() const {return fDeltaBC;}; // deltaBC
47   Int_t GetL0L1Latency() const {return fL0L1Latency;}; // L0L1 latency
48
49   void  Use(Int_t = 0) {fADC=-fADC;}        //  setter
50   void  SetQuality(Double_t quality) {fQuality = quality;} // Cluster quality setter
51   void  SetStatus(Bool_t status) {fStatus = status;}       // Cluster status setter
52   void  SetToT(Int_t ToT) {fToT = ToT;}       // Cluster ToT setter
53   void  SetTDC(Int_t Tdc) {fTDC = Tdc;}       // Cluster ToF setter
54   void  SetTDCND(Int_t Tdc) {fTdcND = Tdc;}   // Cluster ToFnd setter
55   void  SetTDCRAW(Int_t Tdc) {fTdcRAW = Tdc;} // Cluster ToF-raw setter
56   void SetDeltaBC(Int_t value) {fDeltaBC = value;}; // deltaBC
57   void SetL0L1Latency(Int_t value) {fL0L1Latency = value;}; // L0-L1 latency
58
59  private:
60
61   Int_t fIdx;         // index of the digit related to this cluster
62   Int_t fdetIndex[5]; // Cluster detector indices
63                       // (sector, plate, strip, padz, padx)
64   // Cluster Quality
65   Double_t fQuality;  // quality of the best track 
66
67   // Cluster Global Position
68   Double_t fR;        // r-coordinate
69   Double_t fPhi;      // phi-coordinate
70
71   // TOF Signal parameters
72   Int_t  fTDC;        // TDC count
73   Int_t  fToT;        // ToT
74   Int_t  fADC;        // ADC count
75   Int_t  fTdcND;      // TDC count
76   Int_t  fTdcRAW;     // RAW TDC count
77   Bool_t fStatus;     // cluster online status 
78   Int_t fDeltaBC; // deltaBC
79   Int_t fL0L1Latency; // L0L1 latency
80
81   ClassDef(AliTOFcluster, 7) // TOF cluster
82 };
83
84 #endif