#include "AliAODTrdTracklet.h"
AliAODTrdTracklet::AliAODTrdTracklet() :
AliVTrdTracklet(),
fHCId(-1),
fTrackletWord(0),
fLabel(-1)
{
}
AliAODTrdTracklet::AliAODTrdTracklet(const AliVTrdTracklet &rhs) :
AliVTrdTracklet(rhs),
fHCId(rhs.GetHCId()),
fTrackletWord(rhs.GetTrackletWord()),
fLabel(rhs.GetLabel())
{
}
AliAODTrdTracklet::AliAODTrdTracklet(UInt_t trackletWord, Short_t hcid, Int_t label) :
AliVTrdTracklet(),
fHCId(hcid),
fTrackletWord(trackletWord),
fLabel(label)
{
}
AliAODTrdTracklet::AliAODTrdTracklet(const AliAODTrdTracklet& rhs) :
AliVTrdTracklet(rhs),
fHCId(rhs.fHCId),
fTrackletWord(rhs.fTrackletWord),
fLabel(rhs.fLabel)
{
}
AliAODTrdTracklet& AliAODTrdTracklet::operator=(const AliAODTrdTracklet& rhs)
{
if (&rhs != this) {
AliVTrdTracklet::operator=(rhs);
fHCId = rhs.fHCId;
fTrackletWord = rhs.fTrackletWord;
fLabel = rhs.fLabel;
}
return *this;
}
void AliAODTrdTracklet::Copy(TObject &rhs) const
{
AliVTrdTracklet::Copy(rhs);
}
Int_t AliAODTrdTracklet::GetBinY() const
{
if (fTrackletWord & 0x1000) {
return -((~(fTrackletWord-1)) & 0x1fff);
}
else {
return (fTrackletWord & 0x1fff);
}
}
Int_t AliAODTrdTracklet::GetBinDy() const
{
if (fTrackletWord & (1 << 19)) {
return -((~((fTrackletWord >> 13) - 1)) & 0x7f);
}
else {
return ((fTrackletWord >> 13) & 0x7f);
}
}