diff --git a/InnerDetector/InDetRecEvent/InDetRIO_OnTrack/InDetRIO_OnTrack/PixelClusterOnTrack.h b/InnerDetector/InDetRecEvent/InDetRIO_OnTrack/InDetRIO_OnTrack/PixelClusterOnTrack.h
index 2a8711828e49921c7c994c6ff71c6d5bb32318cb..0c780b331974843bffe631e8fc32cb5883b672cc 100755
--- a/InnerDetector/InDetRecEvent/InDetRIO_OnTrack/InDetRIO_OnTrack/PixelClusterOnTrack.h
+++ b/InnerDetector/InDetRecEvent/InDetRIO_OnTrack/InDetRIO_OnTrack/PixelClusterOnTrack.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -45,7 +45,7 @@ namespace InDet {
   @author Veronique.Boisvert@cern.ch, Edward.Moyse@cern.ch, Andreas.Salzburger@cern.ch
    */
 
-  class PixelClusterOnTrack :   public SiClusterOnTrack {
+  class PixelClusterOnTrack final: public SiClusterOnTrack {
 
     public:
       friend class  Trk::ITrkEventCnvTool;
@@ -108,11 +108,11 @@ namespace InDet {
       virtual ~PixelClusterOnTrack();
 	
       /** Pseudo-constructor : needed to avoid excessive RTTI*/
-      virtual PixelClusterOnTrack* clone() const override;
+      virtual PixelClusterOnTrack* clone() const override final;
     
     /** returns the surface for the local to global transformation 
       - fullfills Trk::MeasurementBase interface*/
-      virtual const Trk::Surface& associatedSurface() const override;
+      virtual const Trk::Surface& associatedSurface() const override final;
 
       virtual bool rioType(Trk::RIO_OnTrackType::Type type) const override final
       {
@@ -122,13 +122,13 @@ namespace InDet {
 
     /** returns the PrepRawData - is a SiCluster in this scope
       - fullfills Trk::RIO_OnTrack interface*/
-      virtual const PixelCluster* prepRawData() const override;
+      virtual const PixelCluster* prepRawData() const override final;
 
       const ElementLinkToIDCPixelClusterContainer& prepRawDataLink() const;
        
     /** returns the detector element, assoicated with the PRD of this class
       - fullfills Trk::RIO_OnTrack interface*/
-      virtual const InDetDD::SiDetectorElement* detectorElement() const override;
+      virtual const InDetDD::SiDetectorElement* detectorElement() const override final;
    
       
 	  /** returns whether there was an ambiguity associated with this pixel cluster.
@@ -144,18 +144,20 @@ namespace InDet {
       float energyLoss() const;
 		
       /**returns some information about this RIO_OnTrack.*/
-      virtual MsgStream&  dump( MsgStream& out ) const override;	
+      virtual MsgStream&  dump( MsgStream& out ) const override final;	
 	
       /**returns some information about this RIO_OnTrack.*/
-      virtual std::ostream& dump( std::ostream& out ) const override;
+      virtual std::ostream& dump( std::ostream& out ) const override final;
 
     private:
       friend class PixelClusterOnTrackCnv_p1;
       friend class ::FakeTrackBuilder;
-      
+
       /** ONLY for use in custom convertor
-      Allows the custom convertor to reset values when persistying/reading back RoTs*/
-      virtual void setValues(const Trk::TrkDetElementBase* detEl, const Trk::PrepRawData* prd) override;
+      Allows the custom convertor to reset values when persistying/reading back
+      RoTs*/
+      virtual void setValues(const Trk::TrkDetElementBase* detEl,
+                             const Trk::PrepRawData* prd) override final;
 
       /** PixelCluster - the RIO (PRD, PrepRawData)*/
       ElementLinkToIDCPixelClusterContainer m_rio;
diff --git a/InnerDetector/InDetRecEvent/InDetRIO_OnTrack/InDetRIO_OnTrack/SCT_ClusterOnTrack.h b/InnerDetector/InDetRecEvent/InDetRIO_OnTrack/InDetRIO_OnTrack/SCT_ClusterOnTrack.h
index 29209b4199dcbb0d690395d510df37471a8df22c..4271c0565d44aafbb94dbd3a70a3d1f0eb3a9bd4 100755
--- a/InnerDetector/InDetRecEvent/InDetRIO_OnTrack/InDetRIO_OnTrack/SCT_ClusterOnTrack.h
+++ b/InnerDetector/InDetRecEvent/InDetRIO_OnTrack/InDetRIO_OnTrack/SCT_ClusterOnTrack.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -40,7 +40,7 @@ namespace InDet{
      
   @author Veronique.Boisvert@cern.ch, Edward.Moyse@cern.ch, Andreas.Salzburger@cern.ch
    */
-  class SCT_ClusterOnTrack :   public SiClusterOnTrack{
+  class SCT_ClusterOnTrack final : public SiClusterOnTrack {
 
     public:
       friend class  Trk::ITrkEventCnvTool;
@@ -116,12 +116,12 @@ namespace InDet{
       virtual ~SCT_ClusterOnTrack() = default;
      
       /** Pseudo-constructor */
-      virtual SCT_ClusterOnTrack* clone() const override;
+      virtual SCT_ClusterOnTrack* clone() const override final;
 
       /** returns the surface for the local to global transformation
           - fullfills the Trk::MeasurementBase interface
       */
-      virtual const Trk::Surface& associatedSurface() const override;
+      virtual const Trk::Surface& associatedSurface() const override final;
 
       virtual bool rioType(Trk::RIO_OnTrackType::Type type) const override final
       {
@@ -132,7 +132,7 @@ namespace InDet{
     /** returns the PrepRawData - is a SCT_Cluster in this scope
       - fullfills the Trk::RIO_OnTrack interface
      */
-      virtual const InDet::SCT_Cluster* prepRawData() const override;
+      virtual const InDet::SCT_Cluster* prepRawData() const override final;
 
     const ElementLinkToIDCSCT_ClusterContainer& prepRawDataLink() const;
      
@@ -140,28 +140,29 @@ namespace InDet{
     /** returns the detector element, assoicated with the PRD of this class
       - fullfills the Trk::RIO_OnTrack interface
      */
-      virtual const InDetDD::SiDetectorElement* detectorElement() const override;
+      virtual const InDetDD::SiDetectorElement* detectorElement() const override final;
     
       /**returns some information about this RIO_OnTrack.*/
-      virtual MsgStream&    dump( MsgStream& out ) const override;	
+      virtual MsgStream&    dump( MsgStream& out ) const override final;	
 	
       /**returns some information about this RIO_OnTrack.*/
-      virtual std::ostream& dump( std::ostream& out ) const override;
+      virtual std::ostream& dump( std::ostream& out ) const override final;
 
       double positionAlongStrip() const;
 
     private:
-    /** ONLY for use in custom convertor
-      Allows the custom convertor to reset values when persistying/reading back RoTs*/
-      virtual void setValues(const Trk::TrkDetElementBase* detEl, const Trk::PrepRawData* prd) override;
- 
+      /** ONLY for use in custom convertor
+        Allows the custom convertor to reset values when persistying/reading
+        back RoTs*/
+      virtual void setValues(const Trk::TrkDetElementBase* detEl,
+                             const Trk::PrepRawData* prd) override final;
+
       /** SCT_Cluster - the RIO (PRD, PrepRawData)*/
-      ElementLinkToIDCSCT_ClusterContainer m_rio; 
+      ElementLinkToIDCSCT_ClusterContainer m_rio;
       /** corresponding detector element*/
       const InDetDD::SiDetectorElement* m_detEl;
-      
+
       double m_positionAlongStrip;
-      
   };
 
   inline SCT_ClusterOnTrack* SCT_ClusterOnTrack::clone() const 
diff --git a/InnerDetector/InDetRecEvent/InDetRIO_OnTrack/InDetRIO_OnTrack/TRT_DriftCircleOnTrack.h b/InnerDetector/InDetRecEvent/InDetRIO_OnTrack/InDetRIO_OnTrack/TRT_DriftCircleOnTrack.h
index e84917187f49cd7cd4b3e6dd359708ebc9cedb82..f73792ff4bbc66d971fed8686f419469163fa252 100755
--- a/InnerDetector/InDetRecEvent/InDetRIO_OnTrack/InDetRIO_OnTrack/TRT_DriftCircleOnTrack.h
+++ b/InnerDetector/InDetRecEvent/InDetRIO_OnTrack/InDetRIO_OnTrack/TRT_DriftCircleOnTrack.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -49,8 +49,8 @@ namespace InDet{
   @author Andreas.Salzburger@cern.ch
    */
 
-  class TRT_DriftCircleOnTrack :   public Trk::RIO_OnTrack{
-	
+  class TRT_DriftCircleOnTrack final: public Trk::RIO_OnTrack {
+
     public:
       friend class  Trk::ITrkEventCnvTool;
       /**Default constructor - needed for POOL*/
@@ -60,7 +60,7 @@ namespace InDet{
       /**Assignment operator*/
       TRT_DriftCircleOnTrack &operator=(const TRT_DriftCircleOnTrack &);
       /**Move assignment operator*/
-      TRT_DriftCircleOnTrack &operator=(TRT_DriftCircleOnTrack &&);
+      TRT_DriftCircleOnTrack &operator=(TRT_DriftCircleOnTrack &&) noexcept;
 		
      /** Constructor with parameters and without externalPrediction:
       RIO pointer, LocalPosition*, LocalErrorMatrix*, 
@@ -95,18 +95,18 @@ namespace InDet{
       virtual ~TRT_DriftCircleOnTrack();
 		
       /**allows copying without losing the type information. Used in Trk::Track*/
-      virtual TRT_DriftCircleOnTrack* clone() const override;
+      virtual TRT_DriftCircleOnTrack* clone() const override final;
 	
      /** return the global position of this RIO_OnTrack
       @todo convention about z coordinate 
       - fullfills Trk::MeasurementBase interface
       */
-      virtual const Amg::Vector3D& globalPosition() const override;
+      virtual const Amg::Vector3D& globalPosition() const override final;
      
      /** returns the surface for the local to global transformation
       - fullfills Trk::MeasurementBase interface 
       */
-      virtual const Trk::Surface& associatedSurface() const override;
+      virtual const Trk::Surface& associatedSurface() const override final;
 
       virtual bool rioType(Trk::RIO_OnTrackType::Type type) const override final
       {
@@ -116,18 +116,18 @@ namespace InDet{
      /** returns the PrepRawData - is a TRT_DriftCircle in this scope
       - fullfills Trk::RIO_OnTrack interface
       */
-      virtual const TRT_DriftCircle* prepRawData() const override;
+      virtual const TRT_DriftCircle* prepRawData() const override final;
       const ElementLinkToIDCTRT_DriftCircleContainer& prepRawDataLink() const;
     
      /** returns the DE hashID
       - fullfills Trk::RIO_OnTrack interface
       */
-      virtual IdentifierHash idDE() const override;
+      virtual IdentifierHash idDE() const override final;
   
      /** returns the detector element, assoicated with the PRD of this class
       - fullfills Trk::RIO_OnTrack interface
       */
-      virtual const InDetDD::TRT_BaseElement* detectorElement() const override;
+      virtual const InDetDD::TRT_BaseElement* detectorElement() const override final;
 
      /** returns the side on which the drift radius is. 
       (for more information see the definition of
@@ -151,9 +151,9 @@ namespace InDet{
       double timeOverThreshold() const;
 
       /**returns some information about this RIO_OnTrack.*/
-      virtual MsgStream&    dump( MsgStream& out ) const override;	
+      virtual MsgStream&    dump( MsgStream& out ) const override final;	
       /**returns some information about this RIO_OnTrack.*/
-      virtual std::ostream& dump( std::ostream& out ) const override;
+      virtual std::ostream& dump( std::ostream& out ) const override final;
 
       float localAngle() const;
       float positionAlongWire() const;
@@ -162,8 +162,9 @@ namespace InDet{
     private:
     /** ONLY for use in custom convertor
       Allows the custom convertor to reset values when persistying/reading back RoTs*/
-      virtual void setValues(const Trk::TrkDetElementBase* detEl, const Trk::PrepRawData* prd) override;
- 
+      virtual void setValues(const Trk::TrkDetElementBase* detEl,
+                             const Trk::PrepRawData* prd) override final;
+
       /** @calculate and set the global coord of this hit. 
        The detector element surface is used. Can be used from the convertor
        after setValues if the element is constructed without a detEl*/
diff --git a/InnerDetector/InDetRecEvent/InDetRIO_OnTrack/src/PixelClusterOnTrack.cxx b/InnerDetector/InDetRecEvent/InDetRIO_OnTrack/src/PixelClusterOnTrack.cxx
index 564c1cff51128ff1628486904bbc0f62e2113347..5cebb415ca8d82be7927149f38457798150bb5cb 100755
--- a/InnerDetector/InDetRecEvent/InDetRIO_OnTrack/src/PixelClusterOnTrack.cxx
+++ b/InnerDetector/InDetRecEvent/InDetRIO_OnTrack/src/PixelClusterOnTrack.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -93,7 +93,7 @@ InDet::PixelClusterOnTrack::PixelClusterOnTrack()
     m_hasClusterAmbiguity(false),
     m_isFake(false),
     m_energyLoss(0.),
-    m_detEl(0)
+    m_detEl(nullptr)
 {}
 
 
diff --git a/InnerDetector/InDetRecEvent/InDetRIO_OnTrack/src/TRT_DriftCircleOnTrack.cxx b/InnerDetector/InDetRecEvent/InDetRIO_OnTrack/src/TRT_DriftCircleOnTrack.cxx
index 52548493e8a2ac56229a33591982eb86f831f1ee..8529dfabb50bd094abe1dab1d4ed3494285b6593 100755
--- a/InnerDetector/InDetRecEvent/InDetRIO_OnTrack/src/TRT_DriftCircleOnTrack.cxx
+++ b/InnerDetector/InDetRecEvent/InDetRIO_OnTrack/src/TRT_DriftCircleOnTrack.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -142,7 +142,7 @@ InDet::TRT_DriftCircleOnTrack& InDet::TRT_DriftCircleOnTrack::operator=( const I
 
 //move assignment operator:
 InDet::TRT_DriftCircleOnTrack& InDet::TRT_DriftCircleOnTrack::operator=( InDet::TRT_DriftCircleOnTrack&& rot)
-{ 
+ noexcept { 
   if ( &rot != this) {
     Trk::RIO_OnTrack::operator= (rot);
     m_globalPosition        = std::move(rot.m_globalPosition);
diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/MuonRIO_OnTrack/CscClusterOnTrack.h b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/MuonRIO_OnTrack/CscClusterOnTrack.h
index 363b2832827b5a7d02df90bd6f38a862752a8350..f29688d4f5ae2d2ead5dbd63c863b2c67475ba65 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/MuonRIO_OnTrack/CscClusterOnTrack.h
+++ b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/MuonRIO_OnTrack/CscClusterOnTrack.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
 */
 
 //
@@ -43,7 +43,7 @@ namespace Muon
 {
 
 /** @brief Class to represent the calibrated clusters created from CSC strips*/
-class CscClusterOnTrack :  public MuonClusterOnTrack
+class CscClusterOnTrack final:  public MuonClusterOnTrack
 {
 
 public:
@@ -91,18 +91,18 @@ public:
     virtual ~CscClusterOnTrack();
 
     /** @brief Clone this ROT */
-    virtual CscClusterOnTrack* clone() const ;
+    virtual CscClusterOnTrack* clone() const override final;
 
     /** @brief Returns the CscPrepData - is a CscPrepData in this scope*/
-    virtual const CscPrepData* prepRawData() const;
+    virtual const CscPrepData* prepRawData() const override final;
     const ElementLinkToIDC_CSC_Container& prepRawDataLink() const;
 
     /** @brief Returns the detector element, associated with the PRD of this class*/
-    virtual const MuonGM::CscReadoutElement* detectorElement() const;
+    virtual const MuonGM::CscReadoutElement* detectorElement() const override final;
 
     /** @brief Returns the surface on which this measurement was taken. 
     (i.e. a surface of a detector element) */
-    virtual const Trk::Surface& associatedSurface() const;
+    virtual const Trk::Surface& associatedSurface() const override final;
 
     /** @brief Returns Csc position measurement  status flag */
     CscClusterStatus status() const;
@@ -114,30 +114,31 @@ public:
     float time() const;
     
     /** @brief Dumps information about the PRD*/
-    virtual MsgStream&    dump( MsgStream&    stream) const;
+    virtual MsgStream&    dump( MsgStream&    stream) const override final;
 
     /** @brief Dumps information about the PRD*/
-    virtual std::ostream& dump( std::ostream& stream) const;
+    virtual std::ostream& dump( std::ostream& stream) const override final;
 
 private:
     /** this method is only used by the custom convertors. 
     @warning At the moment it only actually sets the CscPrepData, since that's all that's stored
     @todo Throw exception if TrkDetElementBase isn't correct concrete type*/
-    virtual void setValues(const Trk::TrkDetElementBase*, const Trk::PrepRawData*);
+  virtual void setValues(const Trk::TrkDetElementBase*,
+                         const Trk::PrepRawData*) override final;
 
-    /** PrepRawData object assoicated with this measurement*/
-    ElementLinkToIDC_CSC_Container      m_rio;
+  /** PrepRawData object assoicated with this measurement*/
+  ElementLinkToIDC_CSC_Container m_rio;
 
-    /** The detector element, associated with this measurement*/
-    const MuonGM::CscReadoutElement*    m_detEl;
+  /** The detector element, associated with this measurement*/
+  const MuonGM::CscReadoutElement* m_detEl;
 
-    /** cluster position measurement status */
-    CscClusterStatus                    m_status;
+  /** cluster position measurement status */
+  CscClusterStatus m_status;
 
-    /** cluster time measurement status */
-    CscTimeStatus                    m_timeStatus;
-  
-    float                               m_time;
+  /** cluster time measurement status */
+  CscTimeStatus m_timeStatus;
+
+  float m_time;
 };
 
 ///////////////////////////////////////////////////////////////////
diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/MuonRIO_OnTrack/MdtDriftCircleOnTrack.h b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/MuonRIO_OnTrack/MdtDriftCircleOnTrack.h
index c1540ad0cd02bb5f5f53a7a08fe9c4ca1bff7363..34959e0b9c89765da33300fb8ad0659b95c04612 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/MuonRIO_OnTrack/MdtDriftCircleOnTrack.h
+++ b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/MuonRIO_OnTrack/MdtDriftCircleOnTrack.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -53,7 +53,7 @@ namespace Muon
 
 /** @brief This class represents the corrected MDT measurements, 
     where the corrections include the effects of wire sag etc.*/
-class MdtDriftCircleOnTrack :   public Trk::RIO_OnTrack
+class MdtDriftCircleOnTrack final: public Trk::RIO_OnTrack 
 {
 public:    
                         
@@ -67,7 +67,7 @@ public:
     MdtDriftCircleOnTrack(const MdtDriftCircleOnTrack &);
 
     MdtDriftCircleOnTrack &operator=(const MdtDriftCircleOnTrack &);
-    MdtDriftCircleOnTrack &operator=(MdtDriftCircleOnTrack &&);
+    MdtDriftCircleOnTrack &operator=(MdtDriftCircleOnTrack &&) noexcept;
 
 
 
@@ -162,32 +162,32 @@ public:
     Trk::DriftCircleStatus status() const;
 
     /** @copydoc Trk::RIO_OnTrack::clone()  */
-    virtual MdtDriftCircleOnTrack* clone() const override;
+    virtual MdtDriftCircleOnTrack* clone() const override final;
 
     /** @brief Returns the PrepRawData used to create this corrected measurement */
-    virtual const MdtPrepData* prepRawData() const override;
+    virtual const MdtPrepData* prepRawData() const override final;
     const ElementLinkToIDC_MDT_Container& prepRawDataLink() const;
 
     /** @brief Returns the hashID of the PRD collection */
-    virtual IdentifierHash collectionHash() const;
+    IdentifierHash collectionHash() const;
 
     /** @brief Returns an invalid hash @todo Remove*/
-    virtual IdentifierHash idDE() const override { return IdentifierHash(); } 
+    virtual IdentifierHash idDE() const override final{ return IdentifierHash(); } 
 
     /** @brief Returns the detector element, assoicated with the PRD of this class*/
-    virtual const MuonGM::MdtReadoutElement* detectorElement() const override;
+    virtual const MuonGM::MdtReadoutElement* detectorElement() const override final;
 
     /** @brief Returns the surface on which this measurement was taken. 
         - If hasSaggedSurface()==false, then the surface will be that of the matching Detector Element
         - If hasSaggedSurface()==true, then the surface will be a special surface, representing the sagged position 
         of the wire at the coords of this measurement.*/
-    virtual const Trk::Surface& associatedSurface() const override;
+    virtual const Trk::Surface& associatedSurface() const override final;
 
     /** @brief Returns the global Position. 
     Be aware that this is calculated from the predicted position along 
     the tube, and the drift radius. i.e. it is partly inferred from other data, 
     and so is not a 'true' measurement.*/
-    virtual const Amg::Vector3D& globalPosition() const override;
+    virtual const Amg::Vector3D& globalPosition() const override final;
 
     virtual bool rioType(Trk::RIO_OnTrackType::Type type) const override final
     {
@@ -223,10 +223,10 @@ public:
     const MuonDriftCircleErrorStrategy& errorStrategy() const;
     
     /** @brief Dumps information about the PRD*/
-    virtual MsgStream&    dump( MsgStream&    stream) const override;
+    virtual MsgStream&    dump( MsgStream&    stream) const override final;
 
     /** @brief Dumps information about the PRD*/
-    virtual std::ostream& dump( std::ostream& stream) const override;
+    virtual std::ostream& dump( std::ostream& stream) const override final;
     
     // /////////////////////////////////////////////////////////////////
     // Private data:
@@ -239,7 +239,7 @@ private:
     /**@brief Sets the DetElement and Trk::PrepRawData pointers after reading from disk.
     @warning Only intended for use by persistency convertors*/
     virtual void setValues(const Trk::TrkDetElementBase*,
-                           const Trk::PrepRawData*) override;
+                           const Trk::PrepRawData*) override final;
                            
     /** @brief Uses the passed loc3Dframe to calculate and set the global coord of this hit. 
     If there is a sagged wire defined, this will be used for the transformation, otherwise the detector element surface is used*/
diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/MuonRIO_OnTrack/RpcClusterOnTrack.h b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/MuonRIO_OnTrack/RpcClusterOnTrack.h
index 5de77cad0ac0532f201bb79a4fba480be247b406..e4326bf352e3b86aa75628558aee65db399cabe6 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/MuonRIO_OnTrack/RpcClusterOnTrack.h
+++ b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/MuonRIO_OnTrack/RpcClusterOnTrack.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef MUONRIOONTRACK_RPCCLUSTERONTRACK_H
@@ -31,7 +31,7 @@ namespace Muon
 {
 
 /** @brief Class to represent calibrated clusters formed from RPC strips*/
-class RpcClusterOnTrack :  public MuonClusterOnTrack
+class RpcClusterOnTrack final:  public MuonClusterOnTrack
 {
 
 public:
@@ -74,43 +74,44 @@ public:
     virtual ~RpcClusterOnTrack();
 
     /** @brief Clone this ROT */
-    virtual RpcClusterOnTrack* clone() const ;
+    virtual RpcClusterOnTrack* clone() const override final;
 
     /** @brief Returns the RpcPrepData - is a TRT_DriftCircle in this scope*/
-    virtual const RpcPrepData* prepRawData() const;
+    virtual const RpcPrepData* prepRawData() const override final;
     const ElementLinkToIDC_RPC_Container& prepRawDataLink() const;
 
     /** @brief Returns the detector element, assoicated with the PRD of this class*/
-    virtual const MuonGM::RpcReadoutElement* detectorElement() const;
+    virtual const MuonGM::RpcReadoutElement* detectorElement() const override final;
 
     /** @brief Returns the surface on which this measurement was taken. 
     (i.e. a surface of a detector element) */
-    virtual const Trk::Surface& associatedSurface() const;
+    virtual const Trk::Surface& associatedSurface() const override final;
     
     /** Return the time (ns)*/
   float time() const;
     
     /** @brief Dumps information about the PRD*/
-    virtual MsgStream&    dump( MsgStream&    stream) const;
+    virtual MsgStream&    dump( MsgStream&    stream) const override final;
 
     /** @brief Dumps information about the PRD*/
-    virtual std::ostream& dump( std::ostream& stream) const;
+    virtual std::ostream& dump( std::ostream& stream) const override final;
     
 
 private:
     /**@brief Sets the DetElement and Trk::PrepRawData pointers after reading from disk.
     @warning Only intended for use by persistency convertors    
     @todo Throw exception if TrkDetElementBase isn't correct concrete type*/
-    virtual void setValues(const Trk::TrkDetElementBase*, const Trk::PrepRawData*);
+  virtual void setValues(const Trk::TrkDetElementBase*,
+                         const Trk::PrepRawData*) override final;
 
-   /** PrepRawData object assoicated with this measurement*/
-    ElementLinkToIDC_RPC_Container              m_rio;
+  /** PrepRawData object assoicated with this measurement*/
+  ElementLinkToIDC_RPC_Container m_rio;
 
-    /** The detector element, assoicated with this measurement*/
-    const MuonGM::RpcReadoutElement*            m_detEl;
-    
-    /** The time in ns*/
-    float m_time;
+  /** The detector element, assoicated with this measurement*/
+  const MuonGM::RpcReadoutElement* m_detEl;
+
+  /** The time in ns*/
+  float m_time;
 };
 
 ///////////////////////////////////////////////////////////////////
diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/MuonRIO_OnTrack/sTgcClusterOnTrack.h b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/MuonRIO_OnTrack/sTgcClusterOnTrack.h
index e556a41e05b23dc950e77ea55a9be9a9dba078b5..2c7decda2f0c72ab3700cac521cdd7eb54531c10 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/MuonRIO_OnTrack/sTgcClusterOnTrack.h
+++ b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/MuonRIO_OnTrack/sTgcClusterOnTrack.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef MUONRIOONTRACK_STGCCLUSTERONTRACK_H
@@ -30,7 +30,7 @@ namespace Muon
 {
 
   /** @brief Class to represent calibrated clusters formed from TGC strips*/
-  class sTgcClusterOnTrack :  public MuonClusterOnTrack
+  class sTgcClusterOnTrack final:  public MuonClusterOnTrack
   {
 
   public:
@@ -69,30 +69,31 @@ namespace Muon
     virtual ~sTgcClusterOnTrack();
 
     /** @brief Clone this ROT */
-    virtual sTgcClusterOnTrack* clone() const ;
+    virtual sTgcClusterOnTrack* clone() const override final;
 
     /** @brief Returns the sTgcPrepData - is a TRT_DriftCircle in this scope*/
-    virtual const sTgcPrepData* prepRawData() const;
-    virtual const ElementLinkToIDC_STGC_Container& prepRawDataLink() const;
+    virtual const sTgcPrepData* prepRawData() const override final;
+    const ElementLinkToIDC_STGC_Container& prepRawDataLink() const;
 
     /** @brief Returns the detector element, assoicated with the PRD of this class*/
-    virtual const MuonGM::sTgcReadoutElement* detectorElement() const;
+    virtual const MuonGM::sTgcReadoutElement* detectorElement() const override final;
 
     /** @brief Returns the surface on which this measurement was taken. 
 	(i.e. a surface of a detector element) */
-    virtual const Trk::Surface& associatedSurface() const;
+    virtual const Trk::Surface& associatedSurface() const override final;
 
     /** @brief Dumps information about the PRD*/
-    virtual MsgStream&    dump( MsgStream&    stream) const;
+    virtual MsgStream&    dump( MsgStream&    stream) const override final;
 
     /** @brief Dumps information about the PRD*/
-    virtual std::ostream& dump( std::ostream& stream) const;
+    virtual std::ostream& dump( std::ostream& stream) const override final;
     
   private:
     /**@brief Sets the DetElement and Trk::PrepRawData pointers after reading from disk.
        @warning Only intended for use by persistency convertors.
        @todo Throw exception if TrkDetElementBase isn't correct concrete type*/
-    virtual void setValues(const Trk::TrkDetElementBase*, const Trk::PrepRawData*);
+    virtual void setValues(const Trk::TrkDetElementBase*,
+                           const Trk::PrepRawData*) override final;
 
     /** PrepRawData object assoicated with this measurement*/
     ElementLinkToIDC_STGC_Container              m_rio;
diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/src/CscClusterOnTrack.cxx b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/src/CscClusterOnTrack.cxx
index 421f29c37b2ed70813f1d09e9a16c9c70040de42..b202f808ef8bb154e297c78988110e0825d1a33d 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/src/CscClusterOnTrack.cxx
+++ b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/src/CscClusterOnTrack.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -22,7 +22,7 @@ namespace Muon
   CscClusterOnTrack::CscClusterOnTrack():
     MuonClusterOnTrack(), // call base class ctor
     m_rio(),
-    m_detEl(0),
+    m_detEl(nullptr),
     m_status(CscStatusUndefined),
     m_timeStatus(CscTimeStatusUndefined),
     m_time(9999.0)
diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/src/MdtDriftCircleOnTrack.cxx b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/src/MdtDriftCircleOnTrack.cxx
index 9beabb537764f79e995bea6a05a330bb5e424a32..1eb8e122990eeea5903a906ec1f075de0b99f666 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/src/MdtDriftCircleOnTrack.cxx
+++ b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/src/MdtDriftCircleOnTrack.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -23,23 +23,23 @@
 
 
 // Full Constructor :
-Muon::MdtDriftCircleOnTrack::MdtDriftCircleOnTrack( 
-    const Muon::MdtPrepData*        RIO, 
-    const Trk::LocalParameters&     locPos, 
-    const Amg::MatrixX&             errDriftRadius, 
+Muon::MdtDriftCircleOnTrack::MdtDriftCircleOnTrack(
+    const Muon::MdtPrepData*        RIO,
+    const Trk::LocalParameters&     locPos,
+    const Amg::MatrixX&             errDriftRadius,
     const double                    driftTime,
-    const Trk::DriftCircleStatus    status,  
-    const Amg::Vector3D&            predictedTrackDirection, 
-    double                          positionAlongWire, 
+    const Trk::DriftCircleStatus    status,
+    const Amg::Vector3D&            predictedTrackDirection,
+    double                          positionAlongWire,
     const MuonDriftCircleErrorStrategy& errorStrategy,
-    const Trk::StraightLineSurface* surface) 
+    const Trk::StraightLineSurface* surface)
   :
   RIO_OnTrack( locPos, errDriftRadius, RIO->identify() ), //call base class constructor
   m_status(status),
   m_globalPosition(),
   m_saggedSurface(surface),
   m_detEl( RIO->detectorElement() ),
-  m_localAngle(0.0), 
+  m_localAngle(0.0),
   m_positionAlongWire(positionAlongWire),
   m_driftTime(driftTime),
   m_errorStrategy(errorStrategy)
@@ -48,31 +48,31 @@ Muon::MdtDriftCircleOnTrack::MdtDriftCircleOnTrack(
   assert(m_status!=Trk::UNDECIDED); // use of this constructor implies that the side is decided
 
   const Trk::StraightLineSurface* slsf = dynamic_cast<const Trk::StraightLineSurface*>(&(m_detEl->surface(RIO->identify())));
- 
+
   if(slsf) m_globalPosition.store(std::unique_ptr<const Amg::Vector3D>(slsf->localToGlobal(locPos, predictedTrackDirection, positionAlongWire)));
-  Amg::Vector3D loc_gDirection = predictedTrackDirection; 
-   
-  //scaling the direction with drift radius   
-  if(driftRadius() !=0.)   { 
+  Amg::Vector3D loc_gDirection = predictedTrackDirection;
+
+  //scaling the direction with drift radius
+  if(driftRadius() !=0.)   {
     // Set loc_gDirection's perpendicular distance equal to driftRadius
     Amg::setPerp(loc_gDirection,driftRadius());
     float ratio = loc_gDirection.x()/driftRadius();
-    float calc_angle = (ratio >= 1.) ?  0. : acos(ratio);
+    float calc_angle = (ratio >= 1.) ?  0. : std::acos(ratio);
     m_localAngle = (loc_gDirection.y()<0.) ? 2*M_PI - calc_angle : calc_angle;
   }
   m_rio.setElement(RIO);
 }
 
 // Partial Constructor :
-Muon::MdtDriftCircleOnTrack::MdtDriftCircleOnTrack( 
-        const Muon::MdtPrepData*        RIO, 
-        const Trk::LocalParameters&     locPos, 
-        const Amg::MatrixX&             errDriftRadius, 
+Muon::MdtDriftCircleOnTrack::MdtDriftCircleOnTrack(
+        const Muon::MdtPrepData*        RIO,
+        const Trk::LocalParameters&     locPos,
+        const Amg::MatrixX&             errDriftRadius,
         const double                    driftTime,
-        const Trk::DriftCircleStatus    status,  
-        double                          positionAlongWire, 
+        const Trk::DriftCircleStatus    status,
+        double                          positionAlongWire,
         const MuonDriftCircleErrorStrategy& errorStrategy,
-        const Trk::StraightLineSurface* surface) 
+        const Trk::StraightLineSurface* surface)
     :
     RIO_OnTrack( locPos, errDriftRadius, RIO->identify() ), //call base class constructor
     m_status(status),
@@ -89,18 +89,18 @@ Muon::MdtDriftCircleOnTrack::MdtDriftCircleOnTrack(
     m_rio.setElement(RIO);
 }
 
-Muon::MdtDriftCircleOnTrack::MdtDriftCircleOnTrack( 
-        const ElementLinkToIDC_MDT_Container& RIO, 
-        const Trk::LocalParameters&     locPos, 
-        const Amg::MatrixX&             errDriftRadius, 
+Muon::MdtDriftCircleOnTrack::MdtDriftCircleOnTrack(
+        const ElementLinkToIDC_MDT_Container& RIO,
+        const Trk::LocalParameters&     locPos,
+        const Amg::MatrixX&             errDriftRadius,
         const Identifier&               id,
         const MuonGM::MdtReadoutElement* detEl,
         const double                    driftTime,
-        const Trk::DriftCircleStatus    status,  
-        double                          positionAlongWire, 
+        const Trk::DriftCircleStatus    status,
+        double                          positionAlongWire,
         float                           localAngle,
         const MuonDriftCircleErrorStrategy& errorStrategy,
-        const Trk::StraightLineSurface* surface) 
+        const Trk::StraightLineSurface* surface)
     :
     RIO_OnTrack( locPos, errDriftRadius, id ), //call base class constructor
     m_status(status),
@@ -130,13 +130,13 @@ Muon::MdtDriftCircleOnTrack::MdtDriftCircleOnTrack()
     m_status(Trk::UNDECIDED),
     m_rio(),
     m_globalPosition(),
-    m_saggedSurface(0),
-    m_detEl(0),
-    m_localAngle(0.0), 
+    m_saggedSurface(nullptr),
+    m_detEl(nullptr),
+    m_localAngle(0.0),
     m_positionAlongWire(0.0),
     m_driftTime(0),
     m_errorStrategy(0)
-{ 
+{
 }
 
 //copy constructor:
@@ -146,15 +146,15 @@ Muon::MdtDriftCircleOnTrack::MdtDriftCircleOnTrack( const Muon::MdtDriftCircleOn
     m_status(rot.m_status),
     m_rio(rot.m_rio),
     m_globalPosition(),
-    m_saggedSurface(0),
+    m_saggedSurface(nullptr),
     m_detEl(rot.m_detEl),
-    m_localAngle(rot.m_localAngle), 
+    m_localAngle(rot.m_localAngle),
     m_positionAlongWire(rot.m_positionAlongWire),
     m_driftTime(rot.m_driftTime),
     m_errorStrategy(rot.m_errorStrategy)
 {
     if ( rot.m_globalPosition ) m_globalPosition.store(std::make_unique<const Amg::Vector3D>(*rot.m_globalPosition));
-    if ( rot.m_saggedSurface!=0 ) m_saggedSurface= new Trk::StraightLineSurface( *(rot.m_saggedSurface) );
+    if ( rot.m_saggedSurface!=nullptr ) m_saggedSurface= new Trk::StraightLineSurface( *(rot.m_saggedSurface) );
 }
 
 //assignment operator:
@@ -166,43 +166,44 @@ Muon::MdtDriftCircleOnTrack& Muon::MdtDriftCircleOnTrack::operator=( const Muon:
         if (rot.m_globalPosition) m_globalPosition.store(std::make_unique<const Amg::Vector3D>(*rot.m_globalPosition));
         else if (m_globalPosition) m_globalPosition.release().reset();
         delete m_saggedSurface;
-        if( rot.m_saggedSurface!=0 )
+        if( rot.m_saggedSurface!=nullptr )
             m_saggedSurface= new Trk::StraightLineSurface( *(rot.m_saggedSurface) );
         else
-            m_saggedSurface=0;
+            m_saggedSurface=nullptr;
         m_driftTime = rot.m_driftTime;
         m_status = rot.m_status;
         m_rio = rot.m_rio;
         m_detEl = rot.m_detEl;
-        m_localAngle = rot.m_localAngle; 
+        m_localAngle = rot.m_localAngle;
         m_positionAlongWire = rot.m_positionAlongWire;
         m_errorStrategy= rot.m_errorStrategy;
     }
     return *this;
 }
-    
-Muon::MdtDriftCircleOnTrack& Muon::MdtDriftCircleOnTrack::operator=( Muon::MdtDriftCircleOnTrack&& rot)
+
+Muon::MdtDriftCircleOnTrack&
+Muon::MdtDriftCircleOnTrack::operator=(
+  Muon::MdtDriftCircleOnTrack&& rot) noexcept
 {
-    if ( &rot != this)
-    {
-        Trk::RIO_OnTrack::operator=(std::move(rot));//base class ass. op.
-        m_globalPosition = std::move(rot.m_globalPosition);
+  if (&rot != this) {
+    Trk::RIO_OnTrack::operator=(rot); // base class ass. op.
+    m_globalPosition = std::move(rot.m_globalPosition);
 
-        delete m_saggedSurface;
-        m_saggedSurface = rot.m_saggedSurface;
-        rot.m_saggedSurface = nullptr;
+    delete m_saggedSurface;
+    m_saggedSurface = rot.m_saggedSurface;
+    rot.m_saggedSurface = nullptr;
 
-        m_driftTime = rot.m_driftTime;
-        m_status = rot.m_status;
-        m_rio = rot.m_rio;
-        m_detEl = rot.m_detEl;
-        m_localAngle = rot.m_localAngle; 
-        m_positionAlongWire = rot.m_positionAlongWire;
-        m_errorStrategy= std::move(rot.m_errorStrategy);
-    }
-    return *this;
+    m_driftTime = rot.m_driftTime;
+    m_status = rot.m_status;
+    m_rio = rot.m_rio;
+    m_detEl = rot.m_detEl;
+    m_localAngle = rot.m_localAngle;
+    m_positionAlongWire = rot.m_positionAlongWire;
+    m_errorStrategy = std::move(rot.m_errorStrategy);
+  }
+  return *this;
 }
-    
+
 const Amg::Vector3D& Muon::MdtDriftCircleOnTrack::globalPosition() const
 {
     if (not m_globalPosition){
@@ -223,7 +224,7 @@ const Amg::Vector3D& Muon::MdtDriftCircleOnTrack::globalPosition() const
 
 void Muon::MdtDriftCircleOnTrack::setGlobalPosition(HepGeom::Point3D<double>& loc3Dframe) const
 {
-    if (0!=m_saggedSurface){
+    if (nullptr!=m_saggedSurface){
         Amg::Vector3D tempFrame(loc3Dframe.x(), loc3Dframe.y(), loc3Dframe.z());
         m_globalPosition.set(std::make_unique<const Amg::Vector3D>(m_saggedSurface->transform() * tempFrame));
     } else {
@@ -243,7 +244,7 @@ void Muon::MdtDriftCircleOnTrack::setGlobalPosition(HepGeom::Point3D<double>& lo
 MsgStream& Muon::MdtDriftCircleOnTrack::dump( MsgStream&    stream) const
 {
     stream << MSG::INFO<<"MdtDriftCircleOnTrack {"<<std::endl;
-    Trk::RIO_OnTrack::dump(stream); 
+    Trk::RIO_OnTrack::dump(stream);
     stream << "DriftTime: "<<m_driftTime<<std::endl;
     stream << "Status: "<<m_status<<std::endl;
     stream << "Global position (x,y,z) = (";
@@ -251,12 +252,12 @@ MsgStream& Muon::MdtDriftCircleOnTrack::dump( MsgStream&    stream) const
             <<this->globalPosition().y()<<", "
             <<this->globalPosition().z()<<")"<<std::endl;
 
-    if (m_saggedSurface!=0) {
+    if (m_saggedSurface!=nullptr) {
         stream << "Sagged surface: "<<(*m_saggedSurface)<<std::endl;
     }else{
         stream << "Sagged surface: NONE "<<std::endl;
     }
-    
+
     stream << "Position along wire: "<<positionAlongWire()<<", \tlocal angle="<<localAngle()<<std::endl;
     stream << "Creation strategy: "<<m_errorStrategy;
     stream<<"}"<<endmsg;
@@ -266,7 +267,7 @@ MsgStream& Muon::MdtDriftCircleOnTrack::dump( MsgStream&    stream) const
 std::ostream& Muon::MdtDriftCircleOnTrack::dump( std::ostream&    stream) const
 {
     stream << "MdtDriftCircleOnTrack {"<<std::endl;
-    Trk::RIO_OnTrack::dump(stream); 
+    Trk::RIO_OnTrack::dump(stream);
     stream << "DriftTime: "<<m_driftTime<<std::endl;
     stream << "Status: "<<m_status<<std::endl;
     //stream << "Global position (x,y,z) = (";
@@ -278,7 +279,7 @@ std::ostream& Muon::MdtDriftCircleOnTrack::dump( std::ostream&    stream) const
     //     stream<<"NULL!), "<<std::endl;
     // }
 
-    if (m_saggedSurface!=0) {
+    if (m_saggedSurface!=nullptr) {
         stream << "Sagged surface: "<<(*m_saggedSurface)<<std::endl;
     }else{
         stream << "Sagged surface: NONE "<<std::endl;
diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/src/MuonClusterOnTrack.cxx b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/src/MuonClusterOnTrack.cxx
index b0bc09188d8616ea1200e6c097715c665fffc700..57ae7ee275230f607744e0783f101a046294d1f4 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/src/MuonClusterOnTrack.cxx
+++ b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/src/MuonClusterOnTrack.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -99,7 +99,7 @@ std::ostream& MuonClusterOnTrack::dump( std::ostream&    stream) const
 }
 
 const Amg::Vector3D& MuonClusterOnTrack::globalPosition() const {
-  if (detectorElement()==0){
+  if (detectorElement()==nullptr){
     // Not much we can do here - no detelement, so just return 0,0,0
     m_globalPosition.set(std::make_unique<const Amg::Vector3D>(0.0,0.0,0.0));
   }
diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/src/RpcClusterOnTrack.cxx b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/src/RpcClusterOnTrack.cxx
index 41a2e36856acb9674578a70f6594bf02dfe5c418..0828787d70d9fe926c802aa167a3d40b3aa9a883 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/src/RpcClusterOnTrack.cxx
+++ b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/src/RpcClusterOnTrack.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -23,7 +23,7 @@ RpcClusterOnTrack::RpcClusterOnTrack()
     :
     MuonClusterOnTrack(), // call base class ctor
    m_rio(),
-    m_detEl(0),
+    m_detEl(nullptr),
     m_time(0.0)
 {}
 
diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/src/TgcClusterOnTrack.cxx b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/src/TgcClusterOnTrack.cxx
index 7885d22186ce60e477358c059910bd8e0d2dacaa..7d68661c8d44f1ddd01db83d3c4858a633e79525 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/src/TgcClusterOnTrack.cxx
+++ b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/src/TgcClusterOnTrack.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -22,7 +22,7 @@ namespace Muon
 TgcClusterOnTrack::TgcClusterOnTrack():
         MuonClusterOnTrack(), // call base class ctor
         m_rio(),
-        m_detEl(0)
+        m_detEl(nullptr)
 {}
 
 // copy constructor:
diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/src/sTgcClusterOnTrack.cxx b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/src/sTgcClusterOnTrack.cxx
index e13b3df64e07d4ae95a62df88508e56a22727824..ca3d869af62af37502f6e7f92b6c5d72622bffcd 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/src/sTgcClusterOnTrack.cxx
+++ b/MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonRIO_OnTrack/src/sTgcClusterOnTrack.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "MuonRIO_OnTrack/sTgcClusterOnTrack.h"
@@ -12,7 +12,7 @@ namespace Muon
   sTgcClusterOnTrack::sTgcClusterOnTrack():
     MuonClusterOnTrack(), // call base class ctor
     m_rio(),
-    m_detEl(0)
+    m_detEl(nullptr)
   {}
 
   // copy constructor:
diff --git a/Tracking/TrkEvent/TrkPseudoMeasurementOnTrack/TrkPseudoMeasurementOnTrack/PseudoMeasurementOnTrack.h b/Tracking/TrkEvent/TrkPseudoMeasurementOnTrack/TrkPseudoMeasurementOnTrack/PseudoMeasurementOnTrack.h
index 9355be9b9464f2c611c079095b46260022bdd287..fefafc9cfd9e1650d39087849429592638749636 100755
--- a/Tracking/TrkEvent/TrkPseudoMeasurementOnTrack/TrkPseudoMeasurementOnTrack/PseudoMeasurementOnTrack.h
+++ b/Tracking/TrkEvent/TrkPseudoMeasurementOnTrack/TrkPseudoMeasurementOnTrack/PseudoMeasurementOnTrack.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -37,7 +37,7 @@ namespace Trk{
 
  */
 
-  class PseudoMeasurementOnTrack : public MeasurementBase {
+  class PseudoMeasurementOnTrack final: public MeasurementBase {
 
     friend class ::TrackCollectionCnv;
 
@@ -59,7 +59,7 @@ namespace Trk{
                                 ConstSurfaceUniquePtr   assocSurf);
 
       //! Destructor 
-      virtual ~PseudoMeasurementOnTrack() override;
+      virtual ~PseudoMeasurementOnTrack() override final;
 
       //! virtual constructor, not absolutely needed but given for EDM symmetry 
       virtual PseudoMeasurementOnTrack* clone() const override final;
@@ -90,12 +90,12 @@ namespace Trk{
       virtual std::ostream& dump( std::ostream& out ) const override final;
 
     protected:
-
-      //! holds the surface to which the PMoT is associated. The surface is responsible for the correct local-to-global transformation.
+      //! holds the surface to which the PMoT is associated. The surface is
+      //! responsible for the correct local-to-global transformation.
       const Surface* m_associatedSurface;
 
       //! Global position of the PMoT
-      const Amg::Vector3D*  m_globalPosition;
+      const Amg::Vector3D* m_globalPosition;
   };
 
   inline PseudoMeasurementOnTrack* PseudoMeasurementOnTrack::clone() const