software update to include time corrections during reconstruction.
[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   virtual ~AliTOFcluster(); // dtor
30
31   // Getters and Setters
32   Double_t GetR() const   {return fR;}   // Cluster Radius
33   Double_t GetPhi() const {return fPhi;} // Cluster Phi
34
35   Double_t GetQuality() const {return fQuality;} // Cluster quality getter
36   Bool_t   GetStatus()  const {return fStatus;}  // Cluster status getter
37   Int_t GetToT()    const {return fToT;}    // Cluster Charge getter
38   Int_t GetTDC()    const {return fTDC;}    // Cluster ToF getter
39   Int_t GetTDCND()  const {return fTdcND;}  // Cluster ToF getter
40   Int_t GetTDCRAW() const {return fTdcRAW;} // Cluster Raw time getter
41   Int_t GetADC()    const {return TMath::Abs(fADC);} // Cluster Charge getter
42   Int_t IsUsed()    const {return (fADC<0) ? 1 : 0;} // Flagging
43   Int_t GetDetInd(Int_t n) const {return fdetIndex[n];} // Cluster Detector Indices getter
44   Int_t GetIndex()  const {return fIdx;} // Digit Index getter
45   Int_t GetDeltaBC() const {return fDeltaBC;}; // deltaBC
46   Int_t GetL0L1Latency() const {return fL0L1Latency;}; // L0L1 latency
47
48   void  Use(Int_t = 0) {fADC=-fADC;}        //  setter
49   void  SetQuality(Double_t quality) {fQuality = quality;} // Cluster quality setter
50   void  SetStatus(Bool_t status) {fStatus = status;}       // Cluster status setter
51   void  SetToT(Int_t ToT) {fToT = ToT;}       // Cluster ToT setter
52   void  SetTDC(Int_t Tdc) {fTDC = Tdc;}       // Cluster ToF setter
53   void  SetTDCND(Int_t Tdc) {fTdcND = Tdc;}   // Cluster ToFnd setter
54   void  SetTDCRAW(Int_t Tdc) {fTdcRAW = Tdc;} // Cluster ToF-raw setter
55   void SetDeltaBC(Int_t value) {fDeltaBC = value;}; // deltaBC
56   void SetL0L1Latency(Int_t value) {fL0L1Latency = value;}; // L0-L1 latency
57
58  private:
59
60   Int_t fIdx;         // index of the digit related to this cluster
61   Int_t fdetIndex[5]; // Cluster detector indices
62                       // (sector, plate, strip, padz, padx)
63   // Cluster Quality
64   Double_t fQuality;  // quality of the best track 
65
66   // Cluster Global Position
67   Double_t fR;        // r-coordinate
68   Double_t fPhi;      // phi-coordinate
69
70   // TOF Signal parameters
71   Int_t  fTDC;        // TDC count
72   Int_t  fToT;        // ToT
73   Int_t  fADC;        // ADC count
74   Int_t  fTdcND;      // TDC count
75   Int_t  fTdcRAW;     // RAW TDC count
76   Bool_t fStatus;     // cluster online status 
77   Int_t fDeltaBC; // deltaBC
78   Int_t fL0L1Latency; // L0L1 latency
79
80   ClassDef(AliTOFcluster, 7) // TOF cluster
81 };
82
83 #endif