]>
Commit | Line | Data |
---|---|---|
7f2a4d8b | 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 | ||
13 | ClassImp(AliPWG2AODTrack) | |
14 | ||
15 | AliPWG2AODTrack::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 | ||
27 | AliPWG2AODTrack::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 | ||
41 | AliPWG2AODTrack::~AliPWG2AODTrack() | |
42 | { | |
43 | } | |
44 | ||
45 | AliPWG2AODTrack::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 | ||
59 | AliPWG2AODTrack& 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 | ||
76 | void 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 | ||
84 | void 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 | ||
92 | void 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 | ||
107 | void 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 | ||
122 | const TBits &AliPWG2AODTrack::GetTPCSharedMap() const | |
123 | { | |
124 | return fSharedMap; | |
125 | } | |
126 | const TBits &AliPWG2AODTrack::GetTPCClusterMap() const | |
127 | { | |
128 | return fClusterMap; | |
129 | } | |
130 | ||
131 | void AliPWG2AODTrack::SetTPCSharedMap(const TBits &bits) | |
132 | { | |
133 | fSharedMap = bits; | |
134 | } | |
135 | ||
136 | void AliPWG2AODTrack::SetTPCClusterMap(const TBits &bits) | |
137 | { | |
138 | fClusterMap = bits; | |
139 | } | |
140 | ||
141 | void AliPWG2AODTrack::SetAODTrackRef(AliAODTrack *track) | |
142 | { | |
143 | fAODTrack = track; | |
144 | } | |
145 | ||
146 | AliAODTrack *AliPWG2AODTrack::GetRefAODTrack() | |
147 | { | |
148 | return (AliAODTrack *) fAODTrack.GetObject(); | |
149 | } | |
150 |