]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/AOD/AliPWG2AODTrack.cxx
reactivating TRDEsdWriterComponent to write ESDEvents with Esdfriends (Theodor)
[u/mrichter/AliRoot.git] / PWG2 / AOD / AliPWG2AODTrack.cxx
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