diff --git a/Tracking/TrkEvent/TrkPseudoMeasurementOnTrack/CMakeLists.txt b/Tracking/TrkEvent/TrkPseudoMeasurementOnTrack/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..ea35cdfb27e6f2ad520ff9adea9acc4b104b619e --- /dev/null +++ b/Tracking/TrkEvent/TrkPseudoMeasurementOnTrack/CMakeLists.txt @@ -0,0 +1,35 @@ +################################################################################ +# Package: TrkPseudoMeasurementOnTrack +################################################################################ + +# Declare the package name: +atlas_subdir( TrkPseudoMeasurementOnTrack ) + +# Declare the package's dependencies: +atlas_depends_on_subdirs( PUBLIC + DetectorDescription/GeoPrimitives + Event/EventPrimitives + Tracking/TrkDetDescr/TrkSurfaces + Tracking/TrkEvent/TrkMeasurementBase + PRIVATE + GaudiKernel ) + +# External dependencies: +find_package( Eigen ) +find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread ) + +# Component(s) in the package: +atlas_add_library( TrkPseudoMeasurementOnTrack + src/*.cxx + PUBLIC_HEADERS TrkPseudoMeasurementOnTrack + INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS} + PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} + LINK_LIBRARIES ${EIGEN_LIBRARIES} GeoPrimitives EventPrimitives TrkSurfaces TrkMeasurementBase + PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} GaudiKernel ) + +atlas_add_dictionary( TrkPseudoMeasurementOnTrackDict + TrkPseudoMeasurementOnTrack/TrkPseudoMeasurementOnTrackDict.h + TrkPseudoMeasurementOnTrack/selection.xml + INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} + LINK_LIBRARIES ${ROOT_LIBRARIES} ${EIGEN_LIBRARIES} GeoPrimitives EventPrimitives TrkSurfaces TrkMeasurementBase GaudiKernel TrkPseudoMeasurementOnTrack ) + diff --git a/Tracking/TrkEvent/TrkPseudoMeasurementOnTrack/TrkPseudoMeasurementOnTrack/PseudoMeasurementOnTrack.h b/Tracking/TrkEvent/TrkPseudoMeasurementOnTrack/TrkPseudoMeasurementOnTrack/PseudoMeasurementOnTrack.h index 5de37330642b5ece05c73b3c653611ded9e80b07..8213f9ca34c0bc41c75335481e67b7511ffeae7e 100755 --- a/Tracking/TrkEvent/TrkPseudoMeasurementOnTrack/TrkPseudoMeasurementOnTrack/PseudoMeasurementOnTrack.h +++ b/Tracking/TrkEvent/TrkPseudoMeasurementOnTrack/TrkPseudoMeasurementOnTrack/PseudoMeasurementOnTrack.h @@ -59,22 +59,24 @@ namespace Trk{ ConstSurfaceUniquePtr assocSurf); //! Destructor - virtual ~PseudoMeasurementOnTrack(); + virtual ~PseudoMeasurementOnTrack() override; //! virtual constructor, not absolutely needed but given for EDM symmetry - PseudoMeasurementOnTrack* clone() const; + virtual PseudoMeasurementOnTrack* clone() const override; //! returns the surface for the local to global transformation (interface from MeasurementBase) - const Surface& associatedSurface() const; + virtual const Surface& associatedSurface() const override; + //! Test to see if an associated surface exists. + bool hasSurface() const; //! returns the global Position (interface from MeasurementBase) - const Amg::Vector3D& globalPosition() const; + virtual const Amg::Vector3D& globalPosition() const override; //! produces logfile output about its content in MsgStream form. - virtual MsgStream& dump( MsgStream& out ) const; + virtual MsgStream& dump( MsgStream& out ) const override; //! produces logfile output about its content in stdout form. - virtual std::ostream& dump( std::ostream& out ) const; + virtual std::ostream& dump( std::ostream& out ) const override; protected: @@ -91,6 +93,9 @@ namespace Trk{ inline const Surface& PseudoMeasurementOnTrack::associatedSurface() const { return *m_associatedSurface; } + inline + bool PseudoMeasurementOnTrack::hasSurface() const + { return m_associatedSurface != nullptr; } } #endif // TRKPMONTRACK_PSEUDOMEASUREMENTONTRACK_H diff --git a/Tracking/TrkEvent/TrkPseudoMeasurementOnTrack/cmt/requirements b/Tracking/TrkEvent/TrkPseudoMeasurementOnTrack/cmt/requirements index b772576c5d3f92de5fb4e383a3d2a5ffeba94903..47558cc5a4ca065b0873a1d509791a99296e8dcb 100755 --- a/Tracking/TrkEvent/TrkPseudoMeasurementOnTrack/cmt/requirements +++ b/Tracking/TrkEvent/TrkPseudoMeasurementOnTrack/cmt/requirements @@ -23,4 +23,4 @@ use GaudiInterface GaudiInterface-* External # classes to be added to the dictionary, and which fields are # transient. It should be put in ../<package> dir and is conventionally called # selection.xml. -#apply_pattern lcgdict dict=TrkPseudoMeasurementOnTrack selectionfile=selection.xml headerfiles="../TrkPseudoMeasurementOnTrack/TrkPseudoMeasurementOnTrackDict.h" +apply_pattern lcgdict dict=TrkPseudoMeasurementOnTrack selectionfile=selection.xml headerfiles="../TrkPseudoMeasurementOnTrack/TrkPseudoMeasurementOnTrackDict.h"