diff --git a/Core/include/ACTS/Surfaces/ConeBounds.hpp b/Core/include/ACTS/Surfaces/ConeBounds.hpp index 8e14d1cde06f291477893ba725d8249d6eeb9f5b..e4231e12983dc6e1851d7e0436f8a4d7ece18c62 100644 --- a/Core/include/ACTS/Surfaces/ConeBounds.hpp +++ b/Core/include/ACTS/Surfaces/ConeBounds.hpp @@ -93,7 +93,7 @@ public: /// Virtual constructor virtual ConeBounds* - clone() const override; + clone() const final override; /// Return the bounds type virtual BoundsType @@ -109,7 +109,7 @@ public: /// /// @return is a boolean indicating if the position is inside virtual bool - inside(const Vector2D& lpos, const BoundaryCheck& bcheck = true) const override; + inside(const Vector2D& lpos, const BoundaryCheck& bcheck = true) const final override; /// Inside method for the first local parameter /// @@ -118,7 +118,7 @@ public: /// /// @return is a boolean indicating if the position is insideLoc0 virtual bool - insideLoc0(const Vector2D& lpos, double tol0 = 0.) const override; + insideLoc0(const Vector2D& lpos, double tol0 = 0.) const final override; /// Inside method for the second local parameter /// @@ -127,7 +127,7 @@ public: /// /// @return is a boolean indicating if the position is insideLoc1 virtual bool - insideLoc1(const Vector2D& lpos, double tol1 = 0.) const override; + insideLoc1(const Vector2D& lpos, double tol1 = 0.) const final override; /// Minimal distance to boundary ( > 0 if outside and <=0 if inside) /// @@ -135,7 +135,7 @@ public: /// /// @return is a signed distance parameter virtual double - distanceToBoundary(const Vector2D& lpos) const override; + distanceToBoundary(const Vector2D& lpos) const final override; /// Return the radius at a specific z values /// @@ -187,7 +187,7 @@ public: /// /// @return is the input obect virtual std::ostream& - dump(std::ostream& sl) const override; + dump(std::ostream& sl) const final override; private: /// private helper method diff --git a/Core/include/ACTS/Surfaces/ConeSurface.hpp b/Core/include/ACTS/Surfaces/ConeSurface.hpp index ff41232339916da9f1f765f74157fadb1e465ac1..343009ba5ce66ba4b066794ae2bd3be1d6b15719 100644 --- a/Core/include/ACTS/Surfaces/ConeSurface.hpp +++ b/Core/include/ACTS/Surfaces/ConeSurface.hpp @@ -90,7 +90,7 @@ public: /// /// @param shift is the optional shift applied after cloning virtual ConeSurface* - clone(const Transform3D* shift = nullptr) const override; + clone(const Transform3D* shift = nullptr) const final override; /// The binning position method - is overloaded for r-type binning /// @@ -99,7 +99,7 @@ public: /// /// @return The return type is a vector for positioning in the global frame virtual const Vector3D - binningPosition(BinningValue bValue) const override; + binningPosition(BinningValue bValue) const final override; /// Return the surface type virtual SurfaceType @@ -146,7 +146,7 @@ public: /// This method returns the ConeBounds by reference virtual const ConeBounds& - bounds() const override; + bounds() const final override; /// Local to global transformation /// @@ -156,7 +156,7 @@ public: virtual void localToGlobal(const Vector2D& lpos, const Vector3D& mom, - Vector3D& gpos) const override; + Vector3D& gpos) const final override; /// Global to local transfomration /// @@ -168,7 +168,7 @@ public: virtual bool globalToLocal(const Vector3D& gpos, const Vector3D& mom, - Vector2D& lpos) const override; + Vector2D& lpos) const final override; /// straight line intersection schema - provides closest intersection and /// (signed) path length @@ -215,7 +215,7 @@ public: intersectionEstimate(const Vector3D& gpos, const Vector3D& dir, bool forceDir = false, - const BoundaryCheck& bcheck = false) const override; + const BoundaryCheck& bcheck = false) const final override; /// the pathCorrection for derived classes with thickness /// @@ -224,7 +224,7 @@ public: /// /// @return is the path correction due to incident angle virtual double - pathCorrection(const Vector3D& gpos, const Vector3D& mom) const override; + pathCorrection(const Vector3D& gpos, const Vector3D& mom) const final override; /// Return properly formatted class name for screen output virtual std::string diff --git a/Core/include/ACTS/Surfaces/CylinderBounds.hpp b/Core/include/ACTS/Surfaces/CylinderBounds.hpp index 3134b3a71f9c19173944292c023678279973504e..8af5a8a8183a43c98fce0c134551fad94548528b 100644 --- a/Core/include/ACTS/Surfaces/CylinderBounds.hpp +++ b/Core/include/ACTS/Surfaces/CylinderBounds.hpp @@ -86,7 +86,7 @@ public: /// Virtual constructor virtual CylinderBounds* - clone() const override; + clone() const final override; /// Return of the bounds type virtual BoundsType @@ -104,7 +104,7 @@ public: /// /// @return boolean indicator for the success of this operation bool - inside(const Vector2D& lpos, const BoundaryCheck& bcheck) const override; + inside(const Vector2D& lpos, const BoundaryCheck& bcheck) const final override; /// Specialized method for CylinderBounds that checks if a global position /// is within the the cylinder cover @@ -123,7 +123,7 @@ public: /// /// @return is a boolean indicating if the position is insideLoc0 virtual bool - insideLoc0(const Vector2D& lpos, double tol0 = 0.) const override; + insideLoc0(const Vector2D& lpos, double tol0 = 0.) const final override; /// Inside method for the second local parameter /// @@ -132,7 +132,7 @@ public: /// /// @return is a boolean indicating if the position is insideLoc1 virtual bool - insideLoc1(const Vector2D& lpos, double tol1 = 0.) const override; + insideLoc1(const Vector2D& lpos, double tol1 = 0.) const final override; /// Minimal distance to boundary ( > 0 if outside and <=0 if inside) /// @@ -140,7 +140,7 @@ public: /// /// @return is a signed distance parameter virtual double - distanceToBoundary(const Vector2D& lpos) const override; + distanceToBoundary(const Vector2D& lpos) const final override; /// This method returns the radius virtual double @@ -160,7 +160,7 @@ public: /// Output Method for std::ostream virtual std::ostream& - dump(std::ostream& sl) const override; + dump(std::ostream& sl) const final override; private: /// private method for inside check diff --git a/Core/include/ACTS/Surfaces/CylinderSurface.hpp b/Core/include/ACTS/Surfaces/CylinderSurface.hpp index a9272102e4787648211e68146f953007b436836f..c9b4c21fdf0353da437581645f9de71d0395cebd 100644 --- a/Core/include/ACTS/Surfaces/CylinderSurface.hpp +++ b/Core/include/ACTS/Surfaces/CylinderSurface.hpp @@ -93,7 +93,7 @@ public: /// /// @param shift is an optional transform for a shift applied after coping virtual CylinderSurface* - clone(const Transform3D* shift = nullptr) const override; + clone(const Transform3D* shift = nullptr) const final override; /// The binning position method - is overloaded for r-type binning /// @@ -101,7 +101,7 @@ public: /// /// @return is the global position to be used for binning virtual const Vector3D - binningPosition(BinningValue bValue) const override; + binningPosition(BinningValue bValue) const final override; /// Return the measurement frame - this is needed for alignment, in particular /// The measurement frame of a cylinder is the tangential plane at a given @@ -112,7 +112,7 @@ public: /// /// @return rotation matrix that defines the measurement frame virtual const RotationMatrix3D - measurementFrame(const Vector3D& gpos, const Vector3D& mom) const override; + measurementFrame(const Vector3D& gpos, const Vector3D& mom) const final override; /// Return the surface type virtual SurfaceType @@ -129,7 +129,7 @@ public: /// /// @return normal vector at the local position virtual const Vector3D - normal(const Vector2D& lpos) const override; + normal(const Vector2D& lpos) const final override; /// Return method for surface normal information /// @note for a Cylinder a local position is always required for the normal @@ -139,7 +139,7 @@ public: /// /// @return normal vector at the global position virtual const Vector3D - normal(const Vector3D& gpos) const override; + normal(const Vector3D& gpos) const final override; /// Return method for the rotational symmetry axis /// @return the z-Axis of transform @@ -148,7 +148,7 @@ public: /// This method returns the CylinderBounds by reference virtual const CylinderBounds& - bounds() const override; + bounds() const final override; /// Local to global transformation /// @@ -158,7 +158,7 @@ public: virtual void localToGlobal(const Vector2D& lpos, const Vector3D& mom, - Vector3D& gpos) const override; + Vector3D& gpos) const final override; /// Global to local transfomration /// @@ -170,7 +170,7 @@ public: virtual bool globalToLocal(const Vector3D& gpos, const Vector3D& mom, - Vector2D& lpos) const override; + Vector2D& lpos) const final override; /// Check for position on surface /// @@ -180,7 +180,7 @@ public: /// @return is a boolean indicating if the position is on surface virtual bool isOnSurface(const Vector3D& gpos, - const BoundaryCheck& bcheck = true) const override; + const BoundaryCheck& bcheck = true) const final override; /// Fast straight line intersection schema - provides closest intersection /// and (signed) path length @@ -216,7 +216,7 @@ public: intersectionEstimate(const Vector3D& gpos, const Vector3D& dir, bool forceDir = false, - const BoundaryCheck& bcheck = false) const override; + const BoundaryCheck& bcheck = false) const final override; /// Path correction due to incident of the track /// @@ -225,7 +225,7 @@ public: /// /// @return is the correction factor due to incident virtual double - pathCorrection(const Vector3D& gpos, const Vector3D& mom) const override; + pathCorrection(const Vector3D& gpos, const Vector3D& mom) const final override; /// Return method for properly formatted output string virtual std::string diff --git a/Core/include/ACTS/Surfaces/DiamondBounds.hpp b/Core/include/ACTS/Surfaces/DiamondBounds.hpp index 40ea231081ea315f0f84ffc4a85b27527c4f77fa..a6f1dda12588fc484e74d5d9fc80e166d1f03139 100644 --- a/Core/include/ACTS/Surfaces/DiamondBounds.hpp +++ b/Core/include/ACTS/Surfaces/DiamondBounds.hpp @@ -65,7 +65,7 @@ public: /// Virtual constructor DiamondBounds* - clone() const override; + clone() const final override; /// Assignment operator /// @@ -77,7 +77,7 @@ public: /// /// @param sbo are the source bounds for check virtual bool - operator==(const SurfaceBounds& sbo) const override; + operator==(const SurfaceBounds& sbo) const final override; /// Return the bounds type virtual BoundsType @@ -126,7 +126,7 @@ public: /// /// @return boolean indicator for the success of this operation virtual bool - inside(const Vector2D& lpos, const BoundaryCheck& bcheck) const override; + inside(const Vector2D& lpos, const BoundaryCheck& bcheck) const final override; /// This method checks inside bounds in loc0 /// - loc0/loc1 correspond to the natural coordinates of the surface @@ -138,7 +138,7 @@ public: /// /// @return boolean indicator for the success of this operation virtual bool - insideLoc0(const Vector2D& lpos, double tol0 = 0.) const override; + insideLoc0(const Vector2D& lpos, double tol0 = 0.) const final override; /// This method checks inside bounds in loc1 /// - loc0/loc1 correspond to the natural coordinates of the surface @@ -150,7 +150,7 @@ public: /// /// @return boolean indicator for the success of this operation virtual bool - insideLoc1(const Vector2D& lpos, double tol1 = 0.) const override; + insideLoc1(const Vector2D& lpos, double tol1 = 0.) const final override; /// Minimal distance to boundary ( > 0 if outside and <=0 if inside) /// @@ -158,11 +158,11 @@ public: /// /// @return is a signed distance parameter virtual double - distanceToBoundary(const Vector2D& lpos) const override; + distanceToBoundary(const Vector2D& lpos) const final override; /// Return the vertices - or, the points of the extremas virtual const std::vector<Vector2D> - vertices() const override; + vertices() const final override; // Bounding box representation virtual const RectangleBounds& @@ -172,7 +172,7 @@ public: /// /// @param sl is the ostream in which it is dumped virtual std::ostream& - dump(std::ostream& sl) const override; + dump(std::ostream& sl) const final override; private: /// private helper method diff --git a/Core/include/ACTS/Surfaces/DiscBounds.hpp b/Core/include/ACTS/Surfaces/DiscBounds.hpp index d1d3a0b554686306fd034b52087fe03baf827868..69c33867663ac9d21bf9a8ec6ce58cbbd331e357 100644 --- a/Core/include/ACTS/Surfaces/DiscBounds.hpp +++ b/Core/include/ACTS/Surfaces/DiscBounds.hpp @@ -29,8 +29,10 @@ public: /// /// @param sSize is the size of the store DiscBounds(size_t sSize = 0) : SurfaceBounds(sSize) {} + /// Destructor virtual ~DiscBounds() {} + /// Virtual Constructor virtual DiscBounds* clone() const = 0; diff --git a/Core/include/ACTS/Surfaces/DiscSurface.hpp b/Core/include/ACTS/Surfaces/DiscSurface.hpp index 552a4f9c62dd2e902a75fe999a05ac7cd57abd81..bb8c42da42318ffc801a80ab314be397eb0f75b4 100644 --- a/Core/include/ACTS/Surfaces/DiscSurface.hpp +++ b/Core/include/ACTS/Surfaces/DiscSurface.hpp @@ -121,7 +121,7 @@ public: /// /// @param shift the otional transform applied after cloning virtual DiscSurface* - clone(const Transform3D* shift = nullptr) const override; + clone(const Transform3D* shift = nullptr) const final override; /// Return the surface type virtual SurfaceType @@ -149,7 +149,7 @@ public: /// This method returns the bounds by reference const SurfaceBounds& - bounds() const override; + bounds() const final override; /// This method returns true if the GlobalPosition is on the Surface for both, /// within or without check of whether the local position is inside boundaries @@ -161,7 +161,7 @@ public: /// @return bollean that indicates if the position is on surface virtual bool isOnSurface(const Vector3D& gpos, - const BoundaryCheck& bcheck = true) const override; + const BoundaryCheck& bcheck = true) const final override; /// Local to global transformation /// For planar surfaces the momentum is ignroed in the local to global @@ -176,7 +176,7 @@ public: virtual void localToGlobal(const Vector2D& lpos, const Vector3D& mom, - Vector3D& gpos) const override; + Vector3D& gpos) const final override; /// Global to local transformation /// @note the momentum is ignored for Disc surfaces in this calculateion @@ -192,7 +192,7 @@ public: virtual bool globalToLocal(const Vector3D& gpos, const Vector3D& mom, - Vector2D& lpos) const override; + Vector2D& lpos) const final override; /// Special method for DiscSurface : local<->local transformations polar <-> /// cartesian @@ -246,7 +246,7 @@ public: /// /// @return is the correction factor due to incident double - pathCorrection(const Vector3D& gpos, const Vector3D& mom) const override; + pathCorrection(const Vector3D& gpos, const Vector3D& mom) const final override; /// fast straight line intersection schema - standard: provides closest /// intersection and (signed) path length @@ -279,7 +279,7 @@ public: intersectionEstimate(const Vector3D& gpos, const Vector3D& dir, bool forceDir = false, - const BoundaryCheck& bcheck = false) const override; + const BoundaryCheck& bcheck = false) const final override; /// Return properly formatted class name for screen output virtual std::string diff --git a/Core/include/ACTS/Surfaces/DiscTrapezoidalBounds.hpp b/Core/include/ACTS/Surfaces/DiscTrapezoidalBounds.hpp index 8d468ec9b244aa676c5fa34a0078ea3209ef3179..4ce86f47c088c606c088328bf764b6208ead732d 100644 --- a/Core/include/ACTS/Surfaces/DiscTrapezoidalBounds.hpp +++ b/Core/include/ACTS/Surfaces/DiscTrapezoidalBounds.hpp @@ -79,7 +79,7 @@ public: /// Virtual constructor virtual DiscTrapezoidalBounds* - clone() const override; + clone() const final override; /// Return the type - mainly for persistency virtual SurfaceBounds::BoundsType @@ -94,25 +94,25 @@ public: /// @param lpos is the local position to be checked (in polar coordinates) /// @param bcheck is the boundary check directive virtual bool - inside(const Vector2D& lpos, const BoundaryCheck& bcheck = true) const override; + inside(const Vector2D& lpos, const BoundaryCheck& bcheck = true) const final override; /// This method checks inside bounds in loc0 /// @param lpos is the local position to be checked (in polar coordinates) /// @param tol0 is the tolerance applied virtual bool - insideLoc0(const Vector2D& lpos, double tol0 = 0.) const override; + insideLoc0(const Vector2D& lpos, double tol0 = 0.) const final override; /// This method checks inside bounds in loc0 /// @param lpos is the local position to be checked (in polar coordinates) /// @param tol1 is the tolerance applied virtual bool - insideLoc1(const Vector2D& lpos, double tol1 = 0.) const override; + insideLoc1(const Vector2D& lpos, double tol1 = 0.) const final override; /// Minimal distance to boundary /// @param lpos is the local position to be checked (in polar coordinates) /// @return is the minimal distance ( > 0 if outside and <=0 if inside) virtual double - distanceToBoundary(const Vector2D& lpos) const override; + distanceToBoundary(const Vector2D& lpos) const final override; /// This method returns inner radius double @@ -152,7 +152,7 @@ public: /// Output Method for std::ostream virtual std::ostream& - dump(std::ostream& sl) const override; + dump(std::ostream& sl) const final override; private: /// private helper method diff --git a/Core/include/ACTS/Surfaces/EllipseBounds.hpp b/Core/include/ACTS/Surfaces/EllipseBounds.hpp index e570e139b9201dbb8313bdb4998559625957b40e..a23407f8a96c47b382e0810b2031dafa111a873d 100644 --- a/Core/include/ACTS/Surfaces/EllipseBounds.hpp +++ b/Core/include/ACTS/Surfaces/EllipseBounds.hpp @@ -87,7 +87,7 @@ public: /// Virtual constructor virtual EllipseBounds* - clone() const override; + clone() const final override; /// Return the type of the bounds for persistency virtual BoundsType @@ -106,7 +106,7 @@ public: /// /// @return boolean indicator for the success of this operation virtual bool - inside(const Vector2D& lpos, const BoundaryCheck& bcheck) const override; + inside(const Vector2D& lpos, const BoundaryCheck& bcheck) const final override; /// Check for inside first local coordinate /// @@ -115,7 +115,7 @@ public: /// /// @return boolean indicator for the success of this operation virtual bool - insideLoc0(const Vector2D& lpos, double tol0 = 0.) const override; + insideLoc0(const Vector2D& lpos, double tol0 = 0.) const final override; /// Check for inside second local coordinate /// @@ -124,7 +124,7 @@ public: /// /// @return boolean indicator for the success of this operation virtual bool - insideLoc1(const Vector2D& lpos, double tol1 = 0.) const override; + insideLoc1(const Vector2D& lpos, double tol1 = 0.) const final override; /// Minimal distance to boundary ( > 0 if outside and <=0 if inside) /// @@ -132,7 +132,7 @@ public: /// /// @return is a signed distance parameter virtual double - distanceToBoundary(const Vector2D& lpos) const override; + distanceToBoundary(const Vector2D& lpos) const final override; /// This method returns first inner radius double @@ -156,7 +156,7 @@ public: /// Return the vertices - or, the points of the extremas virtual const std::vector<Vector2D> - vertices() const override; + vertices() const final override; // Bounding box representation virtual const RectangleBounds& @@ -168,7 +168,7 @@ public: /// Output Method for std::ostream virtual std::ostream& - dump(std::ostream& sl) const override; + dump(std::ostream& sl) const final override; private: /// private helper function diff --git a/Core/include/ACTS/Surfaces/InfiniteBounds.hpp b/Core/include/ACTS/Surfaces/InfiniteBounds.hpp index 74cbacf4f080469bdab8aa870331d7f29f7d51f3..763da8b34dd5388510ab9bf6cd1be92a67dde8d2 100644 --- a/Core/include/ACTS/Surfaces/InfiniteBounds.hpp +++ b/Core/include/ACTS/Surfaces/InfiniteBounds.hpp @@ -34,7 +34,7 @@ public: /// Return SurfaceBounds type for persistency mainly virtual SurfaceBounds::BoundsType - type() const final + type() const final override { return SurfaceBounds::Boundless; } @@ -45,7 +45,7 @@ public: /// /// @return always true virtual bool - inside(const Vector2D&, const BoundaryCheck&) const final + inside(const Vector2D&, const BoundaryCheck&) const final override { return true; } @@ -56,7 +56,7 @@ public: /// /// @return always true virtual bool - insideLoc0(const Vector2D&, double tol0 = 0.) const final + insideLoc0(const Vector2D&, double tol0 = 0.) const final override { return true; } @@ -67,7 +67,7 @@ public: /// /// @return always true virtual bool - insideLoc1(const Vector2D&, double tol1 = 0.) const final + insideLoc1(const Vector2D&, double tol1 = 0.) const final override { return true; } @@ -76,21 +76,22 @@ public: /// ignores input parameter /// @return always 0. (should be -NaN) virtual double - distanceToBoundary(const Vector2D& pos) const final + distanceToBoundary(const Vector2D& pos) const final override { return 0.; } /// Clone method to complete inherited interface virtual InfiniteBounds* - clone() const final + clone() const final override { return new InfiniteBounds(); } /// Output Method for std::ostream virtual std::ostream& - dump(std::ostream& sl) const final; + dump(std::ostream& sl) const final override; + }; inline std::ostream& diff --git a/Core/include/ACTS/Surfaces/LineBounds.hpp b/Core/include/ACTS/Surfaces/LineBounds.hpp index ffb3f63dc0748d02eaa69d24b0be4884bc5ca821..17f4c62a6554dc531dc714b56619fddd9c277cd5 100644 --- a/Core/include/ACTS/Surfaces/LineBounds.hpp +++ b/Core/include/ACTS/Surfaces/LineBounds.hpp @@ -52,11 +52,11 @@ public: /// Virtual constructor virtual LineBounds* - clone() const override; + clone() const final override; /// Return of the bounds type virtual BoundsType - type() const override + type() const final override { return SurfaceBounds::Line; } @@ -70,7 +70,7 @@ public: /// /// @return boolean indicator for the success of this operation virtual bool - inside(const Vector2D& lpos, const BoundaryCheck& bcheck) const override; + inside(const Vector2D& lpos, const BoundaryCheck& bcheck) const final override; /// Inside check for the bounds object with tolerance /// checks for first coordinate only. @@ -80,7 +80,7 @@ public: /// /// @return boolean indicator for the success of this operation virtual bool - insideLoc0(const Vector2D& lpos, double tol0 = 0.) const override; + insideLoc0(const Vector2D& lpos, double tol0 = 0.) const final override; /// Inside check for the bounds object with tolerance /// checks for second coordinate only. @@ -90,7 +90,7 @@ public: /// /// @return boolean indicator for the success of this operation virtual bool - insideLoc1(const Vector2D& lpos, double tol1 = 0.) const override; + insideLoc1(const Vector2D& lpos, double tol1 = 0.) const final override; /// Minimal distance to boundary ( > 0 if outside and <=0 if inside) /// @@ -98,7 +98,7 @@ public: /// /// @return is a signed distance parameter virtual double - distanceToBoundary(const Vector2D& lpos) const override; + distanceToBoundary(const Vector2D& lpos) const final override; /// This method returns the radius virtual double @@ -112,7 +112,7 @@ public: /// /// @param sl is the ostream to be dumped into virtual std::ostream& - dump(std::ostream& sl) const override; + dump(std::ostream& sl) const final override; private: /// private helper method diff --git a/Core/include/ACTS/Surfaces/LineSurface.hpp b/Core/include/ACTS/Surfaces/LineSurface.hpp index a6ebdea82902720fd81c982ac3c0ff40079dcb95..fd8b7d3631caa64859dd7e31e1bddb2ba97a05a3 100644 --- a/Core/include/ACTS/Surfaces/LineSurface.hpp +++ b/Core/include/ACTS/Surfaces/LineSurface.hpp @@ -90,7 +90,7 @@ public: /// /// return a Vector3D by value const Vector3D - normal(const Vector2D& lpos = s_origin2D) const override; + normal(const Vector2D& lpos = s_origin2D) const final override; /// The binning position is the position calcualted /// for a certain binning type @@ -99,7 +99,7 @@ public: /// /// @return position that can beused for this binning virtual const Vector3D - binningPosition(BinningValue bValue) const final; + binningPosition(BinningValue bValue) const final override; /// Return the measurement frame - this is needed for alignment, in particular /// @@ -112,7 +112,7 @@ public: /// /// @return is a rotation matrix that indicates the measurement frame virtual const RotationMatrix3D - measurementFrame(const Vector3D& gpos, const Vector3D& mom) const override; + measurementFrame(const Vector3D& gpos, const Vector3D& mom) const final override; /// Local to global transformation /// for line surfaces the momentum is used in order to interpret the drift @@ -124,7 +124,7 @@ public: virtual void localToGlobal(const Vector2D& lpos, const Vector3D& mom, - Vector3D& gpos) const override; + Vector3D& gpos) const final override; /// Specified for LineSurface: global to local method without dynamic /// memory allocation @@ -164,7 +164,7 @@ public: virtual bool globalToLocal(const Vector3D& gpos, const Vector3D& mom, - Vector2D& lpos) const override; + Vector2D& lpos) const final override; /// Special method for LineSurface /// provides the Line direction from cache: speedup @@ -212,7 +212,7 @@ public: intersectionEstimate(const Vector3D& gpos, const Vector3D& dir, bool forceDir, - const BoundaryCheck& bcheck = true) const override; + const BoundaryCheck& bcheck = true) const final override; /// the pathCorrection for derived classes with thickness /// is by definition 1 for LineSurfaces @@ -237,11 +237,11 @@ public: /// @return bollean that indicates if the position is on surface virtual bool isOnSurface(const Vector3D& gpos, - const BoundaryCheck& bcheck = true) const override; + const BoundaryCheck& bcheck = true) const final override; /// This method returns the bounds of the Surface by reference */ virtual const SurfaceBounds& - bounds() const final; + bounds() const final override; /// Return properly formatted class name for screen output */ virtual std::string diff --git a/Core/include/ACTS/Surfaces/PerigeeSurface.hpp b/Core/include/ACTS/Surfaces/PerigeeSurface.hpp index e97665715414dfa13be884249ca2ad75c4f8da7b..843747d5f6bedb2673fb5a0978df15aa43aa4a53 100644 --- a/Core/include/ACTS/Surfaces/PerigeeSurface.hpp +++ b/Core/include/ACTS/Surfaces/PerigeeSurface.hpp @@ -61,7 +61,7 @@ public: /// /// @param shift is the potential shift that is applied after cloning virtual PerigeeSurface* - clone(const Transform3D* shift = nullptr) const override; + clone(const Transform3D* shift = nullptr) const final override; /// Assignment operator /// @@ -71,14 +71,14 @@ public: /// Return the surface type virtual SurfaceType - type() const override + type() const final override { return Surface::Perigee; } /// Return properly formatted class name for screen output */ virtual std::string - name() const override + name() const final override { return "Acts::PerigeeSurface"; } @@ -87,7 +87,7 @@ public: /// /// @param sl is the ostream to be dumped into virtual std::ostream& - dump(std::ostream& sl) const override; + dump(std::ostream& sl) const final override; }; inline PerigeeSurface* diff --git a/Core/include/ACTS/Surfaces/RadialBounds.hpp b/Core/include/ACTS/Surfaces/RadialBounds.hpp index 710d3bcfe3f10f76d9a5a0318c6289fa2ea86317..2889fd0d75dc99c63fc621a8455c7cfd0b5bcf68 100644 --- a/Core/include/ACTS/Surfaces/RadialBounds.hpp +++ b/Core/include/ACTS/Surfaces/RadialBounds.hpp @@ -74,7 +74,7 @@ public: /// Implicit constructor virtual RadialBounds* - clone() const override; + clone() const final override; /// Return of sourface bounds virtual SurfaceBounds::BoundsType @@ -90,7 +90,7 @@ public: /// /// @return is a boolean indicating the operation success virtual bool - inside(const Vector2D& lpos, const BoundaryCheck& bcheck) const override; + inside(const Vector2D& lpos, const BoundaryCheck& bcheck) const final override; /// Inside check for the first coordinate /// @@ -99,7 +99,7 @@ public: /// /// @return boolean indicator for the success of this operation virtual bool - insideLoc0(const Vector2D& lpos, double tol0 = 0.) const override; + insideLoc0(const Vector2D& lpos, double tol0 = 0.) const final override; /// Inside check for the bounds object with tolerance /// checks for second coordinate only. @@ -109,7 +109,7 @@ public: /// /// @return boolean indicator for the success of this operation virtual bool - insideLoc1(const Vector2D& lpos, double tol1 = 0.) const override; + insideLoc1(const Vector2D& lpos, double tol1 = 0.) const final override; /// Minimal distance to boundary calculation /// @@ -117,7 +117,7 @@ public: /// /// @return distance to boundary ( > 0 if outside and <=0 if inside) virtual double - distanceToBoundary(const Vector2D& lpos) const override; + distanceToBoundary(const Vector2D& lpos) const final override; /// Return method for inner Radius double @@ -140,7 +140,7 @@ public: /// /// @param sl is the ostream to be dumped into virtual std::ostream& - dump(std::ostream& sl) const override; + dump(std::ostream& sl) const final override; private: /// private helper method for inside diff --git a/Core/include/ACTS/Surfaces/RectangleBounds.hpp b/Core/include/ACTS/Surfaces/RectangleBounds.hpp index bae03dbfa32813a874c97541c50ae8b4caff639e..e33dc0711d3d4b9d35e0616aa2430fd48cf2e890 100644 --- a/Core/include/ACTS/Surfaces/RectangleBounds.hpp +++ b/Core/include/ACTS/Surfaces/RectangleBounds.hpp @@ -59,11 +59,11 @@ public: /// Virtual constructor virtual RectangleBounds* - clone() const override; + clone() const final override; /// Return the type of the bounds for persistency virtual BoundsType - type() const override + type() const final override { return SurfaceBounds::Rectangle; } @@ -77,7 +77,7 @@ public: /// /// @return boolean indicator for the success of this operation virtual bool - inside(const Vector2D& lpos, const BoundaryCheck& bcheck) const override; + inside(const Vector2D& lpos, const BoundaryCheck& bcheck) const final override; /// Inside check for the bounds object with tolerance /// checks for first coordinate only. @@ -87,7 +87,7 @@ public: /// /// @return boolean indicator for the success of this operation virtual bool - insideLoc0(const Vector2D& lpos, double tol0 = 0.) const override; + insideLoc0(const Vector2D& lpos, double tol0 = 0.) const final override; /// Inside check for the bounds object with tolerance /// checks for second coordinate only. @@ -97,7 +97,7 @@ public: /// /// @return boolean indicator for the success of this operation virtual bool - insideLoc1(const Vector2D& lpos, double tol1 = 0.) const override; + insideLoc1(const Vector2D& lpos, double tol1 = 0.) const final override; /// Minimal distance to boundary ( > 0 if outside and <=0 if inside) /// @@ -105,7 +105,7 @@ public: /// /// @return is a signed distance parameter virtual double - distanceToBoundary(const Vector2D& lpos) const override; + distanceToBoundary(const Vector2D& lpos) const final override; /// Return method for the half length in X double @@ -117,17 +117,17 @@ public: /// Return the vertices - or, the points of the extremas virtual const std::vector<Vector2D> - vertices() const final; + vertices() const final override; // Bounding box representation virtual const RectangleBounds& - boundingBox() const final; + boundingBox() const final override; /// Output Method for std::ostream /// /// @param sl is the ostream for the dump virtual std::ostream& - dump(std::ostream& sl) const final; + dump(std::ostream& sl) const final override; private: /// Private helper method diff --git a/Core/include/ACTS/Surfaces/StrawSurface.hpp b/Core/include/ACTS/Surfaces/StrawSurface.hpp index 6204231deb0d0cf76e3bf489b2aa6c6848e9bd24..783b8286e7199a960008806a6763bba92a43b7dc 100644 --- a/Core/include/ACTS/Surfaces/StrawSurface.hpp +++ b/Core/include/ACTS/Surfaces/StrawSurface.hpp @@ -90,18 +90,18 @@ public: /// /// @param shift is an optional shift to be applied virtual StrawSurface* - clone(const Transform3D* shift = nullptr) const override; + clone(const Transform3D* shift = nullptr) const final override; /// Return the surface type virtual SurfaceType - type() const override + type() const final override { return Surface::Straw; } /// Return properly formatted class name for screen output */ virtual std::string - name() const override + name() const final override { return "Acts::StrawSurface"; }; diff --git a/Core/include/ACTS/Surfaces/TrapezoidBounds.hpp b/Core/include/ACTS/Surfaces/TrapezoidBounds.hpp index eed32a050144d90332a54f514dbabd2537160a4b..22d9d64551b97c93f8b69023ec15ed891750b280 100644 --- a/Core/include/ACTS/Surfaces/TrapezoidBounds.hpp +++ b/Core/include/ACTS/Surfaces/TrapezoidBounds.hpp @@ -71,7 +71,7 @@ public: /// Virtual constructor virtual TrapezoidBounds* - clone() const final; + clone() const final override; /// Return the type of the bounds for persistency virtual BoundsType @@ -155,7 +155,7 @@ public: /// /// @return boolean indicator for the success of this operation virtual bool - inside(const Vector2D& lpos, const BoundaryCheck& bcheck) const final; + inside(const Vector2D& lpos, const BoundaryCheck& bcheck) const final override; /// This method checks inside bounds in loc0 /// @note loc0/loc1 correspond to the natural coordinates of the surface @@ -167,7 +167,7 @@ public: /// /// @return boolean indicator for the success of this operation virtual bool - insideLoc0(const Vector2D& lpos, double tol0 = 0.) const final; + insideLoc0(const Vector2D& lpos, double tol0 = 0.) const final override; /// This method checks inside bounds in loc0 /// @note loc0/loc1 correspond to the natural coordinates of the surface @@ -179,7 +179,7 @@ public: /// /// @return boolean indicator for the success of this operation virtual bool - insideLoc1(const Vector2D& lpos, double tol1 = 0.) const final; + insideLoc1(const Vector2D& lpos, double tol1 = 0.) const final override; /// Minimal distance to boundary ( > 0 if outside and <=0 if inside) /// @@ -187,21 +187,21 @@ public: /// /// @return is a signed distance parameter virtual double - distanceToBoundary(const Vector2D& lpos) const final; + distanceToBoundary(const Vector2D& lpos) const final override; /// Return the vertices - or, the points of the extremas virtual const std::vector<Vector2D> - vertices() const final; + vertices() const final override; // Bounding box representation virtual const RectangleBounds& - boundingBox() const final; + boundingBox() const final override; /// Output Method for std::ostream /// /// @param sl is the ostream to be dumped into virtual std::ostream& - dump(std::ostream& sl) const final; + dump(std::ostream& sl) const final override; private: /// private helper method for inside check diff --git a/Core/include/ACTS/Surfaces/TriangleBounds.hpp b/Core/include/ACTS/Surfaces/TriangleBounds.hpp index 18b24d37fc8f363a746e51eb12f453c8b666cfc5..f7fdd26701b0e665dc350563b405a4251e833aa1 100644 --- a/Core/include/ACTS/Surfaces/TriangleBounds.hpp +++ b/Core/include/ACTS/Surfaces/TriangleBounds.hpp @@ -68,7 +68,7 @@ public: /// Virtual constructor virtual TriangleBounds* - clone() const final; + clone() const final override; /// Return the type of the bounds for persistency virtual BoundsType @@ -85,7 +85,7 @@ public: /// /// @return boolean indicator for the success of this operation virtual bool - inside(const Vector2D& lpos, const BoundaryCheck& bcheck) const final; + inside(const Vector2D& lpos, const BoundaryCheck& bcheck) const final override; /// This method checks if the provided local coordinate 1 is inside the /// surface bounds @@ -95,7 +95,7 @@ public: /// /// @return boolean indicator for the success of this operation virtual bool - insideLoc0(const Vector2D& lpos, double tol0 = 0.) const final; + insideLoc0(const Vector2D& lpos, double tol0 = 0.) const final override; /// This method checks if the provided local coordinate 2 is inside the /// surface bounds @@ -105,7 +105,7 @@ public: /// /// @return boolean indicator for the success of this operation virtual bool - insideLoc1(const Vector2D& lpos, double tol1 = 0.) const final; + insideLoc1(const Vector2D& lpos, double tol1 = 0.) const final override; /// Minimal distance to boundary ( > 0 if outside and <=0 if inside) /// @@ -113,21 +113,21 @@ public: /// /// @return is a signed distance parameter virtual double - distanceToBoundary(const Vector2D& lpos) const final; + distanceToBoundary(const Vector2D& lpos) const final override; /// This method returns the coordinates of vertices const std::vector<Vector2D> - vertices() const final; + vertices() const final override; // Bounding box representation virtual const RectangleBounds& - boundingBox() const final; + boundingBox() const final override; /// Output Method for std::ostream /// /// @param sl is the ostream to be dumped into virtual std::ostream& - dump(std::ostream& sl) const final; + dump(std::ostream& sl) const final override; private: /// Private helper method