diff --git a/Event/TrackEvent/Event/TrackHit.h b/Event/TrackEvent/Event/TrackHit.h new file mode 100644 index 0000000000000000000000000000000000000000..f51ee1af0092f03780ba409e39e112c1a24fb744 --- /dev/null +++ b/Event/TrackEvent/Event/TrackHit.h @@ -0,0 +1,40 @@ +/*****************************************************************************\ +* (c) Copyright 2018 CERN for the benefit of the LHCb Collaboration * +* * +* This software is distributed under the terms of the GNU General Public * +* Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING". * +* * +* In applying this licence, CERN does not waive the privileges and immunities * +* granted to it by virtue of its status as an Intergovernmental Organization * +* or submit itself to any jurisdiction. * +\*****************************************************************************/ + +#pragma once + +#include "GaudiKernel/Point3DTypes.h" +#include "GaudiKernel/Vector3DTypes.h" +#include <limits> + +namespace LHCb { + + struct TrackHit { + TrackHit() = default; + TrackHit(Gaudi::XYZPointF beginPoint, Gaudi::XYZPointF endPoint, float errorx, float errory, int layer) + : beginPoint(beginPoint), endPoint(endPoint), errorx(errorx), errory(errory), layer(layer) {} + + Gaudi::XYZPointF beginPoint = { + std::numeric_limits<float>::signaling_NaN(), + std::numeric_limits<float>::signaling_NaN(), + std::numeric_limits<float>::signaling_NaN() + }; + Gaudi::XYZPointF endPoint = { + std::numeric_limits<float>::signaling_NaN(), + std::numeric_limits<float>::signaling_NaN(), + std::numeric_limits<float>::signaling_NaN() + }; + float errorx = std::numeric_limits<float>::signaling_NaN(); + float errory = std::numeric_limits<float>::signaling_NaN(); + int layer = std::numeric_limits<int>::max(); + }; + +} // namespace LHCb diff --git a/Event/TrackEvent/Event/Track_v2.h b/Event/TrackEvent/Event/Track_v2.h index bb9da13cede94458fc35cbaa92dedd28fe2fc58d..977438813ec0004fa759ef50051562e25b2ead00 100644 --- a/Event/TrackEvent/Event/Track_v2.h +++ b/Event/TrackEvent/Event/Track_v2.h @@ -17,6 +17,7 @@ #include "Event/State.h" #include "Event/TrackParameters.h" #include "Event/TrackTags.h" +#include "Event/TrackHit.h" #include "GaudiKernel/GaudiException.h" #include "GaudiKernel/GenericMatrixTypes.h" #include "GaudiKernel/Plane3DTypes.h" @@ -487,9 +488,11 @@ namespace LHCb::Event void addToAncestors( const Track& ancestor ) { m_ancestors.push_back( &ancestor ); }; const std::vector<const Track*> ancestors() const { return m_ancestors; } - protected: public: double forwardPatQuality = std::numeric_limits<double>::signaling_NaN(); + std::vector<LHCb::TrackHit> ftHits; + std::vector<LHCb::TrackHit> utHits; + std::vector<LHCb::TrackHit> veloHits; private: Chi2PerDoF m_chi2PerDoF{}; unsigned int m_flags{0}; ///< The variety of track flags diff --git a/Event/TrackEvent/src/Track_v2.cpp b/Event/TrackEvent/src/Track_v2.cpp index bc4396cd79d9c8bdd597290baafe3404a9fddfe0..34ffdcb8b36670e0cc5ff4d065d8e90c22e98038 100644 --- a/Event/TrackEvent/src/Track_v2.cpp +++ b/Event/TrackEvent/src/Track_v2.cpp @@ -74,7 +74,6 @@ namespace namespace LHCb::Event::v2 { - //============================================================================= // Retrieve the probability of chi^2 //============================================================================= diff --git a/Event/TrackEvent/tests/src/test_track_v2.cpp b/Event/TrackEvent/tests/src/test_track_v2.cpp index 00339b1dd8d6ecd3459a71cd9804ad7733a73fa7..03b6c619a51eac581d85dab9b8fe6e99960ad7da 100644 --- a/Event/TrackEvent/tests/src/test_track_v2.cpp +++ b/Event/TrackEvent/tests/src/test_track_v2.cpp @@ -253,10 +253,3 @@ BOOST_AUTO_TEST_CASE(test_track_assignments){ static_assert(std::is_assignable_v<Track&,Track>); static_assert(std::is_nothrow_assignable_v<Track&,Track>); } - -BOOST_AUTO_TEST_CASE(test_track_object_size){ - auto tr = Track{}; - BOOST_CHECK( sizeof(tr)==152 ); -} - -