From e107f9ca6b7e5ed48170f16aced206a8f9cfb24d Mon Sep 17 00:00:00 2001 From: Susumu Oda <susumu.oda@cern.ch> Date: Sun, 17 Feb 2019 20:24:37 +0000 Subject: [PATCH] Remove const_cast in CompetingPixel/SCT_ClustersOnTrackTool --- .../CompetingPixelClustersOnTrackTool.h | 6 +++--- .../CompetingSCT_ClustersOnTrackTool.h | 6 +++--- .../CompetingTRT_DriftCirclesOnTrackTool.h | 6 +++--- .../ICompetingPixelClustersOnTrackCreator.h | 6 +++--- .../ICompetingSCT_ClustersOnTrackCreator.h | 6 +++--- .../ICompetingTRT_DriftCirclesOnTrackCreator.h | 4 ++-- .../src/CompetingPixelClustersOnTrackTool.cxx | 14 +++++++------- .../src/CompetingSCT_ClustersOnTrackTool.cxx | 14 +++++++------- .../src/CompetingTRT_DriftCirclesOnTrackTool.cxx | 4 ++-- .../src/MuonCompetingClustersOnTrackCreator.h | 4 ++-- .../src/TriggerChamberClusterOnTrackCreator.h | 4 ++-- .../IMuonCompetingClustersOnTrackCreator.h | 2 +- .../src/DeterministicAnnealingFilter.cxx | 14 ++++++++++---- .../src/KalmanPiecewiseAnnealingFilter.cxx | 7 +++++-- .../CompetingRIOsOnTrackTool.h | 6 +++--- .../ICompetingRIOsOnTrackTool.h | 2 +- .../src/CompetingRIOsOnTrackTool.cxx | 6 +++--- .../TrkToolInterfaces/ICompetingRIOsOnTrackTool.h | 8 ++++---- 18 files changed, 64 insertions(+), 55 deletions(-) diff --git a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/CompetingPixelClustersOnTrackTool.h b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/CompetingPixelClustersOnTrackTool.h index 88475aa2de5..6f7e6fe1cec 100755 --- a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/CompetingPixelClustersOnTrackTool.h +++ b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/CompetingPixelClustersOnTrackTool.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ /////////////////////////////////////////////////////////////////// @@ -103,7 +103,7 @@ public: be needed when the predicted TrackParameters have changed rapidly) */ virtual void updateCompetingROT( //const InDet::CompetingPixelClustersOnTrack&, - const Trk::CompetingRIOsOnTrack&, + Trk::CompetingRIOsOnTrack&, const Trk::TrackParameters&, const Trk::IWeightCalculator::AnnealingFactor // const bool recreateROTs=false @@ -117,7 +117,7 @@ public: = Trk::TrackState::unidentified) const; virtual StatusCode updateCompetingROTprobs( - const Trk::CompetingRIOsOnTrack&, + Trk::CompetingRIOsOnTrack&, const std::vector< Trk::CompetingRIOsOnTrack::AssignmentProb >& ) const; diff --git a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/CompetingSCT_ClustersOnTrackTool.h b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/CompetingSCT_ClustersOnTrackTool.h index 8586c71010a..627fe4aa2a9 100755 --- a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/CompetingSCT_ClustersOnTrackTool.h +++ b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/CompetingSCT_ClustersOnTrackTool.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ /////////////////////////////////////////////////////////////////// @@ -107,7 +107,7 @@ public: be needed when the predicted TrackParameters have changed rapidly) */ virtual void updateCompetingROT( //const InDet::CompetingSCT_ClustersOnTrack&, - const Trk::CompetingRIOsOnTrack&, + Trk::CompetingRIOsOnTrack&, const Trk::TrackParameters&, const Trk::IWeightCalculator::AnnealingFactor // const bool recreateROTs=false @@ -120,7 +120,7 @@ public: const Trk::TrackState::MeasurementType = Trk::TrackState::unidentified) const; virtual StatusCode updateCompetingROTprobs( - const Trk::CompetingRIOsOnTrack&, + Trk::CompetingRIOsOnTrack&, const std::vector< Trk::CompetingRIOsOnTrack::AssignmentProb >& ) const; diff --git a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/CompetingTRT_DriftCirclesOnTrackTool.h b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/CompetingTRT_DriftCirclesOnTrackTool.h index 6399e59e514..c424cd21dcf 100755 --- a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/CompetingTRT_DriftCirclesOnTrackTool.h +++ b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/CompetingTRT_DriftCirclesOnTrackTool.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ /////////////////////////////////////////////////////////////////// @@ -114,7 +114,7 @@ public: be needed when the predicted TrackParameters have changed rapidly) */ virtual void updateCompetingROT( //const InDet::CompetingTRT_DriftCirclesOnTrack&, - const Trk::CompetingRIOsOnTrack&, + Trk::CompetingRIOsOnTrack&, const Trk::TrackParameters&, const Trk::IWeightCalculator::AnnealingFactor // const bool recreateROTs=false @@ -135,7 +135,7 @@ public: = Trk::TrackState::unidentified) const; // virtual StatusCode updateCompetingROT( -// const Trk::CompetingRIOsOnTrack&, +// Trk::CompetingRIOsOnTrack&, // const std::vector< Trk::CompetingRIOsOnTrack::AssignmentProb >& // ) const; diff --git a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/ICompetingPixelClustersOnTrackCreator.h b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/ICompetingPixelClustersOnTrackCreator.h index 24145905571..05a801af2c0 100755 --- a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/ICompetingPixelClustersOnTrackCreator.h +++ b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/ICompetingPixelClustersOnTrackCreator.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ /////////////////////////////////////////////////////////////////// @@ -72,7 +72,7 @@ public: - Trk::CompetingRIOsOnTrack is used because of interface reasons (common interface Trk::ICompetingRIOsOnTrackTool)*/ virtual void updateCompetingROT( - const Trk::CompetingRIOsOnTrack&, + Trk::CompetingRIOsOnTrack&, const Trk::TrackParameters&, const Trk::IWeightCalculator::AnnealingFactor // const bool recreateROTs=false @@ -82,7 +82,7 @@ public: and effective measurements of a Trk::CompetingRIOsOnTrack using a given set of assignment probabilities */ virtual StatusCode updateCompetingROTprobs( - const Trk::CompetingRIOsOnTrack&, + Trk::CompetingRIOsOnTrack&, const std::vector< Trk::CompetingRIOsOnTrack::AssignmentProb >& ) const = 0; diff --git a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/ICompetingSCT_ClustersOnTrackCreator.h b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/ICompetingSCT_ClustersOnTrackCreator.h index 69375710798..ebb258d7be3 100755 --- a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/ICompetingSCT_ClustersOnTrackCreator.h +++ b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/ICompetingSCT_ClustersOnTrackCreator.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ /////////////////////////////////////////////////////////////////// @@ -73,7 +73,7 @@ public: (common interface Trk::ICompetingRIOsOnTrackTool)*/ virtual void updateCompetingROT( //const InDet::CompetingSCT_ClustersOnTrack&, - const Trk::CompetingRIOsOnTrack&, + Trk::CompetingRIOsOnTrack&, const Trk::TrackParameters&, const Trk::IWeightCalculator::AnnealingFactor // const bool recreateROTs=false @@ -83,7 +83,7 @@ public: and effective measurements of a Trk::CompetingRIOsOnTrack using a given set of assignment probabilities */ virtual StatusCode updateCompetingROTprobs( - const Trk::CompetingRIOsOnTrack&, + Trk::CompetingRIOsOnTrack&, const std::vector< Trk::CompetingRIOsOnTrack::AssignmentProb >& ) const = 0; diff --git a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/ICompetingTRT_DriftCirclesOnTrackCreator.h b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/ICompetingTRT_DriftCirclesOnTrackCreator.h index 6e9fc65a9f5..2b05d7df72c 100755 --- a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/ICompetingTRT_DriftCirclesOnTrackCreator.h +++ b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/ICompetingTRT_DriftCirclesOnTrackCreator.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ /////////////////////////////////////////////////////////////////// @@ -71,7 +71,7 @@ public: (common interface Trk::ICompetingRIOsOnTrackTool)*/ virtual void updateCompetingROT( //const InDet::CompetingTRT_DriftCirclesOnTrack&, - const Trk::CompetingRIOsOnTrack&, + Trk::CompetingRIOsOnTrack&, const Trk::TrackParameters&, const Trk::IWeightCalculator::AnnealingFactor // const bool recreateROTs=false diff --git a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingPixelClustersOnTrackTool.cxx b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingPixelClustersOnTrackTool.cxx index 18b6eef8191..8e8da7b4e95 100755 --- a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingPixelClustersOnTrackTool.cxx +++ b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingPixelClustersOnTrackTool.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ /////////////////////////////////////////////////////////////////// @@ -271,7 +271,7 @@ const InDet::CompetingPixelClustersOnTrack* InDet::CompetingPixelClustersOnTrack /////////////////////////////////////////////////////////////////// void InDet::CompetingPixelClustersOnTrackTool::updateCompetingROT( //const InDet::CompetingPixelClustersOnTrack& compROT, - const Trk::CompetingRIOsOnTrack& baseCompROT, + Trk::CompetingRIOsOnTrack& baseCompROT, const Trk::TrackParameters& trkPar, const Trk::IWeightCalculator::AnnealingFactor beta //const bool recreateROTs=false @@ -282,7 +282,7 @@ void InDet::CompetingPixelClustersOnTrackTool::updateCompetingROT( ATH_MSG_DEBUG("********* in updateCompetingROT() **********"); // cast baseCompROT to CompPixelClusterOnTrack: - const InDet::CompetingPixelClustersOnTrack* compROT = dynamic_cast< const InDet::CompetingPixelClustersOnTrack* >(&baseCompROT); + InDet::CompetingPixelClustersOnTrack* compROT = dynamic_cast< InDet::CompetingPixelClustersOnTrack* >(&baseCompROT); if (!compROT) { ATH_MSG_ERROR("Given CompetingRIOsOnTrack is not a CompetingPixelClustersOnTrack!"); ATH_MSG_ERROR("Update of assignment probabilities aborted!!!"); @@ -393,7 +393,7 @@ void InDet::CompetingPixelClustersOnTrackTool::updateCompetingROT( // delete global position (will be recreated by the competingROT itself) delete compROT->m_globalPosition; compROT->m_globalPosition = 0; // very important, otherwise segfault... - const_cast<InDet::CompetingPixelClustersOnTrack*>(compROT)->setLocalParametersAndErrorMatrix(); + compROT->setLocalParametersAndErrorMatrix(); if (msgLvl(MSG::DEBUG)) testCompetingROT(*compROT); } @@ -508,10 +508,10 @@ void InDet::CompetingPixelClustersOnTrackTool::testCompetingROT(const InDet::Com } StatusCode InDet::CompetingPixelClustersOnTrackTool::updateCompetingROTprobs( - const Trk::CompetingRIOsOnTrack& baseCompROT, + Trk::CompetingRIOsOnTrack& baseCompROT, const std::vector< Trk::CompetingRIOsOnTrack::AssignmentProb >& assignmentProbs ) const { - const InDet::CompetingPixelClustersOnTrack* compROT = dynamic_cast< const InDet::CompetingPixelClustersOnTrack* >(&baseCompROT); + InDet::CompetingPixelClustersOnTrack* compROT = dynamic_cast< InDet::CompetingPixelClustersOnTrack* >(&baseCompROT); if (!compROT) { ATH_MSG_ERROR("Given CompetingRIOsOnTrack is not a CompetingPixelClustersOnTrack!"); ATH_MSG_ERROR("Update of assignment probabilities aborted!!!"); @@ -546,7 +546,7 @@ StatusCode InDet::CompetingPixelClustersOnTrackTool::updateCompetingROTprobs( delete compROT->m_globalPosition; compROT->m_globalPosition = 0; // very important, otherwise segfault... // recalc localParameters - const_cast<InDet::CompetingPixelClustersOnTrack*>(compROT)->setLocalParametersAndErrorMatrix(); + compROT->setLocalParametersAndErrorMatrix(); if (msgLvl(MSG::DEBUG)) testCompetingROT(*compROT); return StatusCode::SUCCESS; diff --git a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingSCT_ClustersOnTrackTool.cxx b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingSCT_ClustersOnTrackTool.cxx index 82425800a90..4c03a8418bc 100755 --- a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingSCT_ClustersOnTrackTool.cxx +++ b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingSCT_ClustersOnTrackTool.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ /////////////////////////////////////////////////////////////////// @@ -268,7 +268,7 @@ const InDet::CompetingSCT_ClustersOnTrack* InDet::CompetingSCT_ClustersOnTrackTo /////////////////////////////////////////////////////////////////// void InDet::CompetingSCT_ClustersOnTrackTool::updateCompetingROT( //const InDet::CompetingSCT_ClustersOnTrack& compROT, - const Trk::CompetingRIOsOnTrack& baseCompROT, + Trk::CompetingRIOsOnTrack& baseCompROT, const Trk::TrackParameters& trkPar, const Trk::IWeightCalculator::AnnealingFactor beta //const bool recreateROTs=false @@ -279,7 +279,7 @@ void InDet::CompetingSCT_ClustersOnTrackTool::updateCompetingROT( ATH_MSG_DEBUG("********* in updateCompetingROT() **********"); // cast baseCompROT to CompSCT_ClusterOnTrack: - const InDet::CompetingSCT_ClustersOnTrack* compROT = dynamic_cast< const InDet::CompetingSCT_ClustersOnTrack* >(&baseCompROT); + InDet::CompetingSCT_ClustersOnTrack* compROT = dynamic_cast< InDet::CompetingSCT_ClustersOnTrack* >(&baseCompROT); if (!compROT) { ATH_MSG_WARNING("Given CompetingRIOsOnTrack is not a CompetingSCT_ClustersOnTrack!"); ATH_MSG_WARNING("Update of assignment probabilities aborted!!!"); @@ -389,7 +389,7 @@ void InDet::CompetingSCT_ClustersOnTrackTool::updateCompetingROT( delete compROT->m_globalPosition; compROT->m_globalPosition = 0; // very important, otherwise segfault... // delete localParameters - const_cast< InDet::CompetingSCT_ClustersOnTrack* >(compROT)->setLocalParametersAndErrorMatrix(); + compROT->setLocalParametersAndErrorMatrix(); if (msgLvl(MSG::VERBOSE)) testCompetingROT(*compROT); } @@ -504,10 +504,10 @@ void InDet::CompetingSCT_ClustersOnTrackTool::testCompetingROT(const InDet::Comp } StatusCode InDet::CompetingSCT_ClustersOnTrackTool::updateCompetingROTprobs( - const Trk::CompetingRIOsOnTrack& baseCompROT, + Trk::CompetingRIOsOnTrack& baseCompROT, const std::vector< Trk::CompetingRIOsOnTrack::AssignmentProb >& assignmentProbs ) const { - const InDet::CompetingSCT_ClustersOnTrack* compROT = dynamic_cast< const InDet::CompetingSCT_ClustersOnTrack* >(&baseCompROT); + InDet::CompetingSCT_ClustersOnTrack* compROT = dynamic_cast< InDet::CompetingSCT_ClustersOnTrack* >(&baseCompROT); if (!compROT) { ATH_MSG_ERROR("Given CompetingRIOsOnTrack is not a CompetingPixelClustersOnTrack!"); ATH_MSG_ERROR("Update of assignment probabilities aborted!!!"); @@ -542,7 +542,7 @@ StatusCode InDet::CompetingSCT_ClustersOnTrackTool::updateCompetingROTprobs( delete compROT->m_globalPosition; compROT->m_globalPosition = 0; // very important, otherwise segfault... // recalc localParameters - const_cast< InDet::CompetingSCT_ClustersOnTrack* >(compROT)->setLocalParametersAndErrorMatrix(); + compROT->setLocalParametersAndErrorMatrix(); if (msgLvl(MSG::DEBUG)) testCompetingROT(*compROT); return StatusCode::SUCCESS; } diff --git a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingTRT_DriftCirclesOnTrackTool.cxx b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingTRT_DriftCirclesOnTrackTool.cxx index 4397e43baf4..98a6875369b 100755 --- a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingTRT_DriftCirclesOnTrackTool.cxx +++ b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingTRT_DriftCirclesOnTrackTool.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ /////////////////////////////////////////////////////////////////// @@ -462,7 +462,7 @@ const InDet::CompetingTRT_DriftCirclesOnTrack* InDet::CompetingTRT_DriftCirclesO /////////////////////////////////////////////////////////////////// void InDet::CompetingTRT_DriftCirclesOnTrackTool::updateCompetingROT( //const InDet::CompetingTRT_DriftCirclesOnTrack& compROT, - const Trk::CompetingRIOsOnTrack& baseCompROT, + Trk::CompetingRIOsOnTrack& baseCompROT, const Trk::TrackParameters& trkPar, const Trk::IWeightCalculator::AnnealingFactor beta //const bool recreateROTs=false diff --git a/MuonSpectrometer/MuonReconstruction/MuonRIO_OnTrackCreators/MuonCompetingClustersOnTrackCreator/src/MuonCompetingClustersOnTrackCreator.h b/MuonSpectrometer/MuonReconstruction/MuonRIO_OnTrackCreators/MuonCompetingClustersOnTrackCreator/src/MuonCompetingClustersOnTrackCreator.h index 863461ac176..7e1f06253f3 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonRIO_OnTrackCreators/MuonCompetingClustersOnTrackCreator/src/MuonCompetingClustersOnTrackCreator.h +++ b/MuonSpectrometer/MuonReconstruction/MuonRIO_OnTrackCreators/MuonCompetingClustersOnTrackCreator/src/MuonCompetingClustersOnTrackCreator.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ /////////////////////////////////////////////////////////////////// @@ -69,7 +69,7 @@ namespace Muon { /** method for the update of the assignment probabilities and effective measurements of an Muon::CompetingMuonClustersOnTrack using a new track prediction. Not implemented for now!! */ - void updateCompetingROT( const Trk::CompetingRIOsOnTrack&, + void updateCompetingROT( Trk::CompetingRIOsOnTrack&, const Trk::TrackParameters&, const Trk::IWeightCalculator::AnnealingFactor ) const { diff --git a/MuonSpectrometer/MuonReconstruction/MuonRIO_OnTrackCreators/MuonCompetingClustersOnTrackCreator/src/TriggerChamberClusterOnTrackCreator.h b/MuonSpectrometer/MuonReconstruction/MuonRIO_OnTrackCreators/MuonCompetingClustersOnTrackCreator/src/TriggerChamberClusterOnTrackCreator.h index aa291359831..7dc870ab277 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonRIO_OnTrackCreators/MuonCompetingClustersOnTrackCreator/src/TriggerChamberClusterOnTrackCreator.h +++ b/MuonSpectrometer/MuonReconstruction/MuonRIO_OnTrackCreators/MuonCompetingClustersOnTrackCreator/src/TriggerChamberClusterOnTrackCreator.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ ///////////////////////////////////////////////////////////////////// @@ -68,7 +68,7 @@ public: /** method for the update of the assignment probabilities and effective measurements of an Muon::CompetingMuonClustersOnTrack using a new track prediction. Not implemented for now!! */ - void updateCompetingROT( const Trk::CompetingRIOsOnTrack&, + void updateCompetingROT( Trk::CompetingRIOsOnTrack&, const Trk::TrackParameters&, const Trk::IWeightCalculator::AnnealingFactor ) const { diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces/MuonRecToolInterfaces/IMuonCompetingClustersOnTrackCreator.h b/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces/MuonRecToolInterfaces/IMuonCompetingClustersOnTrackCreator.h index c488463fe4f..fcc2b19a520 100755 --- a/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces/MuonRecToolInterfaces/IMuonCompetingClustersOnTrackCreator.h +++ b/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces/MuonRecToolInterfaces/IMuonCompetingClustersOnTrackCreator.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ #ifndef MUON_IMUONCOMPETINGCLUSTERSONTRACKCREATOR_H diff --git a/Tracking/TrkFitter/TrkDeterministicAnnealingFilter/src/DeterministicAnnealingFilter.cxx b/Tracking/TrkFitter/TrkDeterministicAnnealingFilter/src/DeterministicAnnealingFilter.cxx index e4d6ba23c0a..ce0a15b2aa5 100755 --- a/Tracking/TrkFitter/TrkDeterministicAnnealingFilter/src/DeterministicAnnealingFilter.cxx +++ b/Tracking/TrkFitter/TrkDeterministicAnnealingFilter/src/DeterministicAnnealingFilter.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ ////////////////////////////////////////////////////////////////// @@ -790,7 +790,10 @@ Trk::Track* Trk::DeterministicAnnealingFilter::doDAFfitWithKalman( continue; // next ProtoTrackStateOnSurface } //if (m_debuglevel) ATH_MSG_VERBOSE( "current MeasurementBase is a CompetingRIOsOnTrack: set annealing factor" ); - m_compROTcreator->updateCompetingROT(*compROT, *smoothedTrkPar, m_option_annealingScheme[annealingIteration]); + CompetingRIOsOnTrack* newCompROT = compROT->clone(); + m_compROTcreator->updateCompetingROT(*newCompROT, *smoothedTrkPar, m_option_annealingScheme[annealingIteration]); + it->replaceMeasurement(newCompROT); + compROT = newCompROT; } else { // set annealing factor in CompetingRIOsOnTrack which // are marked as outliers (the Kalman forward Fitter marks @@ -837,9 +840,12 @@ Trk::Track* Trk::DeterministicAnnealingFilter::doDAFfitWithKalman( if (!extrapolatedTrkPar) { ATH_MSG_WARNING( "Extrapolation to outlier surface did not succeed: Assignment probabilities of outlier cannot be updated" ); } else { - m_compROTcreator->updateCompetingROT(*compROT, *extrapolatedTrkPar, m_option_annealingScheme[annealingIteration]); + CompetingRIOsOnTrack* newCompROT = compROT->clone(); + m_compROTcreator->updateCompetingROT(*newCompROT, *extrapolatedTrkPar, m_option_annealingScheme[annealingIteration]); delete extrapolatedTrkPar; extrapolatedTrkPar = 0; + it->replaceMeasurement(newCompROT); + compROT = newCompROT; } } }// end if outlier @@ -1146,7 +1152,7 @@ void Trk::DeterministicAnnealingFilter::addToTrajectory(const MeasurementBase* m if (compROT) { ATH_MSG_VERBOSE( "current MeasurementBase is a CompetingRIOsOnTrack: clone and set annealing factor" ); // TODO: decide about setting of annealingFactor, if no track parameters are given: extraploate? - const CompetingRIOsOnTrack* newCompROT = compROT->clone(); + CompetingRIOsOnTrack* newCompROT = compROT->clone(); if (trkPar) { // set annealing factor in CompetingRIOsOnTrack m_compROTcreator->updateCompetingROT(*newCompROT, *trkPar, m_option_annealingScheme[0]); diff --git a/Tracking/TrkFitter/TrkKalmanFitter/src/KalmanPiecewiseAnnealingFilter.cxx b/Tracking/TrkFitter/TrkKalmanFitter/src/KalmanPiecewiseAnnealingFilter.cxx index 8870d353bec..36e30511327 100644 --- a/Tracking/TrkFitter/TrkKalmanFitter/src/KalmanPiecewiseAnnealingFilter.cxx +++ b/Tracking/TrkFitter/TrkKalmanFitter/src/KalmanPiecewiseAnnealingFilter.cxx @@ -616,8 +616,11 @@ Trk::KalmanPiecewiseAnnealingFilter::filterTrajectoryPiece const Trk::CompetingRIOsOnTrack* compROT = dynamic_cast<const Trk::CompetingRIOsOnTrack*>(it->measurement()); if (compROT && it->smoothedTrackParameters() && !it->isOutlier()) { - const Trk::TrackParameters* annealingPars = it->smoothedTrackParameters(); - m_compRotTool->updateCompetingROT(*compROT, *annealingPars, beta); + const Trk::TrackParameters* annealingPars = it->smoothedTrackParameters(); + Trk::CompetingRIOsOnTrack* newCompROT = compROT->clone(); + m_compRotTool->updateCompetingROT(*newCompROT, *annealingPars, beta); + it->replaceMeasurement(newCompROT); + compROT = newCompROT; } } diff --git a/Tracking/TrkTools/TrkCompetingRIOsOnTrackTool/TrkCompetingRIOsOnTrackTool/CompetingRIOsOnTrackTool.h b/Tracking/TrkTools/TrkCompetingRIOsOnTrackTool/TrkCompetingRIOsOnTrackTool/CompetingRIOsOnTrackTool.h index d603ebe3c27..8e8595be2df 100755 --- a/Tracking/TrkTools/TrkCompetingRIOsOnTrackTool/TrkCompetingRIOsOnTrackTool/CompetingRIOsOnTrackTool.h +++ b/Tracking/TrkTools/TrkCompetingRIOsOnTrackTool/TrkCompetingRIOsOnTrackTool/CompetingRIOsOnTrackTool.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ /////////////////////////////////////////////////////////////////// @@ -76,7 +76,7 @@ public: - the new effective measurements are calculated afterwards (this cannot be done by the Trk::IWeightCalculator, because it has no detector specific knowledge) */ virtual void updateCompetingROT( - const Trk::CompetingRIOsOnTrack&, + Trk::CompetingRIOsOnTrack&, const Trk::TrackParameters&, const Trk::IWeightCalculator::AnnealingFactor // const bool recreateROTs=false @@ -86,7 +86,7 @@ public: and effective measurements of a Trk::CompetingRIOsOnTrack using a given set of assignment probabilities */ virtual StatusCode updateCompetingROTprobs( - const Trk::CompetingRIOsOnTrack&, + Trk::CompetingRIOsOnTrack&, const std::vector< Trk::CompetingRIOsOnTrack::AssignmentProb >& ) const; diff --git a/Tracking/TrkTools/TrkCompetingRIOsOnTrackTool/TrkCompetingRIOsOnTrackTool/ICompetingRIOsOnTrackTool.h b/Tracking/TrkTools/TrkCompetingRIOsOnTrackTool/TrkCompetingRIOsOnTrackTool/ICompetingRIOsOnTrackTool.h index 63274abed87..4f36f32f310 100755 --- a/Tracking/TrkTools/TrkCompetingRIOsOnTrackTool/TrkCompetingRIOsOnTrackTool/ICompetingRIOsOnTrackTool.h +++ b/Tracking/TrkTools/TrkCompetingRIOsOnTrackTool/TrkCompetingRIOsOnTrackTool/ICompetingRIOsOnTrackTool.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ /* forward-declaration, remove ASAP */ diff --git a/Tracking/TrkTools/TrkCompetingRIOsOnTrackTool/src/CompetingRIOsOnTrackTool.cxx b/Tracking/TrkTools/TrkCompetingRIOsOnTrackTool/src/CompetingRIOsOnTrackTool.cxx index 545f3572748..142b7f1f55a 100755 --- a/Tracking/TrkTools/TrkCompetingRIOsOnTrackTool/src/CompetingRIOsOnTrackTool.cxx +++ b/Tracking/TrkTools/TrkCompetingRIOsOnTrackTool/src/CompetingRIOsOnTrackTool.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ /////////////////////////////////////////////////////////////////// @@ -163,7 +163,7 @@ const Trk::CompetingRIOsOnTrack* Trk::CompetingRIOsOnTrackTool::createCompetingR // Trk::CompetingRIOsOnTrack update /////////////////////////////////////////////////////////////////// void Trk::CompetingRIOsOnTrackTool::updateCompetingROT( - const Trk::CompetingRIOsOnTrack& compROT, + Trk::CompetingRIOsOnTrack& compROT, const Trk::TrackParameters& trkPar, const Trk::IWeightCalculator::AnnealingFactor beta //const bool recreateROTs=false @@ -199,7 +199,7 @@ void Trk::CompetingRIOsOnTrackTool::updateCompetingROT( } StatusCode Trk::CompetingRIOsOnTrackTool::updateCompetingROTprobs( - const Trk::CompetingRIOsOnTrack& compROT, + Trk::CompetingRIOsOnTrack& compROT, const std::vector< Trk::CompetingRIOsOnTrack::AssignmentProb >& assignmentProbs ) const { // identify by first ROT of the competing ROTs diff --git a/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ICompetingRIOsOnTrackTool.h b/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ICompetingRIOsOnTrackTool.h index c799389f816..44697a8b71b 100755 --- a/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ICompetingRIOsOnTrackTool.h +++ b/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ICompetingRIOsOnTrackTool.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ /////////////////////////////////////////////////////////////////// @@ -66,7 +66,7 @@ public: and effective measurements of a Trk::CompetingRIOsOnTrack using a new track prediction. */ virtual void updateCompetingROT( - const Trk::CompetingRIOsOnTrack&, + Trk::CompetingRIOsOnTrack&, const Trk::TrackParameters&, const Trk::IWeightCalculator::AnnealingFactor ) const = 0; @@ -75,7 +75,7 @@ public: and effective measurements of a Trk::CompetingRIOsOnTrack using a given set of assignment probabilities */ virtual StatusCode updateCompetingROTprobs( - const Trk::CompetingRIOsOnTrack&, + Trk::CompetingRIOsOnTrack&, const std::vector< Trk::CompetingRIOsOnTrack::AssignmentProb >& ) const; @@ -98,7 +98,7 @@ public: } // end of namespace Trk inline StatusCode Trk::ICompetingRIOsOnTrackTool::updateCompetingROTprobs( - const Trk::CompetingRIOsOnTrack&, + Trk::CompetingRIOsOnTrack&, const std::vector< Trk::CompetingRIOsOnTrack::AssignmentProb >& ) const { std::cout << "CONFIGURATION WARNING: dummy version of CompetingRIOsOnTrack update called." << std::endl; -- GitLab