]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
- implement copy constructor and assignment operator for AliTRDtrackGTU
authorjklein <jklein@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 26 Oct 2011 21:33:52 +0000 (21:33 +0000)
committerjklein <jklein@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 26 Oct 2011 21:33:52 +0000 (21:33 +0000)
TRD/AliTRDtrackGTU.cxx
TRD/AliTRDtrackGTU.h

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
index 3847646d31b6a00c441e96fd469781d372860a69..9d94203c07f78a0ae17223d8d69821f18933c3d6 100644 (file)
@@ -19,6 +19,8 @@ class AliESDTrdTrack;
 class AliTRDtrackGTU : public TObject {
  public:
   AliTRDtrackGTU();
+  AliTRDtrackGTU(const AliTRDtrackGTU &rhs);
+  AliTRDtrackGTU& operator=(const AliTRDtrackGTU &rhs);
   ~AliTRDtrackGTU();
 
 // ----- Track properties
@@ -84,10 +86,6 @@ class AliTRDtrackGTU : public TObject {
 
   Int_t fLabel; // MC label
 
- private:
-  AliTRDtrackGTU(const AliTRDtrackGTU &rhs); // not implemented
-  AliTRDtrackGTU& operator=(const AliTRDtrackGTU &rhs); // not implemented
-
   ClassDef(AliTRDtrackGTU, 1);
 };