From 837b8fd2898c2f9c58c0cde195f1ed0f63a41ac3 Mon Sep 17 00:00:00 2001 From: sss Date: Thu, 16 Oct 2025 11:05:36 -0400 Subject: [PATCH 1/2] Fix some clang warnings. Explicitly request default copy ctor/assignment in THelicalTrack/TVTrack. Since these have user-defined dtors, they are otherwise deprecated. Fixes warnings seen in building k4Reco with clang. --- src/geomlib/THelicalTrack.h | 3 +++ src/geomlib/TVTrack.h | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/geomlib/THelicalTrack.h b/src/geomlib/THelicalTrack.h index ebfa561..ba82875 100644 --- a/src/geomlib/THelicalTrack.h +++ b/src/geomlib/THelicalTrack.h @@ -69,6 +69,9 @@ class THelicalTrack : public TVTrack { Double_t b, const TTrackFrame &frame); + THelicalTrack(const THelicalTrack&) = default; + THelicalTrack& operator=(const THelicalTrack&) = default; + virtual ~THelicalTrack() {} // Utility methods diff --git a/src/geomlib/TVTrack.h b/src/geomlib/TVTrack.h index 8bc8bd9..48c74df 100644 --- a/src/geomlib/TVTrack.h +++ b/src/geomlib/TVTrack.h @@ -62,6 +62,9 @@ class TVTrack : public TVCurve { Double_t b, const TTrackFrame &f); + TVTrack(const TVTrack&) = default; + TVTrack& operator=(const TVTrack&) = default; + virtual ~TVTrack() {} // Utility methods From 3730c9e948a39420c1e301b63019a0efdc0a830f Mon Sep 17 00:00:00 2001 From: Juan Miguel Carceller Date: Sat, 11 Jul 2026 10:10:29 +0200 Subject: [PATCH 2/2] Apply Rule of Five: add move ctors/assign and uncomment copy assign --- src/geomlib/THelicalTrack.h | 2 ++ src/geomlib/TVTrack.h | 2 ++ src/kaltracklib/TTrackFrame.h | 5 ++++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/geomlib/THelicalTrack.h b/src/geomlib/THelicalTrack.h index ba82875..dcdfcce 100644 --- a/src/geomlib/THelicalTrack.h +++ b/src/geomlib/THelicalTrack.h @@ -71,6 +71,8 @@ class THelicalTrack : public TVTrack { THelicalTrack(const THelicalTrack&) = default; THelicalTrack& operator=(const THelicalTrack&) = default; + THelicalTrack(THelicalTrack&&) = default; + THelicalTrack& operator=(THelicalTrack&&) = default; virtual ~THelicalTrack() {} diff --git a/src/geomlib/TVTrack.h b/src/geomlib/TVTrack.h index 48c74df..98653ae 100644 --- a/src/geomlib/TVTrack.h +++ b/src/geomlib/TVTrack.h @@ -64,6 +64,8 @@ class TVTrack : public TVCurve { TVTrack(const TVTrack&) = default; TVTrack& operator=(const TVTrack&) = default; + TVTrack(TVTrack&&) = default; + TVTrack& operator=(TVTrack&&) = default; virtual ~TVTrack() {} diff --git a/src/kaltracklib/TTrackFrame.h b/src/kaltracklib/TTrackFrame.h index 0771568..f1cd93d 100644 --- a/src/kaltracklib/TTrackFrame.h +++ b/src/kaltracklib/TTrackFrame.h @@ -35,11 +35,14 @@ class TTrackFrame { //Copy constructor TTrackFrame(const TTrackFrame &orig); + TTrackFrame(TTrackFrame&&) = default; + TTrackFrame& operator=(TTrackFrame&&) = default; + //Build frame by last frame, shift vector and B field. The B field determines local //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() {}