Fixing Coverity 18333
authorfca <fca@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 16 Jan 2012 09:19:28 +0000 (09:19 +0000)
committerfca <fca@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 16 Jan 2012 09:19:28 +0000 (09:19 +0000)
STEER/STEER/AliRecPoint.cxx
STEER/STEER/AliRecPoint.h

index d22cab7..1e65d79 100644 (file)
@@ -99,6 +99,35 @@ AliRecPoint::AliRecPoint(const AliRecPoint& recp):
 }
 
 //_______________________________________________________________________
+AliRecPoint& AliRecPoint::operator=(const AliRecPoint& recp)
+{
+  //
+  // Assignement constructor
+  //
+  if(this!=&recp) {
+    TObject::operator=(recp);
+    fAmp=recp.fAmp;
+    fGeom=recp.fGeom;
+    fIndexInList=-1; // to be set when the point is already stored
+    fLocPos=recp.fLocPos;
+    delete fLocPosM;
+    fLocPosM=recp.fLocPosM;
+    fMaxDigit=recp.fMaxDigit;
+    fMulDigit=recp.fMulDigit;
+    fMaxTrack=recp.fMaxTrack;
+    fMulTrack=recp.fMulTrack;
+    delete [] fDigitsList;
+    fDigitsList=new Int_t[fMulDigit];
+    delete [] fTracksList;
+    fTracksList=new Int_t[fMulTrack];
+
+    memcpy(fDigitsList,recp.fDigitsList,sizeof(Int_t)*fMulDigit);
+    memcpy(fTracksList,recp.fTracksList,sizeof(Int_t)*fMulTrack);
+  }
+  return *this;
+}
+
+//_______________________________________________________________________
 AliRecPoint::~AliRecPoint()
 {
   // dtor
index 0687455..6a01eeb 100644 (file)
@@ -50,8 +50,7 @@ public:
   virtual Int_t GetMaximumDigitMultiplicity() const { return  fMaxDigit; } 
   virtual Int_t GetMaximumTrackMultiplicity() const { return  fMaxTrack; } 
   virtual Int_t GetTracksMultiplicity(void) const { return fMulTrack ; }
-  AliRecPoint & operator= (const AliRecPoint &recp)
-    {recp.Copy(*this); return (*this);}
+  AliRecPoint & operator= (const AliRecPoint &recp);
 
   void          SetIndexInList(Int_t val) { fIndexInList = val ; }