From d89a1a35c5cdf38b55cedd9812007ead1523e5b1 Mon Sep 17 00:00:00 2001
From: Atlas-Software Librarian <Atlas-Software.Librarian@cern.ch>
Date: Fri, 8 Apr 2016 17:14:09 +0200
Subject: [PATCH] 'CMakeLists.txt' (TrkPseudoMeasurementOnTrack-02-00-06)

 	* Tagging TrkPseudoMeasurementOnTrack-02-00-06.
	* TrkPseudoMeasurementOnTrack/PseudoMeasurementOnTrack.h: Add
	hasSurface.  Add virtual/override keywords.

2015-11-26  scott snyder  <snyder@bnl.gov>

 	* Tagging TrkPseudoMeasurementOnTrack-02-00-05.
	* cmt/requirements: Restore dictionary generation.
---
 .../CMakeLists.txt                            | 35 +++++++++++++++++++
 .../PseudoMeasurementOnTrack.h                | 17 +++++----
 .../cmt/requirements                          |  2 +-
 3 files changed, 47 insertions(+), 7 deletions(-)
 create mode 100644 Tracking/TrkEvent/TrkPseudoMeasurementOnTrack/CMakeLists.txt

diff --git a/Tracking/TrkEvent/TrkPseudoMeasurementOnTrack/CMakeLists.txt b/Tracking/TrkEvent/TrkPseudoMeasurementOnTrack/CMakeLists.txt
new file mode 100644
index 00000000000..ea35cdfb27e
--- /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 5de37330642..8213f9ca34c 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 b772576c5d3..47558cc5a4c 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"
-- 
GitLab