ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
EFTracking
FPGATrackSim
FPGATrackSimHough
FPGATrackSimHough
FPGATrackSimRoadUnionTool.h
Go to the documentation of this file.
1
// Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2
3
#ifndef FPGATrackSimROADUNIONTOOL_H
4
#define FPGATrackSimROADUNIONTOOL_H
5
15
16
#include "GaudiKernel/ServiceHandle.h"
17
#include "
AthenaBaseComps/AthAlgTool.h
"
18
19
#include "
FPGATrackSimHough/IFPGATrackSimRoadFinderTool.h
"
20
#include "
FPGATrackSimMaps/IFPGATrackSimMappingSvc.h
"
21
#include "
FPGATrackSimObjects/FPGATrackSimLogicalEventInputHeader.h
"
22
23
24
// This class is merely a lightweight wrapper around multiple road finder tools.
25
// It has evolved into representing the "slicing engine" in firmware and thus no longer
26
// inherits from IFPGATrackSimRoadFinderTool.
27
class
FPGATrackSimRoadUnionTool
:
public
AthAlgTool
28
{
29
public
:
30
32
// AthAlgTool
33
34
FPGATrackSimRoadUnionTool
(
const
std::string&,
const
std::string&,
const
IInterface*);
35
36
virtual
StatusCode
initialize
()
override
;
37
39
// IFPGATrackSimRoadFinderTool
40
41
StatusCode
getRoads
(
const
std::vector<std::shared_ptr<const FPGATrackSimHit>> &hits,
42
std::vector<FPGATrackSimRoad> &roads,
43
std::vector<FPGATrackSimTruthTrack>
const
&truthtracks)
44
{
45
m_truthtracks
= truthtracks;
46
return
getRoads
(hits, roads);
47
}
48
49
StatusCode
getRoads
(
const
std::vector<std::shared_ptr<const FPGATrackSimHit>> & hits, std::vector<FPGATrackSimRoad> & roads);
50
51
std::vector<FPGATrackSimTruthTrack>
const
*
getTruthTracks
() {
return
&
m_truthtracks
; }
52
54
// FPGATrackSimRoadUnionTool
55
56
ToolHandleArray<IFPGATrackSimRoadFinderTool>
const
&
tools
()
const
{
return
m_tools
; }
57
void
setupSlices
(
FPGATrackSimLogicalEventInputHeader
*slicedHitHeader) {
58
m_slicedHitHeader
= slicedHitHeader;
59
}
60
62
// Properties
63
Gaudi::Property<bool>
m_noHitFilter
{
this
,
"noHitFilter"
, {
false
},
"Disable filtering of hits"
};
64
65
66
private
:
67
69
// Handles
70
71
ServiceHandle<IFPGATrackSimMappingSvc>
m_FPGATrackSimMapping
{
this
,
"FPGATrackSimMappingSvc"
,
"FPGATrackSimMappingSvc"
};
72
73
ToolHandleArray<IFPGATrackSimRoadFinderTool>
m_tools
;
74
75
// Internal storage for the sliced hits (implemented as a LogicalEventInputHeader,
76
// so we can easily copy to the output ROOT file).
77
FPGATrackSimLogicalEventInputHeader
*
m_slicedHitHeader
=
nullptr
;
78
std::vector<FPGATrackSimTruthTrack>
m_truthtracks
;
79
};
80
81
#endif
AthAlgTool.h
FPGATrackSimLogicalEventInputHeader.h
IFPGATrackSimMappingSvc.h
IFPGATrackSimRoadFinderTool.h
Interface declaration for road finder tools.
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
FPGATrackSimLogicalEventInputHeader
Definition
FPGATrackSimLogicalEventInputHeader.h:21
FPGATrackSimRoadUnionTool::FPGATrackSimRoadUnionTool
FPGATrackSimRoadUnionTool(const std::string &, const std::string &, const IInterface *)
Definition
FPGATrackSimRoadUnionTool.cxx:30
FPGATrackSimRoadUnionTool::m_slicedHitHeader
FPGATrackSimLogicalEventInputHeader * m_slicedHitHeader
Definition
FPGATrackSimRoadUnionTool.h:77
FPGATrackSimRoadUnionTool::tools
ToolHandleArray< IFPGATrackSimRoadFinderTool > const & tools() const
Definition
FPGATrackSimRoadUnionTool.h:56
FPGATrackSimRoadUnionTool::initialize
virtual StatusCode initialize() override
Definition
FPGATrackSimRoadUnionTool.cxx:38
FPGATrackSimRoadUnionTool::m_truthtracks
std::vector< FPGATrackSimTruthTrack > m_truthtracks
Definition
FPGATrackSimRoadUnionTool.h:78
FPGATrackSimRoadUnionTool::m_tools
ToolHandleArray< IFPGATrackSimRoadFinderTool > m_tools
Definition
FPGATrackSimRoadUnionTool.h:73
FPGATrackSimRoadUnionTool::m_FPGATrackSimMapping
ServiceHandle< IFPGATrackSimMappingSvc > m_FPGATrackSimMapping
Definition
FPGATrackSimRoadUnionTool.h:71
FPGATrackSimRoadUnionTool::getTruthTracks
std::vector< FPGATrackSimTruthTrack > const * getTruthTracks()
Definition
FPGATrackSimRoadUnionTool.h:51
FPGATrackSimRoadUnionTool::getRoads
StatusCode getRoads(const std::vector< std::shared_ptr< const FPGATrackSimHit > > &hits, std::vector< FPGATrackSimRoad > &roads, std::vector< FPGATrackSimTruthTrack > const &truthtracks)
Definition
FPGATrackSimRoadUnionTool.h:41
FPGATrackSimRoadUnionTool::m_noHitFilter
Gaudi::Property< bool > m_noHitFilter
Definition
FPGATrackSimRoadUnionTool.h:63
FPGATrackSimRoadUnionTool::setupSlices
void setupSlices(FPGATrackSimLogicalEventInputHeader *slicedHitHeader)
Definition
FPGATrackSimRoadUnionTool.h:57
ServiceHandle
Definition
ClusterMakerTool.h:36
Generated on
for ATLAS Offline Software by
1.17.0