ROOT logo
//-------------------------------------------------------------------------
//     PWG2 specific additional information for the AOD Track
//     Stores a per-track information for the AOD track that is not 
//     included in the standard AliAODTrack
//     Author: Adam Kisiel, OSU, Adam.Kisiel@cern.ch
//-------------------------------------------------------------------------

#include <TBits.h>

#include <AliAODTrack.h>
#include "AliPWG2AODTrack.h"

ClassImp(AliPWG2AODTrack)

AliPWG2AODTrack::AliPWG2AODTrack():
  fSharedMap(160),
  fClusterMap(160),
  fAODTrack(NULL)
{
  // Default constructor
  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)
{
  // Constructor initializing all fields
  SetTPCNominalEntrancePoint(tpcentr);
  SetTPCNominalExitPoint(tpcexit);
}

AliPWG2AODTrack::~AliPWG2AODTrack()
{
}

AliPWG2AODTrack::AliPWG2AODTrack(const AliPWG2AODTrack& trk):
  TObject(),
  fSharedMap(trk.fSharedMap),
  fClusterMap(trk.fClusterMap),
  fAODTrack(trk.fAODTrack)
{
  // Copy constructor
  Double_t tpcp[3];
  trk.GetTPCNominalEntrancePoint(tpcp);
  SetTPCNominalEntrancePoint(tpcp);
  trk.GetTPCNominalExitPoint(tpcp);
  SetTPCNominalExitPoint(tpcp);
}

