ATLAS Offline Software
src/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 
16 #include "GaudiKernel/ServiceHandle.h"
18 
22 
23 
24 // This class is merely a lightweight wrapper around multiple road finder tools.
25 class FPGATrackSimRoadUnionTool : public extends <AthAlgTool, IFPGATrackSimRoadFinderTool>
26 {
27  public:
28 
30  // AthAlgTool
31 
32  FPGATrackSimRoadUnionTool(const std::string&, const std::string&, const IInterface*);
33 
34  virtual StatusCode initialize() override;
35 
37  // IFPGATrackSimRoadFinderTool
38 
39  virtual StatusCode getRoads(const std::vector<std::shared_ptr<const FPGATrackSimHit>> & hits, std::vector<std::shared_ptr<const FPGATrackSimRoad>> & roads) override;
40 
42  // FPGATrackSimRoadUnionTool
43 
44  ToolHandleArray<IFPGATrackSimRoadFinderTool> const & tools() const { return m_tools; }
45  void setupSlices(FPGATrackSimLogicalEventInputHeader* slicedHitHeader) {m_slicedHitHeader = slicedHitHeader; }
46 
47  virtual int getSubRegion() const override{return -1;}
48 
49  private:
50 
52  // Handles
53 
54  ServiceHandle<IFPGATrackSimMappingSvc> m_FPGATrackSimMapping {this, "FPGATrackSimMappingSvc", "FPGATrackSimMappingSvc"};
55 
56  ToolHandleArray<IFPGATrackSimRoadFinderTool> m_tools;
57 
58  // Internal storage for the sliced hits (implemented as a LogicalEventInputHeader,
59  // so we can easily copy to the output ROOT file).
61 };
62 
63 #endif
FPGATrackSimRoadUnionTool::m_tools
ToolHandleArray< IFPGATrackSimRoadFinderTool > m_tools
Definition: FPGATrackSimHough/FPGATrackSimRoadUnionTool.h:66
FPGATrackSimLogicalEventInputHeader
Definition: FPGATrackSimLogicalEventInputHeader.h:21
TRTCalib_Extractor.hits
hits
Definition: TRTCalib_Extractor.py:35
FPGATrackSimRoadUnionTool::m_slicedHitHeader
FPGATrackSimLogicalEventInputHeader * m_slicedHitHeader
Definition: FPGATrackSimHough/FPGATrackSimRoadUnionTool.h:70
IFPGATrackSimMappingSvc.h
IFPGATrackSimRoadFinderTool.h
Interface declaration for road finder tools.
FPGATrackSimRoadUnionTool::getSubRegion
virtual int getSubRegion() const override
Definition: src/FPGATrackSimRoadUnionTool.h:47
FPGATrackSimRoadUnionTool::m_FPGATrackSimMapping
ServiceHandle< IFPGATrackSimMappingSvc > m_FPGATrackSimMapping
Definition: FPGATrackSimHough/FPGATrackSimRoadUnionTool.h:64
FPGATrackSimRoadUnionTool::initialize
virtual StatusCode initialize() override
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
FPGATrackSimRoadUnionTool::FPGATrackSimRoadUnionTool
FPGATrackSimRoadUnionTool(const std::string &, const std::string &, const IInterface *)
AthAlgTool.h
FPGATrackSimRoadUnionTool::getRoads
virtual StatusCode getRoads(const std::vector< std::shared_ptr< const FPGATrackSimHit >> &hits, std::vector< std::shared_ptr< const FPGATrackSimRoad >> &roads) override
FPGATrackSimRoadUnionTool::tools
ToolHandleArray< IFPGATrackSimRoadFinderTool > const & tools() const
Definition: src/FPGATrackSimRoadUnionTool.h:44
FPGATrackSimRoadUnionTool
Definition: FPGATrackSimHough/FPGATrackSimRoadUnionTool.h:28
FPGATrackSimRoadUnionTool::setupSlices
void setupSlices(FPGATrackSimLogicalEventInputHeader *slicedHitHeader)
Definition: src/FPGATrackSimRoadUnionTool.h:45
FPGATrackSimLogicalEventInputHeader.h
ServiceHandle< IFPGATrackSimMappingSvc >