]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/FEMTOSCOPYAOD/AliPWG2AODTrack.cxx
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPYAOD / AliPWG2AODTrack.cxx
CommitLineData
f9228736 1//-------------------------------------------------------------------------
2// PWG2 specific additional information for the AOD Track
3// Stores a per-track information for the AOD track that is not
4// included in the standard AliAODTrack
5// Author: Adam Kisiel, OSU, Adam.Kisiel@cern.ch
6//-------------------------------------------------------------------------
7
8#include <TBits.h>
9
10#include <AliAODTrack.h>
11#include "AliPWG2AODTrack.h"
12
13ClassImp(AliPWG2AODTrack)
14
15AliPWG2AODTrack::AliPWG2AODTrack():
16 fSharedMap(160),
17 fClusterMap(160),
18 fAODTrack(NULL)
19{
20 // Default constructor
21 SetTPCNominalEntrancePoint();
22 SetTPCNominalExitPoint();
23 fSharedMap.ResetAllBits(kFALSE);
24 fClusterMap.ResetAllBits(kTRUE);
25}
26
27AliPWG2AODTrack::AliPWG2AODTrack(Double_t tpcentr[3],
28 Double_t tpcexit[3],
29 TBits tpcshare,
30 TBits tpcclus,
31 AliAODTrack *track):
32 fSharedMap(tpcshare),
33 fClusterMap(tpcclus),
34 fAODTrack(track)
35{
36 // Constructor initializing all fields
37 SetTPCNominalEntrancePoint(tpcentr);
38 SetTPCNominalExitPoint(tpcexit);
39}
40
41AliPWG2AODTrack::~AliPWG2AODTrack()
42{
43}
44
45AliPWG2AODTrack::AliPWG2AODTrack(const AliPWG2AODTrack& trk):
46 TObject(),
47 fSharedMap(trk.fSharedMap),
48 fClusterMap(trk.fClusterMap),
49 fAODTrack(trk.fAODTrack)
50{
51 // Copy constructor
52 Double_t tpcp[3];
53 trk.GetTPCNominalEntrancePoint(tpcp);
54 SetTPCNominalEntrancePoint(tpcp);
55 trk.GetTPCNominalExitPoint(tpcp);
56 SetTPCNominalExitPoint(tpcp);
57}
58
59AliPWG2AODTrack& AliPWG2AODTrack::operator=(const AliPWG2AODTrack& trk)
60{
61 // Assignment operator
62 if(this!=&trk) {
63 fSharedMap = trk.fSharedMap;
64 fClusterMap = trk.fClusterMap;
65 fAODTrack = trk.fAODTrack;
66
67 Double_t tpcp[3];
68 trk.GetTPCNominalEntrancePoint(tpcp);
69 SetTPCNominalEntrancePoint(tpcp);
70 trk.GetTPCNominalExitPoint(tpcp);
71 SetTPCNominalExitPoint(tpcp);
72 }
73 return *this;
74}
75
76void AliPWG2AODTrack::GetTPCNominalEntrancePoint(Double_t *tpce) const
77{
78 // Return TPC entrance point coordinates
79 tpce[0] = fTPCNominalEntrancePoint[0];
80 tpce[1] = fTPCNominalEntrancePoint[1];
81 tpce[2] = fTPCNominalEntrancePoint[2];
82}
83
84void AliPWG2AODTrack::GetTPCNominalExitPoint(Double_t *tpce) const
85{
86 // Return TPC exit point coordinates
87 tpce[0] = fTPCNominalExitPoint[0];
88 tpce[1] = fTPCNominalExitPoint[1];
89 tpce[2] = fTPCNominalExitPoint[2];
90}
91
92void AliPWG2AODTrack::SetTPCNominalEntrancePoint(Double_t *tpce)
93{
94 // Set TPC entrance point coordinates
95 if (tpce) {
96 fTPCNominalEntrancePoint[0] = tpce[0];
97 fTPCNominalEntrancePoint[1] = tpce[1];
98 fTPCNominalEntrancePoint[2] = tpce[2];
99 }
100 else {
101 fTPCNominalEntrancePoint[0] = 0.0;
102 fTPCNominalEntrancePoint[1] = 0.0;
103 fTPCNominalEntrancePoint[2] = 0.0;
104 }
105}
106
107void AliPWG2AODTrack::SetTPCNominalExitPoint(Double_t *tpce)
108{
109 // Set TPC exit point coordinates
110 if (tpce) {
111 fTPCNominalExitPoint[0] = tpce[0];
112 fTPCNominalExitPoint[1] = tpce[1];
113 fTPCNominalExitPoint[2] = tpce[2];
114 }
115 else {
116 fTPCNominalExitPoint[0] = 0.0;
117 fTPCNominalExitPoint[1] = 0.0;
118 fTPCNominalExitPoint[2] = 0.0;
119 }
120}
121
122const TBits &AliPWG2AODTrack::GetTPCSharedMap() const
123{
124 return fSharedMap;
125}
126const TBits &AliPWG2AODTrack::GetTPCClusterMap() const
127{
128 return fClusterMap;
129}
130
131void AliPWG2AODTrack::SetTPCSharedMap(const TBits &bits)
132{
133 fSharedMap = bits;
134}
135
136void AliPWG2AODTrack::SetTPCClusterMap(const TBits &bits)
137{
138 fClusterMap = bits;
139}
140
141void AliPWG2AODTrack::SetAODTrackRef(AliAODTrack *track)
142{
143 fAODTrack = track;
144}
145
146AliAODTrack *AliPWG2AODTrack::GetRefAODTrack()
147{
148 return (AliAODTrack *) fAODTrack.GetObject();
149}
150