]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDpadPlane.cxx
Fixing more coverity
[u/mrichter/AliRoot.git] / TRD / AliTRDpadPlane.cxx
index beba8be59d8601d900a4cf0949aed633f7d31564..636bac1f9bf522d6a786f40985dde632e5317ed3 100644 (file)
@@ -162,10 +162,49 @@ AliTRDpadPlane &AliTRDpadPlane::operator=(const AliTRDpadPlane &p)
   // Assignment operator
   //
 
-  if (this != &p) {
-    ((AliTRDpadPlane &) p).Copy(*this);
+  if (this == &p) {
+    return *this;
   }
 
+  fLayer           = p.fLayer;
+  fStack           = p.fStack;
+  fLength          = p.fLength;
+  fWidth           = p.fWidth;
+  fLengthRim       = p.fLengthRim;
+  fWidthRim        = p.fLengthRim;
+  fLengthOPad      = p.fLengthOPad;
+  fWidthOPad       = p.fWidthOPad;
+  fLengthIPad      = p.fLengthIPad;
+  fWidthIPad       = p.fWidthIPad;
+  fRowSpacing      = p.fRowSpacing;
+  fColSpacing      = p.fColSpacing;
+  fNrows           = p.fNrows;
+  fNcols           = p.fNcols;
+  fTiltingAngle    = p.fTiltingAngle;
+  fTiltingTan      = p.fTiltingTan;
+  fPadRow          = 0;
+  fPadCol          = 0;
+  fPadRowSMOffset  = p.fPadRowSMOffset;
+  fAnodeWireOffset = p.fAnodeWireOffset;
+
+  Int_t iBin = 0;
+
+  if (fPadRow) {
+    delete [] fPadRow;
+  }
+  fPadRow = new Double_t[fNrows];
+  for (iBin = 0; iBin < fNrows; iBin++) {
+    fPadRow[iBin] = ((AliTRDpadPlane &) p).fPadRow[iBin];
+  }                                                                             
+
+  if (fPadCol) {
+    delete [] fPadCol;
+  }
+  fPadCol = new Double_t[fNrows];
+  for (iBin = 0; iBin < fNrows; iBin++) {
+    fPadCol[iBin] = ((AliTRDpadPlane &) p).fPadCol[iBin];
+  }                                                                             
+
   return *this;
 
 }