#ifndef ALIAODHMPIDRINGS_H
#define ALIAODHMPIDRINGS_H
#include <TMath.h>
#include "AliPID.h"
class AliAODHMPIDrings : public TObject {
public:
AliAODHMPIDrings();
AliAODHMPIDrings(
Int_t trkId,
Int_t qn,
Int_t cluIdx,
Double_t trkTheta,
Double_t trkPhi,
Double_t signal,
Double_t occ,
Double_t chi2,
Double_t trkX,
Double_t trkY,
Double_t mipX,
Double_t mipY,
Double_t *pid,
Double_t *p );
AliAODHMPIDrings(const AliAODHMPIDrings& hmpidAOD);
AliAODHMPIDrings &operator=(const AliAODHMPIDrings& hmpidAOD);
virtual ~AliAODHMPIDrings() {};
Int_t GetHmpTrkID() const { return fHmpidAODtrkId; }
Double32_t GetHmpMipCharge() const { return fHmpidAODqn%1000000; }
Double32_t GetHmpNumOfPhotonClusters() const { return fHmpidAODqn/1000000;}
Int_t GetHmpChamber() const { return fHmpidAODcluIdx/1000000; }
Int_t GetHmpCluIdx() const { return fHmpidAODcluIdx; }
Double_t GetHmpTrackTheta() const { return fHmpidAODtrkTheta;}
Double_t GetHmpTrackPhi() const { return fHmpidAODtrkPhi;}
Double_t GetHmpSignal() const { return fHmpidAODsignal;}
Double_t GetHmpOccupancy() const { return fHmpidAODocc;}
Double_t GetHmpChi2() const { return fHmpidAODchi2;}
Double_t GetHmpTrackX() const { return fHmpidAODtrkX;}
Double_t GetHmpTrackY() const { return fHmpidAODtrkY;}
Double_t GetHmpMipX() const { return fHmpidAODmipX;}
Double_t GetHmpMipY() const { return fHmpidAODmipY;}
Double_t GetHmpDX() const { return fHmpidAODmipX - fHmpidAODtrkX;}
Double_t GetHmpDY() const { return fHmpidAODmipY - fHmpidAODtrkY;}
Double_t GetHmpDist() const { return TMath::Sqrt((fHmpidAODmipX - fHmpidAODtrkX)*(fHmpidAODmipX - fHmpidAODtrkX) + (fHmpidAODmipY - fHmpidAODtrkY)*(fHmpidAODmipY - fHmpidAODtrkY));}
void GetHmpPidProbs(Double32_t *pid) const;
void GetHmpMom(Double32_t *mom) const;
void SetHmpMipCharge(Int_t q) { fHmpidAODqn = q; }
void SetHmpCluIdx(Int_t ch,Int_t idx) { fHmpidAODcluIdx=ch*1000000+idx;}
void SetHmpNumOfPhotonClusters(Int_t nph) { fHmpidAODqn = 1000000 * nph;}
void SetHmpTrackTheta(Double_t trkTheta) { fHmpidAODtrkTheta = trkTheta;}
void SetHmpTrackPhi(Double_t trkPhi) { fHmpidAODtrkPhi = trkPhi;}
void SetHmpSignal(Double_t thetaC) { fHmpidAODsignal = thetaC;}
void SetHmpOccupancy(Double_t occ) { fHmpidAODocc = occ;}
void SetHmpChi2(Double_t chi2) { fHmpidAODchi2 = chi2;}
void SetHmpTrackX(Double_t trkX) { fHmpidAODtrkX = trkX;}
void SetHmpTrackY(Double_t trkY) { fHmpidAODtrkY = trkY;}
void SetHmpMipX(Double_t mipX) { fHmpidAODmipX = mipX;}
void SetHmpMipY(Double_t mipY) { fHmpidAODmipY = mipY;}
void SetHmpPidProbs(Double_t *pid);
void SetHmpMom(Double_t *mom);
protected:
Int_t fHmpidAODtrkId;
Int_t fHmpidAODqn;
Int_t fHmpidAODcluIdx;
Double32_t fHmpidAODtrkTheta;
Double32_t fHmpidAODtrkPhi;
Double32_t fHmpidAODsignal;
Double32_t fHmpidAODocc;
Double32_t fHmpidAODchi2;
Double32_t fHmpidAODtrkX;
Double32_t fHmpidAODtrkY;
Double32_t fHmpidAODmipX;
Double32_t fHmpidAODmipY;
Double32_t fHmpidAODpid[AliPID::kSPECIES];
Double32_t fHMPIDmom[3];
ClassDef(AliAODHMPIDrings,2)
};
#endif