ATLAS Offline Software
FPGATrackSimPrototrackFitterAlg.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 #ifndef ACTSTRACKRECONSTRUCTION_FPGATRACKSIMPROTOTRACKFITTERALG_H
6 #define ACTSTRACKRECONSTRUCTION_FPGATRACKSIMPROTOTRACKFITTERALG_H 1
7 
10 
17 
19 
20 namespace
21 {
22  // Forward-declare internal classes defined in TrackFindingData.h and used only in TrackFindingAlg.cxx.
23  // Define in the anonymous namespace to prevent unnecessary external linkage.
24  class TrackFindingMeasurements;
25  class DuplicateSeedDetector;
26 }
27 
28 
29 
30 namespace FPGATrackSim{
32  public:
33  FPGATrackSimPrototrackFitterAlg( const std::string& name, ISvcLocator* pSvcLocator );
34  virtual ~FPGATrackSimPrototrackFitterAlg() = default;
35 
37 
38  //IS EXECUTED:
39  virtual StatusCode initialize() override final; //once, before any input is loaded
40  virtual StatusCode execute(const EventContext & ctx) const override final;
41 
42  private:
43  // the track fitter to use for the refit
44  ToolHandle<ActsTrk::IFitterTool> m_actsFitter{this, "ActsFitter", "", "Choice of Acts Fitter (Kalman by default)"};
45  // tracking geometry - used to translate ATLAS to ACTS geometry
46  ToolHandle<IActsTrackingGeometryTool> m_trackingGeometryTool{this, "TrackingGeometryTool", ""};
47  // more conversion helpers
48  ToolHandle<ActsTrk::IActsToTrkConverterTool> m_ATLASConverterTool{this, "ATLASConverterTool", ""};
49  // detector element collections - again needed for geometry translation
50  SG::ReadCondHandleKeyArray<InDetDD::SiDetectorElementCollection> m_detEleCollKeys{this, "DetectorElementCollectionKeys", {}, "input SiDetectorElementCollection"};
51  // ACTS extrapolation tool - provides the magnetic field
52  ToolHandle<IActsExtrapolationTool> m_extrapolationTool{this, "ExtrapolationTool", ""};
53  // output location to write to
54  SG::WriteHandleKey<ActsTrk::TrackContainer> m_trackContainerKey{this, "ACTSTracksLocation", "", "Output track collection (ActsTrk variant)"};
55  // acts helper for the output
57  // prototrack collection from FPGAClusters or FPGATracks
58  SG::ReadHandleKey<ActsTrk::ProtoTrackCollection> m_ProtoTrackCollectionFromFPGAKey{this, "FPGATrackSimActsProtoTracks","","FPGATrackSim PrototrackCollection"};
59 
60  };
61 
62 }
63 
64 #endif //> !ACTSTRACKRECONSTRUCTION_PROTOTRACKCREATIONANDFITALG_H
FPGATrackSim::FPGATrackSimPrototrackFitterAlg::initialize
virtual StatusCode initialize() override final
uncomment and implement methods as required
Definition: FPGATrackSimPrototrackFitterAlg.cxx:11
FPGATrackSim::FPGATrackSimPrototrackFitterAlg::m_actsFitter
ToolHandle< ActsTrk::IFitterTool > m_actsFitter
Definition: FPGATrackSimPrototrackFitterAlg.h:44
FPGATrackSim::FPGATrackSimPrototrackFitterAlg::m_detEleCollKeys
SG::ReadCondHandleKeyArray< InDetDD::SiDetectorElementCollection > m_detEleCollKeys
Definition: FPGATrackSimPrototrackFitterAlg.h:50
FPGATrackSim::FPGATrackSimPrototrackFitterAlg::m_tracksBackendHandlesHelper
ActsTrk::MutableTrackContainerHandlesHelper m_tracksBackendHandlesHelper
Definition: FPGATrackSimPrototrackFitterAlg.h:56
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:38
FPGATrackSim::FPGATrackSimPrototrackFitterAlg::~FPGATrackSimPrototrackFitterAlg
virtual ~FPGATrackSimPrototrackFitterAlg()=default
FPGATrackSim::FPGATrackSimPrototrackFitterAlg::m_ATLASConverterTool
ToolHandle< ActsTrk::IActsToTrkConverterTool > m_ATLASConverterTool
Definition: FPGATrackSimPrototrackFitterAlg.h:48
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
SG::ReadHandleKey< ActsTrk::ProtoTrackCollection >
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
FPGATrackSim::FPGATrackSimPrototrackFitterAlg::m_extrapolationTool
ToolHandle< IActsExtrapolationTool > m_extrapolationTool
Definition: FPGATrackSimPrototrackFitterAlg.h:52
FPGATrackSim::FPGATrackSimPrototrackFitterAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override final
Definition: FPGATrackSimPrototrackFitterAlg.cxx:24
SG::WriteHandleKey< ActsTrk::TrackContainer >
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ActsTrk::MutableTrackContainerHandlesHelper
Definition: TrackContainerHandlesHelper.h:33
FPGATrackSim
Definition: FPGATrackSimPrototrackFitterAlg.h:30
CondHandleKeyArray.h
ProtoTrackCollection.h
AthReentrantAlgorithm.h
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
IFitterTool.h
SiDetectorElementCollection.h
FPGATrackSim::FPGATrackSimPrototrackFitterAlg::m_trackContainerKey
SG::WriteHandleKey< ActsTrk::TrackContainer > m_trackContainerKey
Definition: FPGATrackSimPrototrackFitterAlg.h:54
FPGATrackSim::FPGATrackSimPrototrackFitterAlg
Definition: FPGATrackSimPrototrackFitterAlg.h:31
FPGATrackSim::FPGATrackSimPrototrackFitterAlg::FPGATrackSimPrototrackFitterAlg
FPGATrackSimPrototrackFitterAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: FPGATrackSimPrototrackFitterAlg.cxx:8
IActsToTrkConverterTool.h
ActsTrk
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
Definition: MuonDetectorBuilderTool.cxx:34
TrackContainerHandlesHelper.h
FPGATrackSim::FPGATrackSimPrototrackFitterAlg::m_trackingGeometryTool
ToolHandle< IActsTrackingGeometryTool > m_trackingGeometryTool
Definition: FPGATrackSimPrototrackFitterAlg.h:46
IActsTrackingGeometryTool.h
IActsExtrapolationTool.h
FPGATrackSim::FPGATrackSimPrototrackFitterAlg::m_ProtoTrackCollectionFromFPGAKey
SG::ReadHandleKey< ActsTrk::ProtoTrackCollection > m_ProtoTrackCollectionFromFPGAKey
Definition: FPGATrackSimPrototrackFitterAlg.h:58