]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
- implement assignment from AliESDTrdTrack
authorjklein <jklein@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 14 May 2013 10:52:05 +0000 (10:52 +0000)
committerjklein <jklein@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 14 May 2013 10:52:05 +0000 (10:52 +0000)
TRD/AliTRDtrackGTU.cxx
TRD/AliTRDtrackGTU.h

index b475da402b44089abfbbae56966bcc950393291a..3384c5364a7962fb418abae70cd1bebbf9e1860a 100644 (file)
@@ -107,6 +107,36 @@ AliTRDtrackGTU& AliTRDtrackGTU::operator=(const AliTRDtrackGTU &rhs)
   return *this;
 }
 
+AliTRDtrackGTU& AliTRDtrackGTU::operator=(const AliESDTrdTrack &rhs)
+{
+  if ((void*) &rhs != (void*) this) {
+    TObject::operator=(rhs);
+    fStack         = rhs.GetStack();
+    fSector        = rhs.GetSector();
+    fPID           = rhs.GetPID();
+    fTrackletMask  = rhs.GetLayerMask();
+    fNTracklets    = 0;
+    fRefLayerIdx   = -1;
+    fZChannel      = -1;
+    fZSubChannel   = -1;
+    fA             = rhs.GetA();
+    fB             = rhs.GetB();
+    fC             = rhs.GetC();
+    fLabel         = rhs.GetLabel();
+    for (Int_t iTracklet = 0; iTracklet < 6; iTracklet++) {
+      AliTRDtrackletGTU *trkl = new ((*fTracklets)[iTracklet]) AliTRDtrackletGTU();
+      if (fTrackletMask & (1 << iTracklet)) {
+       ++fNTracklets;
+       trkl->SetIndex(rhs.GetTrackletIndex(iTracklet));
+      }
+      else
+       trkl->SetIndex(-1);
+    }
+  }
+
+  return *this;
+}
+
 AliTRDtrackGTU::~AliTRDtrackGTU()
 {
 // dtor
index 9d94203c07f78a0ae17223d8d69821f18933c3d6..df1ddb1e2f5b2ae313867278782ca86948608e5c 100644 (file)
@@ -21,6 +21,7 @@ class AliTRDtrackGTU : public TObject {
   AliTRDtrackGTU();
   AliTRDtrackGTU(const AliTRDtrackGTU &rhs);
   AliTRDtrackGTU& operator=(const AliTRDtrackGTU &rhs);
+  AliTRDtrackGTU& operator=(const AliESDTrdTrack &rhs);
   ~AliTRDtrackGTU();
 
 // ----- Track properties