ROOT logo
#ifndef ALITOFCLUSTER_H
#define ALITOFCLUSTER_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

//////////////////////////////////////////////
//                                          //
//     Class for TOF cluster definition     //
//                                          //
//////////////////////////////////////////////

#include "TMath.h"
#include "AliCluster3D.h"

class AliTOFcluster : public AliCluster3D {
 public:
  AliTOFcluster(); // default ctor
  AliTOFcluster(UShort_t volId, 
     Float_t x,   Float_t y,   Float_t z,
     Float_t sx2, Float_t sxy, Float_t sxz,
                  Float_t sy2, Float_t syz,
                               Float_t sz2,
		Int_t *lab, Int_t * const ind, Int_t *par, 
		Bool_t status, Int_t idx); // ctor
  AliTOFcluster(const AliTOFcluster & cluster); // copy ctor
  AliTOFcluster& operator = (const AliTOFcluster& cls);
  virtual ~AliTOFcluster(); // dtor

  // Getters and Setters
  Double_t GetR() const   {return fR;}   // Cluster Radius
  Double_t GetPhi() const {return fPhi;} // Cluster Phi

  Double_t GetQuality() const {return fQuality;} // Cluster quality getter
  Bool_t   GetStatus()  const {return fStatus;}  // Cluster status getter
  Int_t GetToT()    const {return fToT;}    // Cluster Charge getter
  Int_t GetTDC()    const {return fTDC;}    // Cluster ToF getter
  Int_t GetTDCND()  const {return fTdcND;}  // Cluster ToF getter
  Int_t GetTDCRAW() const {return fTdcRAW;} // Cluster Raw time getter
  Int_t GetADC()    const {return TMath::Abs(fADC);} // Cluster Charge getter
  Int_t IsUsed()    const {return (fADC<0) ? 1 : 0;} // Flagging
  Int_t GetDetInd(Int_t n) const {return fdetIndex[n];} // Cluster Detector Indices getter
  Int_t GetIndex()  const {return fIdx;} // Digit Index getter
  Int_t GetDeltaBC() const {return fDeltaBC;}; // deltaBC
  Int_t GetL0L1Latency() const {return fL0L1Latency;}; // L0L1 latency

  void  Use(Int_t = 0) {fADC=-fADC;}        //  setter
  void  SetQuality(Double_t quality) {fQuality = quality;} // Cluster quality setter
  void  SetStatus(Bool_t status) {fStatus = status;}       // Cluster status setter
  void  SetToT(Int_t ToT) {fToT = ToT;}       // Cluster ToT setter
  void  SetTDC(Int_t Tdc) {fTDC = Tdc;}       // Cluster ToF setter
  void  SetTDCND(Int_t Tdc) {fTdcND = Tdc;}   // Cluster ToFnd setter
  void  SetTDCRAW(Int_t Tdc) {fTdcRAW = Tdc;} // Cluster ToF-raw setter
  void SetDeltaBC(Int_t value) {fDeltaBC = value;}; // deltaBC
  void SetL0L1Latency(Int_t value) {fL0L1Latency = value;}; // L0-L1 latency
  //
  void  SetESDID(Int_t id) {fESDID = id;}
  Int_t GetESDID()  const  {return fESDID;}  
  //
 private:

  Int_t fIdx;         // index of the digit related to this cluster
  Int_t fdetIndex[5]; // Cluster detector indices
                      // (sector, plate, strip, padz, padx)
  // Cluster Quality
  Double_t fQuality;  // quality of the best track 

  // Cluster Global Position
  Double_t fR;        // r-coordinate
  Double_t fPhi;      // phi-coordinate

  // TOF Signal parameters
  Int_t  fTDC;        // TDC count
  Int_t  fToT;        // ToT
  Int_t  fADC;        // ADC count
  Int_t  fTdcND;      // TDC count
  Int_t  fTdcRAW;     // RAW TDC count
  Bool_t fStatus;     // cluster online status 
  Int_t fDeltaBC; // deltaBC
  Int_t fL0L1Latency; // L0L1 latency
  //
  Int_t fESDID;      //! id in ESD clusters list (if stored)

  ClassDef(AliTOFcluster, 8) // TOF cluster
};

#endif
 AliTOFcluster.h:1
 AliTOFcluster.h:2
 AliTOFcluster.h:3
 AliTOFcluster.h:4
 AliTOFcluster.h:5
 AliTOFcluster.h:6
 AliTOFcluster.h:7
 AliTOFcluster.h:8
 AliTOFcluster.h:9
 AliTOFcluster.h:10
 AliTOFcluster.h:11
 AliTOFcluster.h:12
 AliTOFcluster.h:13
 AliTOFcluster.h:14
 AliTOFcluster.h:15
 AliTOFcluster.h:16
 AliTOFcluster.h:17
 AliTOFcluster.h:18
 AliTOFcluster.h:19
 AliTOFcluster.h:20
 AliTOFcluster.h:21
 AliTOFcluster.h:22
 AliTOFcluster.h:23
 AliTOFcluster.h:24
 AliTOFcluster.h:25
 AliTOFcluster.h:26
 AliTOFcluster.h:27
 AliTOFcluster.h:28
 AliTOFcluster.h:29
 AliTOFcluster.h:30
 AliTOFcluster.h:31
 AliTOFcluster.h:32
 AliTOFcluster.h:33
 AliTOFcluster.h:34
 AliTOFcluster.h:35
 AliTOFcluster.h:36
 AliTOFcluster.h:37
 AliTOFcluster.h:38
 AliTOFcluster.h:39
 AliTOFcluster.h:40
 AliTOFcluster.h:41
 AliTOFcluster.h:42
 AliTOFcluster.h:43
 AliTOFcluster.h:44
 AliTOFcluster.h:45
 AliTOFcluster.h:46
 AliTOFcluster.h:47
 AliTOFcluster.h:48
 AliTOFcluster.h:49
 AliTOFcluster.h:50
 AliTOFcluster.h:51
 AliTOFcluster.h:52
 AliTOFcluster.h:53
 AliTOFcluster.h:54
 AliTOFcluster.h:55
 AliTOFcluster.h:56
 AliTOFcluster.h:57
 AliTOFcluster.h:58
 AliTOFcluster.h:59
 AliTOFcluster.h:60
 AliTOFcluster.h:61
 AliTOFcluster.h:62
 AliTOFcluster.h:63
 AliTOFcluster.h:64
 AliTOFcluster.h:65
 AliTOFcluster.h:66
 AliTOFcluster.h:67
 AliTOFcluster.h:68
 AliTOFcluster.h:69
 AliTOFcluster.h:70
 AliTOFcluster.h:71
 AliTOFcluster.h:72
 AliTOFcluster.h:73
 AliTOFcluster.h:74
 AliTOFcluster.h:75
 AliTOFcluster.h:76
 AliTOFcluster.h:77
 AliTOFcluster.h:78
 AliTOFcluster.h:79
 AliTOFcluster.h:80
 AliTOFcluster.h:81
 AliTOFcluster.h:82
 AliTOFcluster.h:83
 AliTOFcluster.h:84
 AliTOFcluster.h:85
 AliTOFcluster.h:86
 AliTOFcluster.h:87
 AliTOFcluster.h:88
 AliTOFcluster.h:89