3#ifndef FPGATrackSim_REGIONMERGING_H
4#define FPGATrackSim_REGIONMERGING_H
31 virtual StatusCode
initialize() override final;
33 virtual StatusCode
finalize() override final;
38 Gaudi::Property<bool>
m_useRoads {
this,
"useRoads",
false,
"If set to truth it merges roads instead of tracks (tracking is set to False)"};
41 mutable ToolHandle<FPGATrackSimOverlapRemovalTool> m_overlapRemovalTool
ATLAS_THREAD_SAFE{
this,
"OverlapRemovalTool",
"FPGATrackSimOverlapRemovalTool/FPGATrackSimOverlapRemovalTool",
"Overla removal tool to run on overlapping regions" };
57 StatusCode
mergeTracks(
const std::vector<const FPGATrackSimTrackCollection*>& inputTracksPtrs,
58 std::unique_ptr<FPGATrackSimTrackCollection>& outputTracks)
const;
59 StatusCode
mergeRoads(
const std::vector<const FPGATrackSimRoadCollection*>& inputRoads,
60 const std::vector<const FPGATrackSimHitContainer*>& inputHitsInRoads,
61 std::unique_ptr<FPGATrackSimRoadCollection>& outputRoads,
62 std::unique_ptr<FPGATrackSimHitContainer>& outputHitsInRoads)
const;
Property holding a SG store/key/clid from which a WriteHandle is made.
An algorithm that can be simultaneously executed in multiple threads.
Gaudi::Property< bool > m_useRoads
ToolHandle< FPGATrackSimOverlapRemovalTool > m_overlapRemovalTool ATLAS_THREAD_SAFE
StatusCode mergeTracks(const std::vector< const FPGATrackSimTrackCollection * > &inputTracksPtrs, std::unique_ptr< FPGATrackSimTrackCollection > &outputTracks) const
FPGATrackSimRegionMergingAlg(const std::string &name, ISvcLocator *pSvcLocator)
std::atomic< size_t > m_nPreORTracks
SG::ReadHandleKeyArray< FPGATrackSimTrackCollection > m_FPGATrackCollectionKeys
StatusCode mergeRoads(const std::vector< const FPGATrackSimRoadCollection * > &inputRoads, const std::vector< const FPGATrackSimHitContainer * > &inputHitsInRoads, std::unique_ptr< FPGATrackSimRoadCollection > &outputRoads, std::unique_ptr< FPGATrackSimHitContainer > &outputHitsInRoads) const
virtual ~FPGATrackSimRegionMergingAlg()=default
SG::ReadHandleKeyArray< FPGATrackSimRoadCollection > m_FPGARoadCollectionKeys
ServiceHandle< IChronoStatSvc > m_chrono
SG::WriteHandleKey< FPGATrackSimTrackCollection > m_FinalFPGATrackCollectionKey
virtual StatusCode initialize() override final
SG::ReadHandleKeyArray< FPGATrackSimHitContainer > m_FPGAHitsInRoadsCollectionKeys
SG::WriteHandleKey< FPGATrackSimHitContainer > m_FinalFPGAHitsInRoadsCollectionKey
std::atomic< size_t > m_allIncomingTracks
SG::WriteHandleKey< FPGATrackSimRoadCollection > m_FinalFPGARoadkCollectionKey
virtual StatusCode finalize() override final
std::atomic< size_t > m_nPostORTracks
Gaudi::Property< bool > m_doOverlapRemoval
virtual StatusCode execute(const EventContext &ctx) const override final
Support class for PropertyMgr.
Property holding a SG store/key/clid from which a WriteHandle is made.
=============================================================================
HandleKeyArray< ReadHandle< T >, ReadHandleKey< T >, Gaudi::DataHandle::Reader > ReadHandleKeyArray