]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/ESD/AliStrLine.cxx
Merge branch 'master' into TPCdev
[u/mrichter/AliRoot.git] / STEER / ESD / AliStrLine.cxx
index 3e088149595b19df92a62e5335dd5c75ea2d2b58..e24a7c0428b7750a508ceebcc80fe2b0a0a879d9 100644 (file)
@@ -27,6 +27,8 @@
 
 #include "AliStrLine.h"
 
+using std::endl;
+using std::cout;
 ClassImp(AliStrLine)
 
 //________________________________________________________
@@ -118,10 +120,14 @@ AliStrLine::AliStrLine(const Double_t *const point, const Double_t *const sig2po
 }
 
 //________________________________________________________
-AliStrLine::AliStrLine(const AliStrLine &source):TObject(source),
-fWMatrix(0),
-fTpar(source.fTpar){
+AliStrLine::AliStrLine(const AliStrLine &source):
+  TObject(source),
+  fWMatrix(0),
+  fTpar(source.fTpar)
+{
+  //
   // copy constructor
+  //
   for(Int_t i=0;i<3;i++){
     fP0[i]=source.fP0[i];
     fSigma2P0[i]=source.fSigma2P0[i];
@@ -135,11 +141,24 @@ fTpar(source.fTpar){
 }
 
 //________________________________________________________
-AliStrLine& AliStrLine::operator=(const AliStrLine& source){
+AliStrLine& AliStrLine::operator=(const AliStrLine& source)
+{
   // Assignment operator
   if(this !=&source){
-    this->~AliStrLine();
-    new(this)AliStrLine(source);
+    TObject::operator=(source);
+    for(Int_t i=0;i<3;i++){
+      fP0[i]=source.fP0[i];
+      fSigma2P0[i]=source.fSigma2P0[i];
+      fCd[i]=source.fCd[i];
+    } 
+
+    delete [] fWMatrix;
+    fWMatrix=0;
+    if(source.fWMatrix){
+      fWMatrix = new Double_t [6];
+      for(Int_t i=0;i<6;i++)fWMatrix[i]=source.fWMatrix[i];
+    } 
+    for(Int_t i=0;i<2;i++) fIdPoint[i]=source.fIdPoint[i];
   }
   return *this;
 }