]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDtrackGTU.cxx
- implement copy constructor and assignment operator for AliTRDtrackGTU
[u/mrichter/AliRoot.git] / TRD / AliTRDtrackGTU.cxx
index 90d32ad81207cbc98a6e0a08f11fd5b6566f3c1c..6ffebc2f59155493c5208994a26a4c6778ca4298 100644 (file)
@@ -62,6 +62,50 @@ AliTRDtrackGTU::AliTRDtrackGTU() :
 //  fTracklets->BypassStreamer(kFALSE);
 }
 
+AliTRDtrackGTU::AliTRDtrackGTU(const AliTRDtrackGTU &rhs) :
+  TObject(),
+  fStack(rhs.fStack),
+  fSector(rhs.fSector),
+  fPID(rhs.fPID),
+  fTracklets(0x0),
+  fTrackletMask(rhs.fTrackletMask),
+  fNTracklets(rhs.fNTracklets),
+  fRefLayerIdx(rhs.fRefLayerIdx),
+  fZChannel(rhs.fZChannel),
+  fZSubChannel(rhs.fZSubChannel),
+  fA(rhs.fA),
+  fB(rhs.fB),
+  fC(rhs.fC),
+  fLabel(rhs.fLabel)
+{
+  fTracklets = new TClonesArray("AliTRDtrackletGTU", 6);
+  for (Int_t iTracklet = 0; iTracklet < 6; iTracklet++)
+    new ((*fTracklets)[iTracklet]) AliTRDtrackletGTU(*((AliTRDtrackletGTU*)(*(rhs.fTracklets))[iTracklet]));
+}
+
+AliTRDtrackGTU& AliTRDtrackGTU::operator=(const AliTRDtrackGTU &rhs)
+{
+  if (&rhs != this) {
+    TObject::operator=(rhs);
+    fStack         = rhs.fStack;
+    fSector        = rhs.fSector;
+    fPID           = rhs.fPID;
+    fTrackletMask  = rhs.fTrackletMask;
+    fNTracklets    = rhs.fNTracklets;
+    fRefLayerIdx   = rhs.fRefLayerIdx;
+    fZChannel      = rhs.fZChannel;
+    fZSubChannel   = rhs.fZSubChannel;
+    fA             = rhs.fA;
+    fB             = rhs.fB;
+    fC             = rhs.fC;
+    fLabel         = rhs.fLabel;
+    for (Int_t iTracklet = 0; iTracklet < 6; iTracklet++)
+      new ((*fTracklets)[iTracklet]) AliTRDtrackletGTU(*((AliTRDtrackletGTU*)(*(rhs.fTracklets))[iTracklet])); 
+  }
+
+  return *this;
+}
+
 AliTRDtrackGTU::~AliTRDtrackGTU()
 {
 // dtor