ATLAS Offline Software
TrkAmbiguitySolver.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 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:
48  ToolHandle<ITrackAmbiguityProcessorTool> m_ambiTool;
49 
51  mutable std::atomic<long int> m_trackInCount;
53  mutable std::atomic<long int> m_trackOutCount;
54 
55  };
56 
57 }
58 
59 #endif
60 
61 
62 
63 
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:28
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
where to save the resolved tracks
Definition: TrkAmbiguitySolver.h:49
Trk::TrkAmbiguitySolver::m_trackInCount
std::atomic< long int > m_trackInCount
Number of tracks input.
Definition: TrkAmbiguitySolver.h:53
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:41
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:55
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:195
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:50
Trk::TrkAmbiguitySolver::finalize
StatusCode finalize(void) override
Definition: TrkAmbiguitySolver.cxx:65