Coverity
authorcblume <cblume@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 1 Dec 2011 15:31:39 +0000 (15:31 +0000)
committercblume <cblume@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 1 Dec 2011 15:31:39 +0000 (15:31 +0000)
TRD/AliTRDSimParam.cxx
TRD/AliTRDpadPlane.cxx

index 3a6ae64..81b176b 100644 (file)
@@ -232,10 +232,52 @@ AliTRDSimParam &AliTRDSimParam::operator=(const AliTRDSimParam &p)
   // Assignment operator
   //
 
-  if (this != &p) {
-    ((AliTRDSimParam &) p).Copy(*this);
+  if (this == &p) {
+    return *this;
   }
 
+  fGasGain          = p.fGasGain;
+  fNoise            = p.fNoise;
+  fChipGain         = p.fChipGain;
+  fADCoutRange      = p.fADCoutRange;
+  fADCinRange       = p.fADCinRange;
+  fADCbaseline      = p.fADCbaseline;
+  fDiffusionOn      = p.fDiffusionOn;
+  fElAttachOn       = p.fElAttachOn;
+  fElAttachProp     = p.fElAttachProp;
+  fTRFOn            = p.fTRFOn;
+  fTRFsmp           = 0;
+  fTRFbin           = p.fTRFbin;
+  fTRFlo            = p.fTRFlo;
+  fTRFhi            = p.fTRFhi;
+  fTRFwid           = p.fTRFwid;
+  fCTOn             = p.fCTOn;
+  fCTsmp            = 0;
+  fPadCoupling      = p.fPadCoupling;
+  fTimeCoupling     = p.fTimeCoupling;
+  fTimeStructOn     = p.fTimeStructOn;
+  fPRFOn            = p.fPRFOn;
+  fNTimeBins        = p.fNTimeBins;
+  fNTBoverwriteOCDB = p.fNTBoverwriteOCDB;
+
+  Int_t iBin = 0;
+
+  if (fTRFsmp) {
+    delete[] fTRFsmp;
+  }
+  fTRFsmp = new Float_t[fTRFbin];
+  for (iBin = 0; iBin < fTRFbin; iBin++) {
+    fTRFsmp[iBin] = ((AliTRDSimParam &) p).fTRFsmp[iBin];
+  }                                                                             
+
+  if (fCTsmp) {
+    delete[] fCTsmp;
+  }
+  fCTsmp  = new Float_t[fTRFbin];
+  for (iBin = 0; iBin < fTRFbin; iBin++) {
+    fCTsmp[iBin]  = ((AliTRDSimParam &) p).fCTsmp[iBin];
+  }                                                                             
+
   return *this;
 
 }
index 1992735..636bac1 100644 (file)
@@ -189,11 +189,17 @@ AliTRDpadPlane &AliTRDpadPlane::operator=(const AliTRDpadPlane &p)
 
   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];