From e97d9da79e02e644f22034502143371472b007b0 Mon Sep 17 00:00:00 2001
From: Susumu Oda <susumu.oda@cern.ch>
Date: Wed, 17 Jun 2020 06:29:14 +0200
Subject: [PATCH] Remove delete from PixelSpacePoint by using std::unique_ptr
 and removing unused constructors

---
 .../SiSpacePoint/PixelSpacePoint.h            | 10 ----
 .../SiSpacePoint/src/PixelSpacePoint.cxx      | 51 ++-----------------
 2 files changed, 3 insertions(+), 58 deletions(-)

diff --git a/InnerDetector/InDetRecEvent/SiSpacePoint/SiSpacePoint/PixelSpacePoint.h b/InnerDetector/InDetRecEvent/SiSpacePoint/SiSpacePoint/PixelSpacePoint.h
index bc44ec7611c8..733c0a9ddf20 100755
--- a/InnerDetector/InDetRecEvent/SiSpacePoint/SiSpacePoint/PixelSpacePoint.h
+++ b/InnerDetector/InDetRecEvent/SiSpacePoint/SiSpacePoint/PixelSpacePoint.h
@@ -46,16 +46,6 @@ namespace InDet
     PixelSpacePoint( IdentifierHash elementId, 
                      const Trk::PrepRawData* clus);
     
-    /** Parametrised constructor with Covariance Matrix pointer so for L2 at the moment */
-    PixelSpacePoint( IdentifierHash elementId,  
-                     const Trk::PrepRawData* clus, 
-                     const Amg::MatrixX* globcov);
-    
-    /** Parametrised constructor with Covariance Matrix reference so for L2 at the moment */
-    PixelSpacePoint( IdentifierHash elementId,  
-                     const Trk::PrepRawData* clus, 
-                     const Amg::MatrixX& globcov);
-    
     /** add Covariance Matrix and global position directly */
     PixelSpacePoint( IdentifierHash elementId,
                      const Trk::PrepRawData* clus,
diff --git a/InnerDetector/InDetRecEvent/SiSpacePoint/src/PixelSpacePoint.cxx b/InnerDetector/InDetRecEvent/SiSpacePoint/src/PixelSpacePoint.cxx
index 17e86a1bdcca..8b03b009acad 100755
--- a/InnerDetector/InDetRecEvent/SiSpacePoint/src/PixelSpacePoint.cxx
+++ b/InnerDetector/InDetRecEvent/SiSpacePoint/src/PixelSpacePoint.cxx
@@ -9,6 +9,7 @@
 #include "EventPrimitives/EventPrimitivesToStringConverter.h"
 #include "GeoPrimitives/GeoPrimitivesToStringConverter.h"
 
+#include <memory>
 
 namespace InDet
 {
@@ -31,10 +32,9 @@ namespace InDet
     Trk::MeasurementBase::m_localParams = Trk::LocalParameters(clus->localPosition());
     Trk::MeasurementBase::m_localCovariance = clus->localCovariance();
 
-    const  Amg::Vector3D* tmpPos = clus->detectorElement()->surface().localToGlobal(clus->localPosition()) ;
-    assert (tmpPos!=nullptr) ;
+    std::unique_ptr<const Amg::Vector3D> tmpPos{clus->detectorElement()->surface().localToGlobal(clus->localPosition())};
+    assert (tmpPos) ;
     m_position = *tmpPos;
-    delete tmpPos;
 
     m_clusList = new std::pair<const Trk::PrepRawData*, const Trk::PrepRawData*>(clus,nullptr);
     m_elemIdList.first = elementId ;
@@ -44,51 +44,6 @@ namespace InDet
   
   //------------ -------------------------------------------------
   
-  /** Constructor with globCovariance */
-  PixelSpacePoint::PixelSpacePoint( IdentifierHash elementId, 
-                                    const Trk::PrepRawData* clus, 
-                                    const Amg::MatrixX* globcov ) 
-    :
-    SpacePoint()
-  {
-    assert (clus!=nullptr);
-    m_globalCovariance = *globcov;
-    Trk::MeasurementBase::m_localParams = Trk::LocalParameters(clus->localPosition());
-    Trk::MeasurementBase::m_localCovariance = clus->localCovariance();
-    delete globcov;
-
-    const Amg::Vector3D* tmpPos = clus->detectorElement()->surface().localToGlobal(clus->localPosition()) ;
-    assert (tmpPos!=nullptr) ;
-    m_position = *tmpPos;
-    delete tmpPos ;
-
-    m_clusList = new std::pair<const Trk::PrepRawData*, const Trk::PrepRawData*>(clus,nullptr);
-    m_elemIdList.first = elementId ;
-    m_elemIdList.second = 0 ;
-  }
-  
-  /** Constructor with globCovariance */
-  PixelSpacePoint::PixelSpacePoint( IdentifierHash elementId, 
-                                    const Trk::PrepRawData* clus, 
-                                    const Amg::MatrixX& globcov ) 
-    :
-    SpacePoint()
-  {
-    assert (clus!=nullptr);
-    m_globalCovariance = globcov;
-    Trk::MeasurementBase::m_localParams = Trk::LocalParameters(clus->localPosition());
-    Trk::MeasurementBase::m_localCovariance = clus->localCovariance();
-
-    const Amg::Vector3D* tmpPos = clus->detectorElement()->surface().localToGlobal(clus->localPosition()) ;
-    assert (tmpPos!=nullptr) ;
-    m_position = *tmpPos;
-    delete tmpPos ;
-
-    m_clusList = new std::pair<const Trk::PrepRawData*, const Trk::PrepRawData*>(clus,nullptr);
-    m_elemIdList.first = elementId ;
-    m_elemIdList.second = 0 ;
-  }
-  
   /** Constructor with globPosition and globCovariance */
   PixelSpacePoint::PixelSpacePoint( IdentifierHash elementId,
                                     const Trk::PrepRawData* clus,
-- 
GitLab