#ifndef ALITRDCLUSTERINFO_H
#define ALITRDCLUSTERINFO_H
#ifndef Root_TObject
#include "TObject.h"
#endif
class AliTRDcluster;
class AliTRDclusterInfo : public TObject
{
public:
AliTRDclusterInfo();
Float_t GetAnisochronity() const {return fD;}
inline void GetCluster(Int_t &det, Float_t &x, Float_t &y, Float_t &z, Float_t &q, Int_t &t, Float_t *cov=0x0) const;
void GetMC(Int_t &pdg, Int_t &label) const {pdg = fPdg; label= fLbl; }
void GetGlobalPosition(Float_t &yt, Float_t &zt, Float_t &dydx, Float_t &dzdx, Float_t *cov=0x0) const {
dydx = fdydx; dzdx = fdzdx; yt = fYt; zt = fZt;
if(cov) memcpy(cov, fCov, 3*sizeof(Float_t));}
Int_t GetNpads() const {return fNpad;}
void GetCenterPad(Int_t &c, Int_t &r) const {c=fCol; r=fRow;}
Float_t GetResolution() const {return fdy;}
Float_t GetDriftLength() const {return fXd;}
Short_t* GetSignals() {return fSignal;}
Float_t GetYDisplacement() const {return fYd;}
Float_t GetTilt() const { return fTilt;}
void Print(Option_t *opt="") const;
void SetAnisochronity(Float_t d) {fD = d;}
void SetCluster(AliTRDcluster *c);
void SetMC(Int_t pdg, Int_t label){
fPdg = pdg;
fLbl = label;}
void SetGlobalPosition(Float_t yt, Float_t zt, Float_t dydx, Float_t dzdx, Float_t *cov=0x0) {
fdydx = dydx; fdzdx = dzdx; fYt = yt; fZt = zt;
if(cov) memcpy(fCov, cov, 3*sizeof(Float_t));}
void SetResolution(Float_t dy) {fdy = dy;}
void SetDriftLength(Float_t d) {fXd = d;}
void SetTilt(Float_t t) {fTilt = t;}
private:
UShort_t fDet;
UChar_t fCol;
UChar_t fRow;
UChar_t fNpad;
Short_t fPdg;
Short_t fLbl;
Short_t fLocalTime;
Float_t fQ;
Float_t fX;
Float_t fY;
Float_t fYd;
Float_t fZ;
Float_t fdydx;
Float_t fdzdx;
Float_t fXd;
Float_t fYt;
Float_t fZt;
Float_t fCov[3];
Float_t fCovCl[3];
Float_t fdy;
Float_t fD;
Float_t fTilt;
Short_t fSignal[7];
ClassDef(AliTRDclusterInfo, 3)
};
inline void AliTRDclusterInfo::GetCluster(Int_t &det, Float_t &x, Float_t &y, Float_t &z, Float_t &q, Int_t &t, Float_t *cov) const
{
det = fDet;
x = fX;
y = fY;
z = fZ;
q = fQ;
t = fLocalTime;
if(cov) memcpy(cov, fCovCl, 3*sizeof(Float_t));
}
#endif