diff --git a/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonHoughPatternTools/MuonHoughPatternTools/HoughDataPerSec.h b/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonHoughPatternTools/MuonHoughPatternTools/HoughDataPerSec.h index 3dcd46c589b5faa452ccdcbf69e02b7cd83aa5af..a18caf8424c9f48d43d1b77b50e599efd0baf7fc 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonHoughPatternTools/MuonHoughPatternTools/HoughDataPerSec.h +++ b/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonHoughPatternTools/MuonHoughPatternTools/HoughDataPerSec.h @@ -8,6 +8,7 @@ #include "AthenaKernel/CLASS_DEF.h" #include "MuonLayerHough/MuonLayerHough.h" #include "MuonLayerHough/MuonPhiLayerHough.h" +#include "MuonLayerHough/MuonRegionHough.h" #include <map> #include <set> #include <vector> @@ -54,9 +55,14 @@ namespace Muon { return std::max( nmaxHitsInRegion[0], std::max( nmaxHitsInRegion[1], nmaxHitsInRegion[2] ) ); } }; + + struct HoughDataPerSectorVec : public std::vector<HoughDataPerSec> + { + MuonHough::MuonDetectorHough detectorHoughTransforms; + }; } CLASS_DEF(Muon::HoughDataPerSec, 163257499, 1) -CLASS_DEF(std::vector<Muon::HoughDataPerSec>, 118215228, 1) +CLASS_DEF(Muon::HoughDataPerSectorVec, 61014906, 1) -#endif \ No newline at end of file +#endif diff --git a/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonHoughPatternTools/MuonHoughPatternTools/MuonHoughPatternFinderTool.h b/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonHoughPatternTools/MuonHoughPatternTools/MuonHoughPatternFinderTool.h index 4c7bcd39c6491c1afbb60d93a7564112aefd2348..56aa17845ba3c968f98da44a50cada98107df4d2 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonHoughPatternTools/MuonHoughPatternTools/MuonHoughPatternFinderTool.h +++ b/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonHoughPatternTools/MuonHoughPatternTools/MuonHoughPatternFinderTool.h @@ -58,7 +58,7 @@ namespace Muon { virtual StatusCode finalize(); /** find patterns for a give set of MuonPrepData collections + optionally CSC segment combinations */ - std::pair<std::unique_ptr<MuonPatternCombinationCollection>, std::unique_ptr<std::vector<Muon::HoughDataPerSec>>> + std::pair<std::unique_ptr<MuonPatternCombinationCollection>, std::unique_ptr<Muon::HoughDataPerSectorVec> > find( const std::vector<const MdtPrepDataCollection*>& mdtCols, const std::vector<const CscPrepDataCollection*>& cscCols, const std::vector<const TgcPrepDataCollection*>& tgcCols, diff --git a/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonHoughPatternTools/MuonHoughPatternTools/MuonLayerHoughTool.h b/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonHoughPatternTools/MuonHoughPatternTools/MuonLayerHoughTool.h index d8afe07d870205a7b857fad16b4a0ff70a165734..536176ffa21ad93bf7c71564c6fe9d977b20934c 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonHoughPatternTools/MuonHoughPatternTools/MuonLayerHoughTool.h +++ b/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonHoughPatternTools/MuonHoughPatternTools/MuonLayerHoughTool.h @@ -86,7 +86,8 @@ namespace Muon { typedef HoughDataPerSec::RegionPhiMaximumVec RegionPhiMaximumVec; typedef HoughDataPerSec HoughDataPerSector; - typedef std::vector<HoughDataPerSector> HoughDataPerSectorVec; + + typedef Muon::HoughDataPerSectorVec HoughDataPerSectorVec; typedef HoughDataPerSectorVec::const_iterator HoughDataPerSectorCit; @@ -163,8 +164,8 @@ namespace Muon { struct State { MaximumVec seedMaxima; - MuonHough::MuonDetectorHough detectorHoughTransforms; std::unique_ptr<HoughDataPerSectorVec> houghDataPerSectorVec { std::make_unique<HoughDataPerSectorVec>() }; + MuonHough::MuonDetectorHough& detectorHoughTransforms { houghDataPerSectorVec->detectorHoughTransforms }; std::set<Identifier> truthHits; std::set<Identifier> foundTruthHits; std::set<Identifier> outputTruthHits; diff --git a/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonHoughPatternTools/src/MuonHoughPatternFinderTool.cxx b/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonHoughPatternTools/src/MuonHoughPatternFinderTool.cxx index 40eba039d280e2533d6e025cf4151f93f028ca9a..8cab349ae6abb7182c07933f699b7bd114bdc12e 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonHoughPatternTools/src/MuonHoughPatternFinderTool.cxx +++ b/MuonSpectrometer/MuonReconstruction/MuonPatternFinders/MuonPatternFinderTools/MuonHoughPatternTools/src/MuonHoughPatternFinderTool.cxx @@ -156,7 +156,7 @@ namespace Muon { return StatusCode::SUCCESS; } - std::pair<std::unique_ptr<MuonPatternCombinationCollection>, std::unique_ptr<std::vector<HoughDataPerSec>>> +std::pair<std::unique_ptr<MuonPatternCombinationCollection>, std::unique_ptr<Muon::HoughDataPerSectorVec>> MuonHoughPatternFinderTool::find( const std::vector<const MdtPrepDataCollection*>& mdtCols, const std::vector<const CscPrepDataCollection*>& cscCols, const std::vector<const TgcPrepDataCollection*>& tgcCols, diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces/MuonRecToolInterfaces/IMuonHoughPatternFinderTool.h b/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces/MuonRecToolInterfaces/IMuonHoughPatternFinderTool.h index 5eb0e9821c65629b0437e1b28566a900894e5d38..95460bcb8016716d09656f5bc4ab5a79ed1e22f5 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces/MuonRecToolInterfaces/IMuonHoughPatternFinderTool.h +++ b/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces/MuonRecToolInterfaces/IMuonHoughPatternFinderTool.h @@ -35,7 +35,7 @@ namespace Muon { static const InterfaceID& interfaceID(); /** find patterns for a give set of MuonPrepData collections + optionally CSC segment combinations */ - virtual std::pair<std::unique_ptr<MuonPatternCombinationCollection>, std::unique_ptr<std::vector<Muon::HoughDataPerSec>>> + virtual std::pair<std::unique_ptr<MuonPatternCombinationCollection>, std::unique_ptr<Muon::HoughDataPerSectorVec>> find( const std::vector<const MdtPrepDataCollection*>& mdtCols, const std::vector<const CscPrepDataCollection*>& cscCols, const std::vector<const TgcPrepDataCollection*>& tgcCols, diff --git a/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MooSegmentCombinationFinder/src/MooSegmentFinderAlg.cxx b/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MooSegmentCombinationFinder/src/MooSegmentFinderAlg.cxx index c1e0b81a2c5f17cd4d95b73b8df3dbf4ca2993ed..8cbb6bd2c86d0312dc72bd1509e1eb6f4a99d683 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MooSegmentCombinationFinder/src/MooSegmentFinderAlg.cxx +++ b/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MooSegmentCombinationFinder/src/MooSegmentFinderAlg.cxx @@ -129,7 +129,7 @@ StatusCode MooSegmentFinderAlg::execute() // write hough data to SG if (output.houghDataPerSectorVec) { - SG::WriteHandle<std::vector<Muon::HoughDataPerSec>> handle {m_houghDataPerSectorVecKey}; + SG::WriteHandle<Muon::HoughDataPerSectorVec> handle {m_houghDataPerSectorVecKey}; ATH_CHECK(handle.record(std::move(output.houghDataPerSectorVec))); } else { ATH_MSG_VERBOSE("HoughDataPerSectorVec was empty, key: " << m_houghDataPerSectorVecKey.key()); diff --git a/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MooSegmentCombinationFinder/src/MooSegmentFinderAlg.h b/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MooSegmentCombinationFinder/src/MooSegmentFinderAlg.h index 4aaf2a3a4f10657941892493fb4e35e2d1ef3e90..2a50b6043d1a02a77a6b8574b54b78ae6430f45d 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MooSegmentCombinationFinder/src/MooSegmentFinderAlg.h +++ b/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MooSegmentCombinationFinder/src/MooSegmentFinderAlg.h @@ -74,7 +74,7 @@ class MooSegmentFinderAlg : public AthAlgorithm SG::WriteHandleKey<MuonPatternCombinationCollection> m_patternCombiLocation; SG::WriteHandleKey<Trk::SegmentCollection> m_segmentLocation; - SG::WriteHandleKey<std::vector<Muon::HoughDataPerSec>> m_houghDataPerSectorVecKey {this, + SG::WriteHandleKey<Muon::HoughDataPerSectorVec> m_houghDataPerSectorVecKey {this, "Key_MuonLayerHoughToolHoughDataPerSectorVec", "HoughDataPerSectorVec", "HoughDataPerSectorVec key"}; ToolHandle<Muon::IMooSegmentCombinationFinder> m_segmentFinder; //<! pointer to the segment finder diff --git a/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MuonSegmentCombinerToolInterfaces/MuonSegmentCombinerToolInterfaces/IMooSegmentCombinationFinder.h b/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MuonSegmentCombinerToolInterfaces/MuonSegmentCombinerToolInterfaces/IMooSegmentCombinationFinder.h index e2e59b91e51aca5697e09337c4d6a5cedda9b6c8..2a169bff37165ea8b64d8d8b3f55a5040c45aec4 100644 --- a/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MuonSegmentCombinerToolInterfaces/MuonSegmentCombinerToolInterfaces/IMooSegmentCombinationFinder.h +++ b/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MuonSegmentCombinerToolInterfaces/MuonSegmentCombinerToolInterfaces/IMooSegmentCombinationFinder.h @@ -31,7 +31,7 @@ namespace Muon struct Output { MuonPatternCombinationCollection* patternCombinations; Trk::SegmentCollection* segmentCollection; - std::unique_ptr<std::vector<HoughDataPerSec>> houghDataPerSectorVec; + std::unique_ptr<Muon::HoughDataPerSectorVec> houghDataPerSectorVec; Output() : patternCombinations(0),segmentCollection(0) {} };