From 812bc47d9907ade382ca625c6144f8d08cb1ec56 Mon Sep 17 00:00:00 2001 From: scott snyder Date: Wed, 12 Feb 2020 11:05:00 -0500 Subject: [PATCH 1/4] Fix a number of compilation warnings: - The TEveTrackPropagator base of TRKTrack does not have a public copy ctor. So we should delete the copy ctor in the derived class, not default it. - Similarly, give TTrackFrame and TKalMatrix a explicitly-defaulted assignment operators, since they have copy constructors. - Explicitly mark fallthrough in a switch statement. - Avoid warnings about hiding virtual functions from a base class. --- src/geomlib/TRKTrack.h | 2 +- src/geomlib/TRungeKuttaTrack.h | 10 +++++++++- src/geomlib/TTube.cxx | 1 + src/kallib/TKalMatrix.h | 2 ++ src/kaltracklib/TKalTrackState.h | 4 ++++ src/kaltracklib/TTrackFrame.h | 2 +- 6 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/geomlib/TRKTrack.h b/src/geomlib/TRKTrack.h index 4e0c0d2..e462610 100644 --- a/src/geomlib/TRKTrack.h +++ b/src/geomlib/TRKTrack.h @@ -34,7 +34,7 @@ class TRKTrack : public TEveTrackPropagator { // Ctors and Dtor TRKTrack(Double_t chg, TVector3 x, TVector3 p); TRKTrack(const TRKTrack&); - TRKTrack& operator=(const TRKTrack&) = default ; + TRKTrack& operator=(const TRKTrack&) = delete ; virtual ~TRKTrack() {} diff --git a/src/geomlib/TRungeKuttaTrack.h b/src/geomlib/TRungeKuttaTrack.h index e74febe..4118b1a 100644 --- a/src/geomlib/TRungeKuttaTrack.h +++ b/src/geomlib/TRungeKuttaTrack.h @@ -70,7 +70,7 @@ class TRungeKuttaTrack : public THelicalTrack { void SetFromTrack(THelicalTrack& heltrack); // Utility methods - virtual void MoveTo(const TVector3 &globalPivot, + virtual void MoveTo(const TVector3 &globalPivot, Double_t &step, TMatrixD *FPtr = 0, TMatrixD *F12Ptr = 0, @@ -80,6 +80,14 @@ class TRungeKuttaTrack : public THelicalTrack { Double_t &step, TKalMatrix &FPtr); + // Do not allow calls to the base class method. + virtual void MoveTo(const TVector3 &, + Double_t &, + TMatrixD *, + TMatrixD *, + Bool_t ) + { std::abort(); } + virtual TVector3 CalcXAt (Double_t h) const; virtual TMatrixD CalcDxDa (Double_t h) const; virtual TMatrixD CalcDxDphi(Double_t h) const; diff --git a/src/geomlib/TTube.cxx b/src/geomlib/TTube.cxx index e27d638..61988c8 100644 --- a/src/geomlib/TTube.cxx +++ b/src/geomlib/TTube.cxx @@ -117,6 +117,7 @@ Int_t TTube::CalcXingPointWith(const TVTrack &hel, } } if (IsOnBarrel(xx)) return 1; + [[fallthrough]]; default: // track hitting end cap part if (TMath::Abs(tnl) < 0.1) { return 0; diff --git a/src/kallib/TKalMatrix.h b/src/kallib/TKalMatrix.h index 7058f53..680364d 100644 --- a/src/kallib/TKalMatrix.h +++ b/src/kallib/TKalMatrix.h @@ -48,6 +48,8 @@ class TKalMatrix : public TMatrixD { TKalMatrix(const TRotation &r); + TKalMatrix& operator= (const TKalMatrix &orig) = default; + virtual ~TKalMatrix() {} // virtual void DebugPrint() const { DebugPrint( "", 5 , std::cerr ) ; } diff --git a/src/kaltracklib/TKalTrackState.h b/src/kaltracklib/TKalTrackState.h index 493f444..64aff26 100644 --- a/src/kaltracklib/TKalTrackState.h +++ b/src/kaltracklib/TKalTrackState.h @@ -60,6 +60,10 @@ class TKalTrackState : public TVKalState { TKalMatrix &F, TKalMatrix &Q) const; + virtual void DebugPrint(std::ostream& os, Option_t *, Int_t ) const + { DebugPrint(os); } + virtual void DebugPrint(Option_t *, Int_t ) const + { DebugPrint(); } void DebugPrint() const ; void DebugPrint( std::ostream& os ) const; diff --git a/src/kaltracklib/TTrackFrame.h b/src/kaltracklib/TTrackFrame.h index 0771568..84bec0b 100644 --- a/src/kaltracklib/TTrackFrame.h +++ b/src/kaltracklib/TTrackFrame.h @@ -39,7 +39,7 @@ class TTrackFrame { //rotation matrix. TTrackFrame(const TTrackFrame &lastFrame, const TVector3 &v, const TVector3 &b); - //TTrackFrame& operator=( const TTrackFrame& frame ); + TTrackFrame& operator=( const TTrackFrame& frame ) = default; virtual ~TTrackFrame() {} From b140e52664dc96f3ad4650190cf4350c9bf81022 Mon Sep 17 00:00:00 2001 From: Juan Miguel Carceller Date: Mon, 13 Jul 2026 10:58:31 +0200 Subject: [PATCH 2/4] Follow the rule of five for TKalMatrix --- src/kallib/TKalMatrix.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/kallib/TKalMatrix.h b/src/kallib/TKalMatrix.h index 680364d..57efb82 100644 --- a/src/kallib/TKalMatrix.h +++ b/src/kallib/TKalMatrix.h @@ -50,6 +50,9 @@ class TKalMatrix : public TMatrixD { TKalMatrix& operator= (const TKalMatrix &orig) = default; + TKalMatrix(TKalMatrix&&) = delete; + TKalMatrix& operator= (TKalMatrix&&) = delete; + virtual ~TKalMatrix() {} // virtual void DebugPrint() const { DebugPrint( "", 5 , std::cerr ) ; } From 8210bc427e0684bcceadd0981233b8cdaff92883 Mon Sep 17 00:00:00 2001 From: Juan Miguel Carceller Date: Mon, 13 Jul 2026 11:01:32 +0200 Subject: [PATCH 3/4] Use default instead of delete --- src/kallib/TKalMatrix.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/kallib/TKalMatrix.h b/src/kallib/TKalMatrix.h index 57efb82..6df98f9 100644 --- a/src/kallib/TKalMatrix.h +++ b/src/kallib/TKalMatrix.h @@ -50,8 +50,8 @@ class TKalMatrix : public TMatrixD { TKalMatrix& operator= (const TKalMatrix &orig) = default; - TKalMatrix(TKalMatrix&&) = delete; - TKalMatrix& operator= (TKalMatrix&&) = delete; + TKalMatrix(TKalMatrix&&) = default; + TKalMatrix& operator= (TKalMatrix&&) = default; virtual ~TKalMatrix() {} From d251def65c192ee1fbc41b948d5e028bfa4f9fa0 Mon Sep 17 00:00:00 2001 From: Juan Miguel Carceller Date: Mon, 13 Jul 2026 11:10:04 +0200 Subject: [PATCH 4/4] Leave style as it was originally --- src/geomlib/TRungeKuttaTrack.h | 2 +- src/kallib/TKalMatrix.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/geomlib/TRungeKuttaTrack.h b/src/geomlib/TRungeKuttaTrack.h index 4118b1a..c334e3a 100644 --- a/src/geomlib/TRungeKuttaTrack.h +++ b/src/geomlib/TRungeKuttaTrack.h @@ -70,7 +70,7 @@ class TRungeKuttaTrack : public THelicalTrack { void SetFromTrack(THelicalTrack& heltrack); // Utility methods - virtual void MoveTo(const TVector3 &globalPivot, + virtual void MoveTo(const TVector3 &globalPivot, Double_t &step, TMatrixD *FPtr = 0, TMatrixD *F12Ptr = 0, diff --git a/src/kallib/TKalMatrix.h b/src/kallib/TKalMatrix.h index 6df98f9..e9a4de8 100644 --- a/src/kallib/TKalMatrix.h +++ b/src/kallib/TKalMatrix.h @@ -48,10 +48,10 @@ class TKalMatrix : public TMatrixD { TKalMatrix(const TRotation &r); - TKalMatrix& operator= (const TKalMatrix &orig) = default; + TKalMatrix& operator=(const TKalMatrix &orig) = default; TKalMatrix(TKalMatrix&&) = default; - TKalMatrix& operator= (TKalMatrix&&) = default; + TKalMatrix& operator=(TKalMatrix&&) = default; virtual ~TKalMatrix() {}