From 104594775330c7c61783370a35a0d261d2953829 Mon Sep 17 00:00:00 2001 From: christos <christos@cern.ch> Date: Sun, 13 Sep 2020 21:54:27 +0200 Subject: [PATCH] VxVertex clean up CMakeList and move large methods to .cxx --- Tracking/TrkEvent/VxVertex/CMakeLists.txt | 21 +--- .../VxVertex/VxVertex/VxTrackAtVertex.h | 8 ++ .../VxVertex/VxVertex/VxTrackAtVertex.icc | 108 ------------------ .../TrkEvent/VxVertex/src/VxTrackAtVertex.cxx | 107 ++++++++++++++++- 4 files changed, 117 insertions(+), 127 deletions(-) diff --git a/Tracking/TrkEvent/VxVertex/CMakeLists.txt b/Tracking/TrkEvent/VxVertex/CMakeLists.txt index b4fde8054338..633d5dc2af04 100644 --- a/Tracking/TrkEvent/VxVertex/CMakeLists.txt +++ b/Tracking/TrkEvent/VxVertex/CMakeLists.txt @@ -5,20 +5,6 @@ # Declare the package name: atlas_subdir( VxVertex ) -# Declare the package's dependencies: -atlas_depends_on_subdirs( PUBLIC - Control/AthenaKernel - Control/AthLinks - Control/AthContainers - DetectorDescription/GeoPrimitives - Event/EventPrimitives - Tracking/TrkEvent/TrkEventPrimitives - Tracking/TrkEvent/TrkNeutralParameters - Tracking/TrkEvent/TrkTrackLink - PRIVATE - GaudiKernel - Tracking/TrkEvent/TrkParameters ) - # External dependencies: find_package( Eigen ) find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread ) @@ -29,13 +15,16 @@ atlas_add_library( VxVertex PUBLIC_HEADERS VxVertex INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS} PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} - LINK_LIBRARIES ${EIGEN_LIBRARIES} AthLinks AthContainers GeoPrimitives EventPrimitives TrkEventPrimitives TrkNeutralParameters TrkTrackLink TrkParameters + LINK_LIBRARIES ${EIGEN_LIBRARIES} AthLinks AthContainers GeoPrimitives + EventPrimitives TrkEventPrimitives TrkNeutralParameters + TrkTrackLink TrkParameters PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} GaudiKernel ) atlas_add_dictionary( VxVertexDict VxVertex/VxVertexDict.h VxVertex/selection.xml INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} - LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} AthLinks AthContainers GeoPrimitives EventPrimitives TrkEventPrimitives TrkNeutralParameters GaudiKernel TrkParameters VxVertex + LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} AthLinks AthContainers GeoPrimitives + EventPrimitives TrkEventPrimitives TrkNeutralParameters GaudiKernel TrkParameters VxVertex ELEMENT_LINKS VxContainer ) diff --git a/Tracking/TrkEvent/VxVertex/VxVertex/VxTrackAtVertex.h b/Tracking/TrkEvent/VxVertex/VxVertex/VxTrackAtVertex.h index 6b9c5731ac19..985cdb6429db 100755 --- a/Tracking/TrkEvent/VxVertex/VxVertex/VxTrackAtVertex.h +++ b/Tracking/TrkEvent/VxVertex/VxVertex/VxTrackAtVertex.h @@ -382,6 +382,14 @@ private: }; // end of class definitions +/**Overload of << operator for both, MsgStream and std::ostream for debug +output; only needed in base class? */ +MsgStream& +operator<<(MsgStream& sl, const VxTrackAtVertex& sf); +std::ostream& +operator<<(std::ostream& sl, const VxTrackAtVertex& sf); + + } // end of namespace definitions #include "VxVertex/VxTrackAtVertex.icc" diff --git a/Tracking/TrkEvent/VxVertex/VxVertex/VxTrackAtVertex.icc b/Tracking/TrkEvent/VxVertex/VxVertex/VxTrackAtVertex.icc index ac313d2e5cf7..cfd348cc4d93 100644 --- a/Tracking/TrkEvent/VxVertex/VxVertex/VxTrackAtVertex.icc +++ b/Tracking/TrkEvent/VxVertex/VxVertex/VxTrackAtVertex.icc @@ -15,57 +15,12 @@ VxTrackAtVertex::trackOrParticleLink(void) return m_trackOrParticleLink; } -inline const TrackParameters* -VxTrackAtVertex::initialPerigee(void) const -{ - if (m_initialPerigee != nullptr) - return m_initialPerigee; // as default always return the proper object (be - // consistent!) - if (m_trackOrParticleLink != nullptr) - return m_trackOrParticleLink->parameters(); - return nullptr; -} - -inline const NeutralParameters* -VxTrackAtVertex::initialNeutralPerigee(void) const -{ - if (m_initialNeutralPerigee != nullptr) - return m_initialNeutralPerigee; // as default always return the proper - // object (be consistent!) - if (m_trackOrParticleLink != nullptr) - return m_trackOrParticleLink->neutralParameters(); - return nullptr; -} - -inline VxTrackAtVertex* -VxTrackAtVertex::clone() const -{ - return new VxTrackAtVertex(*this); -} - -inline void -VxTrackAtVertex::setImpactPoint3dAtaPlane(const AtaPlane* myIP3dAtaPlane) -{ - if (m_ImpactPoint3dAtaPlane != nullptr) - delete m_ImpactPoint3dAtaPlane; - m_ImpactPoint3dAtaPlane = myIP3dAtaPlane; -} - inline const AtaPlane* VxTrackAtVertex::ImpactPoint3dAtaPlane(void) const { return m_ImpactPoint3dAtaPlane; } -inline void -VxTrackAtVertex::setImpactPoint3dNeutralAtaPlane( - const NeutralAtaPlane* myIP3dNeutralAtaPlane) -{ - if (m_ImpactPoint3dNeutralAtaPlane != nullptr) - delete m_ImpactPoint3dNeutralAtaPlane; - m_ImpactPoint3dNeutralAtaPlane = myIP3dNeutralAtaPlane; -} - inline const NeutralAtaPlane* VxTrackAtVertex::ImpactPoint3dNeutralAtaPlane(void) const { @@ -132,62 +87,6 @@ VxTrackAtVertex::setTrackQuality(const FitQuality& trkQuality) m_fitQuality = trkQuality; } -inline void -VxTrackAtVertex::setPerigeeAtVertex(TrackParameters* perigee) -{ - if (m_perigeeAtVertex != nullptr) - delete m_perigeeAtVertex; - m_perigeeAtVertex = perigee; -} - -inline void -VxTrackAtVertex::setPerigeeAtVertex(NeutralParameters* perigee) -{ - if (m_neutralPerigeeAtVertex != nullptr) - delete m_neutralPerigeeAtVertex; - m_neutralPerigeeAtVertex = perigee; -} - -inline void -VxTrackAtVertex::setLinTrack(LinearizedTrack* myLinTrack) -{ - if (m_linState != nullptr) - delete m_linState; - m_linState = myLinTrack; -} - -inline void -VxTrackAtVertex::setOrigTrack(ITrackLink* trk) -{ - delete m_trackOrParticleLink; - // setting first the actual pointer: - m_trackOrParticleLink = trk; - - // setting the initial perigee to be consistent with this - // new track - if (trk != nullptr) { - // delete initialPerigee before, otherwise memleak!! - // if (m_initialPerigee!=0) { delete m_initialPerigee; - // m_initialPerigee=0; } const TrackParameters * tmpInPer = - // trk->parameters(); - m_initialPerigee = trk->parameters(); - m_initialNeutralPerigee = trk->neutralParameters(); - } else { - m_initialPerigee = nullptr; - m_initialNeutralPerigee = nullptr; - } -} // end of setOrigTrack method - -inline void -VxTrackAtVertex::setOrigTrackNoCache(ITrackLink* trk) -{ - delete m_trackOrParticleLink; - m_trackOrParticleLink = trk; - - m_initialPerigee = nullptr; - m_initialNeutralPerigee = nullptr; -} // end of setOrigTrackNocache method - inline void VxTrackAtVertex::setInitialPerigee(const TrackParameters* perigee) { @@ -202,12 +101,5 @@ VxTrackAtVertex::setInitialPerigee(const NeutralParameters* perigee) m_initialNeutralPerigee = perigee; } -/**Overload of << operator for both, MsgStream and std::ostream for debug -output; only needed in base class? */ -MsgStream& -operator<<(MsgStream& sl, const VxTrackAtVertex& sf); -std::ostream& -operator<<(std::ostream& sl, const VxTrackAtVertex& sf); - } diff --git a/Tracking/TrkEvent/VxVertex/src/VxTrackAtVertex.cxx b/Tracking/TrkEvent/VxVertex/src/VxTrackAtVertex.cxx index d0b7f7bbaa71..6c72fc5950f3 100755 --- a/Tracking/TrkEvent/VxVertex/src/VxTrackAtVertex.cxx +++ b/Tracking/TrkEvent/VxVertex/src/VxTrackAtVertex.cxx @@ -14,7 +14,6 @@ ***************************************************************************/ #include "VxVertex/VxTrackAtVertex.h" -//#include "TrkParametersBase/ParametersBase.h" #include "GaudiKernel/MsgStream.h" namespace Trk { @@ -314,8 +313,8 @@ VxTrackAtVertex::operator=(const VxTrackAtVertex& rhs) } VxTrackAtVertex::VxTrackAtVertex(VxTrackAtVertex&& rhs) noexcept - : m_fitQuality (rhs.m_fitQuality), - m_trkWeight (rhs.m_trkWeight) + : m_fitQuality(rhs.m_fitQuality) + , m_trkWeight(rhs.m_trkWeight) { m_perigeeAtVertex = rhs.m_perigeeAtVertex; rhs.m_perigeeAtVertex = nullptr; @@ -389,6 +388,108 @@ VxTrackAtVertex::operator==(const VxTrackAtVertex& data) const // data.initialPerigee()->momentum()).mag()<1e-8 ) ; } +const TrackParameters* +VxTrackAtVertex::initialPerigee(void) const +{ + if (m_initialPerigee != nullptr) + return m_initialPerigee; // as default always return the proper object (be + // consistent!) + if (m_trackOrParticleLink != nullptr) + return m_trackOrParticleLink->parameters(); + return nullptr; +} + +const NeutralParameters* +VxTrackAtVertex::initialNeutralPerigee(void) const +{ + if (m_initialNeutralPerigee != nullptr) + return m_initialNeutralPerigee; // as default always return the proper + // object (be consistent!) + if (m_trackOrParticleLink != nullptr) + return m_trackOrParticleLink->neutralParameters(); + return nullptr; +} + +VxTrackAtVertex* +VxTrackAtVertex::clone() const +{ + return new VxTrackAtVertex(*this); +} + +void +VxTrackAtVertex::setImpactPoint3dAtaPlane(const AtaPlane* myIP3dAtaPlane) +{ + if (m_ImpactPoint3dAtaPlane != nullptr) + delete m_ImpactPoint3dAtaPlane; + m_ImpactPoint3dAtaPlane = myIP3dAtaPlane; +} + +void +VxTrackAtVertex::setImpactPoint3dNeutralAtaPlane( + const NeutralAtaPlane* myIP3dNeutralAtaPlane) +{ + if (m_ImpactPoint3dNeutralAtaPlane != nullptr) + delete m_ImpactPoint3dNeutralAtaPlane; + m_ImpactPoint3dNeutralAtaPlane = myIP3dNeutralAtaPlane; +} + + void +VxTrackAtVertex::setPerigeeAtVertex(TrackParameters* perigee) +{ + if (m_perigeeAtVertex != nullptr) + delete m_perigeeAtVertex; + m_perigeeAtVertex = perigee; +} + +void +VxTrackAtVertex::setPerigeeAtVertex(NeutralParameters* perigee) +{ + if (m_neutralPerigeeAtVertex != nullptr) + delete m_neutralPerigeeAtVertex; + m_neutralPerigeeAtVertex = perigee; +} + +void +VxTrackAtVertex::setLinTrack(LinearizedTrack* myLinTrack) +{ + if (m_linState != nullptr) + delete m_linState; + m_linState = myLinTrack; +} + +void +VxTrackAtVertex::setOrigTrack(ITrackLink* trk) +{ + delete m_trackOrParticleLink; + // setting first the actual pointer: + m_trackOrParticleLink = trk; + + // setting the initial perigee to be consistent with this + // new track + if (trk != nullptr) { + // delete initialPerigee before, otherwise memleak!! + // if (m_initialPerigee!=0) { delete m_initialPerigee; + // m_initialPerigee=0; } const TrackParameters * tmpInPer = + // trk->parameters(); + m_initialPerigee = trk->parameters(); + m_initialNeutralPerigee = trk->neutralParameters(); + } else { + m_initialPerigee = nullptr; + m_initialNeutralPerigee = nullptr; + } +} // end of setOrigTrack method + +void +VxTrackAtVertex::setOrigTrackNoCache(ITrackLink* trk) +{ + delete m_trackOrParticleLink; + m_trackOrParticleLink = trk; + + m_initialPerigee = nullptr; + m_initialNeutralPerigee = nullptr; +} // end of setOrigTrackNocache method + + MsgStream& VxTrackAtVertex::dump(MsgStream& sl) const { -- GitLab