ATLAS Offline Software
TrkAmbiguitySolver.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
6 /***************************************************************************
7 TrkAmbiguitySolver Algorithm
8 ***************************************************************************/
9 
10 
11 #ifndef TRKAMBIGUITYSOLVER_H
12 #define TRKAMBIGUITYSOLVER_H
13 
15 #include "GaudiKernel/ToolHandle.h"
20 #include <string>
21 
22 namespace Trk
23 {
24  class ITrackAmbiguityProcessorTool;
25  class ITrackAmbiguityScoreProcessorTool;
26 
33  class TrkAmbiguitySolver : public AthReentrantAlgorithm
34  {
35 
36  public:
37  TrkAmbiguitySolver(const std::string& name, ISvcLocator* pSvcLocator);
38  ~TrkAmbiguitySolver(void);
39 
40  StatusCode initialize(void) override;
41  StatusCode execute(const EventContext& ctx) const override;
42  StatusCode finalize(void) override;
43 
44  private:
46  SG::ReadHandleKey<TracksScores> m_scoredTracksKey{this, "TrackInput", ""};
49  {this, "TrackOutput", "Tracks"};
50  ToolHandle<ITrackAmbiguityProcessorTool> m_ambiTool{this, "AmbiguityProcessor", "Trk::SimpleAmbiguityProcessorTool/TrkAmbiguityProcessor"};
51 
53  mutable std::atomic<long int> m_trackInCount{0};
55  mutable std::atomic<long int> m_trackOutCount{0};
56 
57  };
58 
59 }
60 
61 #endif
62 
63 
64 
65 
Trk::TrkAmbiguitySolver::~TrkAmbiguitySolver
~TrkAmbiguitySolver(void)
ConstDataVector.h
DataVector adapter that acts like it holds const pointers.
Trk::TrkAmbiguitySolver::initialize
StatusCode initialize(void) override
Definition: TrkAmbiguitySolver.cxx:18
SG::ReadHandleKey< TracksScores >
ITrackAmbiguityProcessorTool.h
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
Trk::TrkAmbiguitySolver::m_resolvedTracksKey
SG::WriteHandleKey< TrackCollection > m_resolvedTracksKey
Definition: TrkAmbiguitySolver.h:51
Trk::TrkAmbiguitySolver::m_trackInCount
std::atomic< long int > m_trackInCount
Number of tracks input.
Definition: TrkAmbiguitySolver.h:55
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
Trk::TrkAmbiguitySolver::execute
StatusCode execute(const EventContext &ctx) const override
Definition: TrkAmbiguitySolver.cxx:31
Trk::TrkAmbiguitySolver::TrkAmbiguitySolver
TrkAmbiguitySolver(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TrkAmbiguitySolver.cxx:9
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Trk::TrkAmbiguitySolver::m_trackOutCount
std::atomic< long int > m_trackOutCount
Number of tracks passing Ambi solving.
Definition: TrkAmbiguitySolver.h:57
TrackCollection.h
AthReentrantAlgorithm.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
Trk::TrkAmbiguitySolver::m_scoredTracksKey
SG::ReadHandleKey< TracksScores > m_scoredTracksKey
<where to find tracks (set in jobOptions and can be multiple collections
Definition: TrkAmbiguitySolver.h:48
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
Trk::TrkAmbiguitySolver::m_ambiTool
ToolHandle< ITrackAmbiguityProcessorTool > m_ambiTool
Definition: TrkAmbiguitySolver.h:52
Trk::TrkAmbiguitySolver::finalize
StatusCode finalize(void) override
Definition: TrkAmbiguitySolver.cxx:55