#ifndef ALITOFCLUSTER_H
#define ALITOFCLUSTER_H
#include "TMath.h"
#include "AliCluster3D.h"
class AliTOFcluster : public AliCluster3D {
public:
AliTOFcluster();
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);
AliTOFcluster(const AliTOFcluster & cluster);
AliTOFcluster& operator = (const AliTOFcluster& cls);
virtual ~AliTOFcluster();
Double_t GetR() const {return fR;}
Double_t GetPhi() const {return fPhi;}
Double_t GetQuality() const {return fQuality;}
Bool_t GetStatus() const {return fStatus;}
Int_t GetToT() const {return fToT;}
Int_t GetTDC() const {return fTDC;}
Int_t GetTDCND() const {return fTdcND;}
Int_t GetTDCRAW() const {return fTdcRAW;}
Int_t GetADC() const {return TMath::Abs(fADC);}
Int_t IsUsed() const {return (fADC<0) ? 1 : 0;}
Int_t GetDetInd(Int_t n) const {return fdetIndex[n];}
Int_t GetIndex() const {return fIdx;}
Int_t GetDeltaBC() const {return fDeltaBC;};
Int_t GetL0L1Latency() const {return fL0L1Latency;};
void Use(Int_t = 0) {fADC=-fADC;}
void SetQuality(Double_t quality) {fQuality = quality;}
void SetStatus(Bool_t status) {fStatus = status;}
void SetToT(Int_t ToT) {fToT = ToT;}
void SetTDC(Int_t Tdc) {fTDC = Tdc;}
void SetTDCND(Int_t Tdc) {fTdcND = Tdc;}
void SetTDCRAW(Int_t Tdc) {fTdcRAW = Tdc;}
void SetDeltaBC(Int_t value) {fDeltaBC = value;};
void SetL0L1Latency(Int_t value) {fL0L1Latency = value;};
void SetESDID(Int_t id) {fESDID = id;}
Int_t GetESDID() const {return fESDID;}
private:
Int_t fIdx;
Int_t fdetIndex[5];
Double_t fQuality;
Double_t fR;
Double_t fPhi;
Int_t fTDC;
Int_t fToT;
Int_t fADC;
Int_t fTdcND;
Int_t fTdcRAW;
Bool_t fStatus;
Int_t fDeltaBC;
Int_t fL0L1Latency;
Int_t fESDID;
ClassDef(AliTOFcluster, 8)
};
#endif