AliPWG2AODTrack& AliPWG2AODTrack::operator=(const AliPWG2AODTrack& trk)
{
  // Assignment operator
  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
{
  // Return TPC entrance point coordinates
  tpce[0] = fTPCNominalEntrancePoint[0];
  tpce[1] = fTPCNominalEntrancePoint[1];
  tpce[2] = fTPCNominalEntrancePoint[2]; 
}

void AliPWG2AODTrack::GetTPCNominalExitPoint(Double_t *tpce) const
{
  // Return TPC exit point coordinates
  tpce[0] = fTPCNominalExitPoint[0];
  tpce[1] = fTPCNominalExitPoint[1];
  tpce[2] = fTPCNominalExitPoint[2]; 
}

void AliPWG2AODTrack::SetTPCNominalEntrancePoint(Double_t *tpce)
{
  // Set TPC entrance point coordinates
  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)
{
  // Set TPC exit point coordinates
  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();
}

 AliPWG2AODTrack.cxx:1
 AliPWG2AODTrack.cxx:2
 AliPWG2AODTrack.cxx:3
 AliPWG2AODTrack.cxx:4
 AliPWG2AODTrack.cxx:5
 AliPWG2AODTrack.cxx:6
 AliPWG2AODTrack.cxx:7
 AliPWG2AODTrack.cxx:8
 AliPWG2AODTrack.cxx:9
 AliPWG2AODTrack.cxx:10
 AliPWG2AODTrack.cxx:11
 AliPWG2AODTrack.cxx:12
 AliPWG2AODTrack.cxx:13
 AliPWG2AODTrack.cxx:14
 AliPWG2AODTrack.cxx:15
 AliPWG2AODTrack.cxx:16
 AliPWG2AODTrack.cxx:17
 AliPWG2AODTrack.cxx:18
 AliPWG2AODTrack.cxx:19
 AliPWG2AODTrack.cxx:20
 AliPWG2AODTrack.cxx:21
 AliPWG2AODTrack.cxx:22
 AliPWG2AODTrack.cxx:23
 AliPWG2AODTrack.cxx:24
 AliPWG2AODTrack.cxx:25
 AliPWG2AODTrack.cxx:26
 AliPWG2AODTrack.cxx:27
 AliPWG2AODTrack.cxx:28
 AliPWG2AODTrack.cxx:29
 AliPWG2AODTrack.cxx:30
 AliPWG2AODTrack.cxx:31
 AliPWG2AODTrack.cxx:32
 AliPWG2AODTrack.cxx:33
 AliPWG2AODTrack.cxx:34
 AliPWG2AODTrack.cxx:35
 AliPWG2AODTrack.cxx:36
 AliPWG2AODTrack.cxx:37
 AliPWG2AODTrack.cxx:38
 AliPWG2AODTrack.cxx:39
 AliPWG2AODTrack.cxx:40
 AliPWG2AODTrack.cxx:41
 AliPWG2AODTrack.cxx:42
 AliPWG2AODTrack.cxx:43
 AliPWG2AODTrack.cxx:44
 AliPWG2AODTrack.cxx:45
 AliPWG2AODTrack.cxx:46
 AliPWG2AODTrack.cxx:47
 AliPWG2AODTrack.cxx:48
 AliPWG2AODTrack.cxx:49
 AliPWG2AODTrack.cxx:50
 AliPWG2AODTrack.cxx:51
 AliPWG2AODTrack.cxx:52
 AliPWG2AODTrack.cxx:53
 AliPWG2AODTrack.cxx:54
 AliPWG2AODTrack.cxx:55
 AliPWG2AODTrack.cxx:56
 AliPWG2AODTrack.cxx:57
 AliPWG2AODTrack.cxx:58
 AliPWG2AODTrack.cxx:59
 AliPWG2AODTrack.cxx:60
 AliPWG2AODTrack.cxx:61
 AliPWG2AODTrack.cxx:62
 AliPWG2AODTrack.cxx:63
 AliPWG2AODTrack.cxx:64
 AliPWG2AODTrack.cxx:65
 AliPWG2AODTrack.cxx:66
 AliPWG2AODTrack.cxx:67
 AliPWG2AODTrack.cxx:68
 AliPWG2AODTrack.cxx:69
 AliPWG2AODTrack.cxx:70
 AliPWG2AODTrack.cxx:71
 AliPWG2AODTrack.cxx:72
 AliPWG2AODTrack.cxx:73
 AliPWG2AODTrack.cxx:74
 AliPWG2AODTrack.cxx:75
 AliPWG2AODTrack.cxx:76
 AliPWG2AODTrack.cxx:77
 AliPWG2AODTrack.cxx:78
 AliPWG2AODTrack.cxx:79
 AliPWG2AODTrack.cxx:80
 AliPWG2AODTrack.cxx:81
 AliPWG2AODTrack.cxx:82
 AliPWG2AODTrack.cxx:83
 AliPWG2AODTrack.cxx:84
 AliPWG2AODTrack.cxx:85
 AliPWG2AODTrack.cxx:86
 AliPWG2AODTrack.cxx:87
 AliPWG2AODTrack.cxx:88
 AliPWG2AODTrack.cxx:89
 AliPWG2AODTrack.cxx:90
 AliPWG2AODTrack.cxx:91
 AliPWG2AODTrack.cxx:92
 AliPWG2AODTrack.cxx:93
 AliPWG2AODTrack.cxx:94
 AliPWG2AODTrack.cxx:95
 AliPWG2AODTrack.cxx:96
 AliPWG2AODTrack.cxx:97
 AliPWG2AODTrack.cxx:98
 AliPWG2AODTrack.cxx:99
 AliPWG2AODTrack.cxx:100
 AliPWG2AODTrack.cxx:101
 AliPWG2AODTrack.cxx:102
 AliPWG2AODTrack.cxx:103
 AliPWG2AODTrack.cxx:104
 AliPWG2AODTrack.cxx:105
 AliPWG2AODTrack.cxx:106
 AliPWG2AODTrack.cxx:107
 AliPWG2AODTrack.cxx:108
 AliPWG2AODTrack.cxx:109
 AliPWG2AODTrack.cxx:110
 AliPWG2AODTrack.cxx:111
 AliPWG2AODTrack.cxx:112
 AliPWG2AODTrack.cxx:113
 AliPWG2AODTrack.cxx:114
 AliPWG2AODTrack.cxx:115
 AliPWG2AODTrack.cxx:116
 AliPWG2AODTrack.cxx:117
 AliPWG2AODTrack.cxx:118
 AliPWG2AODTrack.cxx:119
 AliPWG2AODTrack.cxx:120
 AliPWG2AODTrack.cxx:121
 AliPWG2AODTrack.cxx:122
 AliPWG2AODTrack.cxx:123
 AliPWG2AODTrack.cxx:124
 AliPWG2AODTrack.cxx:125
 AliPWG2AODTrack.cxx:126
 AliPWG2AODTrack.cxx:127
 AliPWG2AODTrack.cxx:128
 AliPWG2AODTrack.cxx:129
 AliPWG2AODTrack.cxx:130
 AliPWG2AODTrack.cxx:131
 AliPWG2AODTrack.cxx:132
 AliPWG2AODTrack.cxx:133
 AliPWG2AODTrack.cxx:134
 AliPWG2AODTrack.cxx:135
 AliPWG2AODTrack.cxx:136
 AliPWG2AODTrack.cxx:137
 AliPWG2AODTrack.cxx:138
 AliPWG2AODTrack.cxx:139
 AliPWG2AODTrack.cxx:140
 AliPWG2AODTrack.cxx:141
 AliPWG2AODTrack.cxx:142
 AliPWG2AODTrack.cxx:143
 AliPWG2AODTrack.cxx:144
 AliPWG2AODTrack.cxx:145
 AliPWG2AODTrack.cxx:146
 AliPWG2AODTrack.cxx:147
 AliPWG2AODTrack.cxx:148
 AliPWG2AODTrack.cxx:149
 AliPWG2AODTrack.cxx:150