#include <TBits.h>
#include <AliAODTrack.h>
#include "AliPWG2AODTrack.h"
ClassImp(AliPWG2AODTrack)
AliPWG2AODTrack::AliPWG2AODTrack():
fSharedMap(160),
fClusterMap(160),
fAODTrack(NULL)
{
SetTPCNominalEntrancePoint();
SetTPCNominalExitPoint();
fSharedMap.ResetAllBits(kFALSE);
fClusterMap.ResetAllBits(kTRUE);
}
AliPWG2AODTrack::AliPWG2AODTrack(Double_t tpcentr[3],
Double_t tpcexit[3],
TBits tpcshare,
TBits tpcclus,
AliAODTrack *track):
fSharedMap(tpcshare),
fClusterMap(tpcclus),
fAODTrack(track)
{
SetTPCNominalEntrancePoint(tpcentr);
SetTPCNominalExitPoint(tpcexit);
}
AliPWG2AODTrack::~AliPWG2AODTrack()
{
}
AliPWG2AODTrack::AliPWG2AODTrack(const AliPWG2AODTrack& trk):
TObject(),
fSharedMap(trk.fSharedMap),
fClusterMap(trk.fClusterMap),
fAODTrack(trk.fAODTrack)
{
Double_t tpcp[3];
trk.GetTPCNominalEntrancePoint(tpcp);
SetTPCNominalEntrancePoint(tpcp);
trk.GetTPCNominalExitPoint(tpcp);
SetTPCNominalExitPoint(tpcp);
}
AliPWG2AODTrack& AliPWG2AODTrack::operator=(const AliPWG2AODTrack& trk)
{
if(this!=&trk) {
fSharedMap = trk.fSharedMap;
fClusterMap = trk.fClusterMap;
fAODTrack = trk.fAODTrack;
Double_t tpcp[3];
trk.GetTPCNominalEntrancePoint(tpcp);
SetTPCNominalEntrancePoint(tpcp);
trk.GetTPCNominalExitPoint(tpcp);
SetTPCNominalExitPoint(tpcp);
}
return *this;
}
void AliPWG2AODTrack::GetTPCNominalEntrancePoint(Double_t *tpce) const
{
tpce[0] = fTPCNominalEntrancePoint[0];
tpce[1] = fTPCNominalEntrancePoint[1];
tpce[2] = fTPCNominalEntrancePoint[2];
}
void AliPWG2AODTrack::GetTPCNominalExitPoint(Double_t *tpce) const
{
tpce[0] = fTPCNominalExitPoint[0];
tpce[1] = fTPCNominalExitPoint[1];
tpce[2] = fTPCNominalExitPoint[2];
}
void AliPWG2AODTrack::SetTPCNominalEntrancePoint(Double_t *tpce)
{
if (tpce) {
fTPCNominalEntrancePoint[0] = tpce[0];
fTPCNominalEntrancePoint[1] = tpce[1];
fTPCNominalEntrancePoint[2] = tpce[2];
}
else {
fTPCNominalEntrancePoint[0] = 0.0;
fTPCNominalEntrancePoint[1] = 0.0;
fTPCNominalEntrancePoint[2] = 0.0;
}
}
void AliPWG2AODTrack::SetTPCNominalExitPoint(Double_t *tpce)
{
if (tpce) {
fTPCNominalExitPoint[0] = tpce[0];
fTPCNominalExitPoint[1] = tpce[1];
fTPCNominalExitPoint[2] = tpce[2];
}
else {
fTPCNominalExitPoint[0] = 0.0;
fTPCNominalExitPoint[1] = 0.0;
fTPCNominalExitPoint[2] = 0.0;
}
}
const TBits &AliPWG2AODTrack::GetTPCSharedMap() const
{
return fSharedMap;
}
const TBits &AliPWG2AODTrack::GetTPCClusterMap() const
{
return fClusterMap;
}
void AliPWG2AODTrack::SetTPCSharedMap(const TBits &bits)
{
fSharedMap = bits;
}
void AliPWG2AODTrack::SetTPCClusterMap(const TBits &bits)
{
fClusterMap = bits;
}
void AliPWG2AODTrack::SetAODTrackRef(AliAODTrack *track)
{
fAODTrack = track;
}
AliAODTrack *AliPWG2AODTrack::GetRefAODTrack()
{
return (AliAODTrack *) fAODTrack.GetObject();
}