|
ATLAS Offline Software
|
Go to the documentation of this file.
8 #include "Acts/Definitions/Algebra.hpp"
13 #include "Acts/Surfaces/PerigeeSurface.hpp"
14 #include "Acts/Surfaces/Surface.hpp"
36 return StatusCode::SUCCESS;
45 std::shared_ptr<const Acts::TrackingGeometry> trackingGeometry =
m_trackingGeometryTool->trackingGeometry();
46 ATH_CHECK(trackingGeometry.get() !=
nullptr);
53 ATH_CHECK(detectorElementToGeometryIdMap.isValid());
57 for (std::size_t seedIndex = 0 ; seedIndex < seedsHandle->
size() ;++seedIndex){
59 const Acts::BoundTrackParameters* paramsPointer = parameterHandle->
at(seedIndex);
61 auto actsTrack = tracksContainer.makeTrack();
64 actsTrack.parameters() = paramsPointer->parameters();
65 actsTrack.covariance() = (*paramsPointer->covariance());
66 actsTrack.setReferenceSurface(paramsPointer->referenceSurface().getSharedPtr());
67 size_t tsosPreviousIndex = Acts::MultiTrajectoryTraits::kInvalid;
69 const auto& measurements =
spacepoint->measurements();
73 ATH_CHECK( surf && surf->getSharedPtr().get() !=
nullptr);
75 actsTSOS.setReferenceSurface(surf->getSharedPtr());
76 actsTSOS.setUncalibratedSourceLink(Acts::SourceLink(
el));
77 actsTrack.tipIndex() = actsTSOS.index();
78 tsosPreviousIndex = actsTrack.tipIndex();
88 ATH_MSG_DEBUG(
"Created container with size: " << constTracksContainer->size());
89 ATH_CHECK(trackContainerHandle.
record(std::move(constTracksContainer)));
90 if (!trackContainerHandle.
isValid())
93 return StatusCode::FAILURE;
95 return StatusCode::SUCCESS;
virtual StatusCode execute(const EventContext &context) const override
std::unique_ptr< ActsTrk::TrackContainer > moveToConst(ActsTrk::MutableTrackContainer &&tc, const Acts::GeometryContext &geoContext, const EventContext &evtContext) const
produces ActsTrk::ConstTrackContainer with all backends stored in SG
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
SG::WriteHandleKey< ActsTrk::TrackContainer > m_trackContainerKey
std::string prefixFromTrackContainerName(const std::string &tracks)
Parse TrackContainer name to get the prefix for backends The name has to contain XYZTracks,...
const std::string & key() const
Return the StoreGate ID for the referenced object.
SG::ReadCondHandleKey< ActsTrk::DetectorElementToActsGeometryIdMap > m_detectorElementToGeometryIdMapKey
StatusCode initialize(const std::string &prefix)
Sets up the handles.
const Acts::Surface * getSurfaceOfMeasurement(const Acts::TrackingGeometry &tracking_geometry, const DetectorElementToActsGeometryIdMap &detector_element_to_geoid, const xAOD::UncalibratedMeasurement &measurement)
An algorithm that can be simultaneously executed in multiple threads.
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
SeedToTrackCnvAlg(const std::string &name, ISvcLocator *pSvcLocator)
Athena implementation of ACTS::MultiTrajectory (ReadWrite version) The data is stored in 4 external b...
Handle class for recording to StoreGate.
ATLASUncalibSourceLink makeATLASUncalibSourceLink(const xAOD::UncalibratedMeasurementContainer *container, std::size_t index, [[maybe_unused]] const EventContext &ctx)
ToolHandle< IActsTrackingGeometryTool > m_trackingGeometryTool
::StatusCode StatusCode
StatusCode definition for legacy code.
Acts::Seed< xAOD::SpacePoint, 3ul > Seed
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
SG::ReadHandleKey< ActsTrk::BoundTrackParametersContainer > m_actsTrackParamsKey
virtual StatusCode initialize() override
virtual bool isValid() override final
Can the handle be successfully dereferenced?
ActsTrk::MutableTrackContainerHandlesHelper m_tracksBackendHandlesHelper
StatusCode initialize(bool used=true)
SG::ReadHandleKey< ActsTrk::SeedContainer > m_seedContainerKey
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
const T * at(size_type n) const
Access an element, as an rvalue.
size_type size() const noexcept
Returns the number of elements in the collection.