 |
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"
33 ATH_MSG_ERROR(
"Seed and Parameter containers have different sizes: "
36 return StatusCode::FAILURE;
40 return StatusCode::SUCCESS;
45 Acts::VectorTrackContainer trackBackend;
46 Acts::VectorMultiTrajectory trackStateBackend;
48 std::move(trackStateBackend) );
51 std::shared_ptr<const Acts::TrackingGeometry> trackingGeometry =
m_trackingGeometryTool->trackingGeometry();
61 for (std::size_t seedIndex = 0 ; seedIndex < seedsHandle->
size() ;++seedIndex){
63 const Acts::BoundTrackParameters* paramsPointer = parameterHandle->
at(seedIndex);
65 if (seedPointer ==
nullptr || paramsPointer ==
nullptr) {
70 auto actsTrack = tracksContainer.makeTrack();
71 auto& trackStateContainer = tracksContainer.trackStateContainer();
73 actsTrack.parameters() = paramsPointer->parameters();
74 actsTrack.covariance() = (*paramsPointer->covariance());
75 actsTrack.setReferenceSurface(paramsPointer->referenceSurface().getSharedPtr());
76 std::size_t tsosPreviousIndex = Acts::MultiTrajectoryTraits::kInvalid;
78 const auto& measurements =
spacepoint->measurements();
83 actsTSOS.setReferenceSurface(surf->getSharedPtr());
85 actsTrack.tipIndex() = actsTSOS.index();
86 tsosPreviousIndex = actsTrack.tipIndex();
93 Acts::ConstVectorTrackContainer ctrackBackend( std::move(tracksContainer.container()) );
94 Acts::ConstVectorMultiTrajectory ctrackStateBackend( std::move(tracksContainer.trackStateContainer()) );
95 std::unique_ptr< ActsTrk::TrackContainer > ctracksContainer = std::make_unique< ActsTrk::TrackContainer >( std::move(ctrackBackend),
96 std::move(ctrackStateBackend) );
100 ATH_MSG_DEBUG(
"Created container with size: " << ctracksContainer->size());
102 if (!trackContainerHandle.
isValid())
105 return StatusCode::FAILURE;
107 return StatusCode::SUCCESS;
const Acts::Surface * get(const xAOD::UncalibratedMeasurement *meas) const
Operator.
const container_type & sp() const
virtual StatusCode execute(const EventContext &context) const override
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
SG::WriteHandleKey< ActsTrk::TrackContainer > m_trackContainerKey
Acts::TrackContainer< MutableTrackBackend, MutableTrackStateBackend, Acts::detail::ValueHolder > MutableTrackContainer
PublicToolHandle< ActsTrk::ITrackingGeometryTool > m_trackingGeometryTool
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.
static Acts::SourceLink pack(const xAOD::UncalibratedMeasurement *meas)
Helper method to pack an uncalibrated measurement to an Acts source link.
detail::xAODUncalibMeasSurfAcc m_surfAcc
StatusCode initialize(const std::string &prefix)
Sets up the handles.
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
Handle class for recording to StoreGate.
SG::ReadHandleKeyArray< ActsTrk::BoundTrackParametersContainer > m_actsTrackParamsKey
::StatusCode StatusCode
StatusCode definition for legacy code.
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?
virtual StatusCode initialize() override
virtual bool isValid() override final
Can the handle be successfully dereferenced?
ActsTrk::MutableTrackContainerHandlesHelper m_tracksBackendHandlesHelper
SG::ReadHandleKeyArray< 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...
Helper class to access the Acts::surface associated with an Uncalibrated xAOD measurement.
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.