ATLAS Offline Software
Loading...
Searching...
No Matches
TRT_TrackExtensionAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
6// Header file for class TRT_TrackExtensionAlg
8// (c) ATLAS Detector software
10// Class for extension trackS reconstructed in Pxels and SCT to TRT
12// Version 1.0 22/08/2005 I.Gavrilenko
14
15#ifndef TRT_TrackExtensionAlg_H
16#define TRT_TrackExtensionAlg_H
17
18#include <string>
20#include "GaudiKernel/ToolHandle.h"
22
23// Store Gate handle keys
26
29
31#include <atomic>
32
33namespace InDet {
34
36
38 // Public methods:
40
41 public:
42
44 // Standard Algotithm methods
46
47 TRT_TrackExtensionAlg(const std::string &name, ISvcLocator *pSvcLocator);
49 StatusCode initialize();
50 StatusCode execute(const EventContext& ctx) const;
51 StatusCode finalize();
52
54 // Print internal algorithm parameters and status
56
57 protected:
59 // Protected data
61
62 struct Counter_t {
63 int m_nTracks = 0 ; // Number input tracks
64 int m_nTracksExtended = 0; // Number output tracks
66 m_nTracks +=a.m_nTracks;
67 m_nTracksExtended +=a.m_nTracksExtended;
68 return *this;
69 }
70 };
71 mutable std::mutex m_counterMutex ATLAS_THREAD_SAFE;
72 mutable Counter_t m_totalCounts ATLAS_THREAD_SAFE;
73
74 ToolHandle<ITRT_TrackExtensionTool> m_trtExtension{this, "TrackExtensionTool", "InDet::TRT_TrackExtensionTool_xk", "TRT track extension tool"};
75
76 // Data handle keys
77 SG::ReadHandleKey<TrackCollection> m_inputTracksKey { this, "InputTracksLocation", "SiSPSeededTracks", "Input tracks container name" };
78 SG::WriteHandleKey<TrackExtensionMap> m_outputTracksKey { this, "ExtendedTracksLocation", "ExtendedTracksMapPhase", "Output tracks container name" };
79
81 // Protected methods
83
84 MsgStream& dumpConditions(MsgStream& out) const;
85 static MsgStream& dumpEvent(MsgStream& out, const Counter_t &counter) ;
86
87 };
88}
89#endif // TRT_TrackExtensionAlg_H
static Double_t a
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
Define macros for attributes used to control the static checker.
An algorithm that can be simultaneously executed in multiple threads.
static MsgStream & dumpEvent(MsgStream &out, const Counter_t &counter)
MsgStream & dumpConditions(MsgStream &out) const
TRT_TrackExtensionAlg(const std::string &name, ISvcLocator *pSvcLocator)
StatusCode execute(const EventContext &ctx) const
SG::ReadHandleKey< TrackCollection > m_inputTracksKey
SG::WriteHandleKey< TrackExtensionMap > m_outputTracksKey
std::mutex m_counterMutex ATLAS_THREAD_SAFE
ToolHandle< ITRT_TrackExtensionTool > m_trtExtension
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
Primary Vertex Finder.
Counter_t & operator+=(const Counter_t &a)