ATLAS Offline Software
Loading...
Searching...
No Matches
ActsTrk::MutableMultiTrajectory Class Referencefinal

Athena implementation of ACTS::MultiTrajectory (ReadWrite version) The data is stored in 4 external backends. More...

#include <MultiTrajectory.h>

Inheritance diagram for ActsTrk::MutableMultiTrajectory:

Public Types

using TrackStateProxy
using ConstTrackStateProxy

Public Member Functions

 MutableMultiTrajectory ()
 Construct a new Multi Trajectory object owning backends.
 MutableMultiTrajectory (const ActsTrk::MutableMultiTrajectory &other)
 MutableMultiTrajectory (ActsTrk::MutableMultiTrajectory &&other)=default
MutableMultiTrajectoryoperator= (const ActsTrk::MutableMultiTrajectory &other)=delete
ActsTrk::IndexType addTrackState_impl (Acts::TrackStatePropMask mask, ActsTrk::IndexType iprevious)
 Add state with stograge for data that depends on the mask.
void addTrackStateComponents_impl (ActsTrk::IndexType istate, Acts::TrackStatePropMask mask)
 Add state components for the given mask.
std::any component_impl (Acts::HashedString key, ActsTrk::IndexType istate) const
 Access component by key.
std::any component_impl (Acts::HashedString key, ActsTrk::IndexType istate)
bool has_impl (Acts::HashedString key, ActsTrk::IndexType istate) const
 checks if given state has requested component
constexpr bool hasColumn_impl (Acts::HashedString key) const
 checks if MTJ has requested column (irrespectively of the state)
template<typename T>
void addColumn_impl (std::string_view key)
 enables particular decoration, type & name need to be specified
void unset_impl (Acts::TrackStatePropMask target, ActsTrk::IndexType istate)
 unsets a given state
void shareFrom_impl (ActsTrk::IndexType iself, ActsTrk::IndexType iother, Acts::TrackStatePropMask shareSource, Acts::TrackStatePropMask shareTarget)
 shares from a given state
ConstTrackStateProxy::ConstParameters parameters_impl (ActsTrk::IndexType index) const
 obtains proxy to the track state under given index
TrackStateProxy::Parameters parameters_impl (ActsTrk::IndexType index)
ConstTrackStateProxy::ConstCovariance covariance_impl (ActsTrk::IndexType index) const
 obtain covariances for a state at given index
TrackStateProxy::Covariance covariance_impl (ActsTrk::IndexType index)
ConstTrackStateProxy::Covariance trackMeasurementsCov (ActsTrk::IndexType index) const
 obtain measurement covariances for a state at given index
TrackStateProxy::Covariance trackMeasurementsCov (ActsTrk::IndexType index)
ConstTrackStateProxy::ConstCovariance jacobian_impl (ActsTrk::IndexType istate) const
 obtain jacobian for a state at given index
TrackStateProxy::Covariance jacobian_impl (ActsTrk::IndexType istate)
template<std::size_t measdim>
ConstTrackStateProxy::template ConstCalibrated< measdim > calibrated_impl (ActsTrk::IndexType index) const
 obtain calibrated measurements for a state at given index
template<std::size_t measdim, bool Enable = true>
std::enable_if_t< Enable, typename TrackStateProxy::template Calibrated< measdim > > calibrated_impl (ActsTrk::IndexType index)
template<std::size_t measdim>
ConstTrackStateProxy::template ConstCalibratedCovariance< measdim > calibratedCovariance_impl (ActsTrk::IndexType index) const
 obtain measurements covariance for a state at given index
template<std::size_t measdim, bool Enable = true>
std::enable_if_t< Enable, typename TrackStateProxy::template CalibratedCovariance< measdim > > calibratedCovariance_impl (ActsTrk::IndexType index)
Acts::TrackIndexType size_impl () const
 size of the MTJ
void clear_impl ()
 clears backends decoration columns are still declared
bool has_backends () const
 checks if the backends are connected (i.e.
template<typename val_t, typename cov_t>
requires (Eigen::PlainObjectBase<val_t>::RowsAtCompileTime > 0 && static_cast<unsigned>(Eigen::PlainObjectBase<val_t>::RowsAtCompileTime) <= Acts::eBoundSize && static_cast<unsigned>(Eigen::PlainObjectBase<val_t>::RowsAtCompileTime) == static_cast<unsigned>(Eigen::PlainObjectBase<cov_t>::RowsAtCompileTime) && Eigen::PlainObjectBase<cov_t>::RowsAtCompileTime == Eigen::PlainObjectBase<cov_t>::ColsAtCompileTime)
void allocateCalibrated_impl (IndexType istate, const Eigen::DenseBase< val_t > &val, const Eigen::DenseBase< cov_t > &cov)
 Implementation of allocation of calibrated measurements.
ActsTrk::IndexType calibratedSize_impl (ActsTrk::IndexType istate) const
 Implementation of calibrated size.
void setUncalibratedSourceLink_impl (ActsTrk::IndexType istate, const Acts::SourceLink &sourceLink)
 Implementation of uncalibrated link insertion.
Acts::SourceLink getUncalibratedSourceLink_impl (ActsTrk::IndexType istate) const
 Implementation of uncalibrated link fetch.
void setReferenceSurface_impl (IndexType, std::shared_ptr< const Acts::Surface >)
const Acts::Surface * referenceSurface_impl (IndexType) const
void copyDynamicFrom_impl (ActsTrk::IndexType istate, Acts::HashedString key, const std::any &src_ptr)
 copy dynamic data from another MTJ
std::vector< Acts::HashedString > dynamicKeys_impl () const
 returns the keys of all the dynamic columns
xAOD::TrackStateAuxContainertrackStatesAux ()
const xAOD::TrackParametersAuxContainertrackParametersAux () const
xAOD::TrackParametersAuxContainertrackParametersAux ()
xAOD::TrackJacobianAuxContainertrackJacobiansAux ()
xAOD::TrackMeasurementAuxContainertrackMeasurementsAux ()
xAOD::TrackSurfaceAuxContainertrackSurfacesAux ()
xAOD::TrackSurfaceContainertrackSurfaces ()
const xAOD::TrackSurfaceContainertrackSurfaces () const

Static Public Attributes

static const std::set< std::string > s_staticVariables

Private Member Functions

void trim ()

Private Attributes

std::unique_ptr< xAOD::TrackStateAuxContainerm_trackStatesAux
size_t m_trackStatesSize = 0
std::unique_ptr< xAOD::TrackParametersAuxContainerm_trackParametersAux
size_t m_trackParametersSize = 0
std::unique_ptr< xAOD::TrackJacobianAuxContainerm_trackJacobiansAux
size_t m_trackJacobiansSize = 0
std::unique_ptr< xAOD::TrackMeasurementAuxContainerm_trackMeasurementsAux
size_t m_trackMeasurementsSize = 0
std::unique_ptr< xAOD::TrackSurfaceContainerm_surfacesBackend
std::unique_ptr< xAOD::TrackSurfaceAuxContainerm_surfacesBackendAux
std::vector< ActsTrk::detail::Decorationm_decorations
std::vector< std::optional< Acts::SourceLink > > m_calibratedSourceLinks
std::vector< std::optional< Acts::SourceLink > > m_uncalibratedSourceLinks
std::vector< StoredSurfacem_surfaces
GeometryContext m_geoContext
xAOD::TrackStateContainer m_trackStatesIface

Detailed Description

Athena implementation of ACTS::MultiTrajectory (ReadWrite version) The data is stored in 4 external backends.

Backends lifetime are not maintained by this class. except when objects are default constructed (this functionality will be removed). This class is meant to be used in track finding algorithms (e.g. CKF) and then converted MultiTrajectory variant. These conversion is meant to be costless.

Definition at line 76 of file MultiTrajectory.h.

Member Typedef Documentation

◆ ConstTrackStateProxy

Initial value:
typename Acts::MultiTrajectory<
Athena implementation of ACTS::MultiTrajectory (ReadWrite version) The data is stored in 4 external b...
typename Acts::MultiTrajectory< ActsTrk::MutableMultiTrajectory >::ConstTrackStateProxy ConstTrackStateProxy

Definition at line 82 of file MultiTrajectory.h.

◆ TrackStateProxy

Initial value:
typename Acts::MultiTrajectory<
typename Acts::MultiTrajectory< ActsTrk::MutableMultiTrajectory >::TrackStateProxy TrackStateProxy

Definition at line 80 of file MultiTrajectory.h.

Constructor & Destructor Documentation

◆ MutableMultiTrajectory() [1/3]

ActsTrk::MutableMultiTrajectory::MutableMultiTrajectory ( )

Construct a new Multi Trajectory object owning backends.

Definition at line 96 of file MultiTrajectory.cxx.

97 : m_trackStatesAux (std::make_unique<xAOD::TrackStateAuxContainer>()),
98 m_trackParametersAux (std::make_unique<xAOD::TrackParametersAuxContainer>()),
99 m_trackJacobiansAux (std::make_unique<xAOD::TrackJacobianAuxContainer>()),
100 m_trackMeasurementsAux (std::make_unique<xAOD::TrackMeasurementAuxContainer>()),
101 m_surfacesBackend (std::make_unique<xAOD::TrackSurfaceContainer>()),
102 m_surfacesBackendAux (std::make_unique<xAOD::TrackSurfaceAuxContainer>())
103{
104 INSPECTCALL("c-tor " << this)
105
108
109}
#define INSPECTCALL(_INFO)
std::unique_ptr< xAOD::TrackParametersAuxContainer > m_trackParametersAux
xAOD::TrackStateContainer m_trackStatesIface
std::unique_ptr< xAOD::TrackStateAuxContainer > m_trackStatesAux
std::unique_ptr< xAOD::TrackSurfaceAuxContainer > m_surfacesBackendAux
std::unique_ptr< xAOD::TrackMeasurementAuxContainer > m_trackMeasurementsAux
std::unique_ptr< xAOD::TrackSurfaceContainer > m_surfacesBackend
std::unique_ptr< xAOD::TrackJacobianAuxContainer > m_trackJacobiansAux
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
Definition hcg.cxx:132

◆ MutableMultiTrajectory() [2/3]

ActsTrk::MutableMultiTrajectory::MutableMultiTrajectory ( const ActsTrk::MutableMultiTrajectory & other)

Definition at line 111 of file MultiTrajectory.cxx.

113 {
114 INSPECTCALL("copy c-tor " << this << " src " << &other << " " << other.size())
115
116 *m_trackStatesAux = *other.m_trackStatesAux;
117 *m_trackParametersAux = *other.m_trackParametersAux;
118 *m_trackJacobiansAux = *other.m_trackJacobiansAux;
119 *m_trackMeasurementsAux = *other.m_trackMeasurementsAux;
120 m_decorations = other.m_decorations;
121 m_calibratedSourceLinks = other.m_calibratedSourceLinks;
122 m_uncalibratedSourceLinks = other.m_uncalibratedSourceLinks;
123
124 m_surfaces = other.m_surfaces;
125 m_geoContext = other.m_geoContext;
126 m_trackStatesIface.resize(m_trackStatesAux->size());
127 INSPECTCALL("copy c-tor done")
128}
std::vector< StoredSurface > m_surfaces
std::vector< std::optional< Acts::SourceLink > > m_calibratedSourceLinks
std::vector< ActsTrk::detail::Decoration > m_decorations
MutableMultiTrajectory()
Construct a new Multi Trajectory object owning backends.
std::vector< std::optional< Acts::SourceLink > > m_uncalibratedSourceLinks

◆ MutableMultiTrajectory() [3/3]

ActsTrk::MutableMultiTrajectory::MutableMultiTrajectory ( ActsTrk::MutableMultiTrajectory && other)
default

Member Function Documentation

◆ addColumn_impl()

template<typename T>
void ActsTrk::MutableMultiTrajectory::addColumn_impl ( std::string_view key)

enables particular decoration, type & name need to be specified

Template Parameters
Ttype of decoration (usually POD)
Parameters
keyname of the decoration

◆ addTrackState_impl()

ActsTrk::IndexType ActsTrk::MutableMultiTrajectory::addTrackState_impl ( Acts::TrackStatePropMask mask,
ActsTrk::IndexType iprevious )

Add state with stograge for data that depends on the mask.

Parameters
mask- bitmask deciding which backends are extended
istate- previous state
Returns
index of just added state

Definition at line 144 of file MultiTrajectory.cxx.

146 {
147 using namespace Acts::HashedStringLiteral;
148 INSPECTCALL( this << " " << mask << " " << m_trackStatesIface.size() << " " << previous);
149 assert(m_trackStatesAux && "Missing Track States backend");
151 m_surfaces.push_back(nullptr);
152
153 // set kInvalid
154 constexpr auto kInvalid = Acts::kTrackIndexInvalid;
155
156 if (previous >= kInvalid - 1)
157 previous = kInvalid; // fix needed in Acts::MTJ
159 using namespace Acts;
160
161 auto addParam = [this]() -> ActsTrk::IndexType {
162 stepResize(m_trackParametersAux.get(), m_trackParametersSize, 60);
163 // TODO ask AK if this resize could be method of aux container
164 m_trackParametersAux->params[m_trackParametersSize].resize(Acts::eBoundSize);
165 m_trackParametersAux->covMatrix[m_trackParametersSize].resize(Acts::eBoundSize*Acts::eBoundSize);
167 return m_trackParametersSize-1;
168 };
169
170 auto addJacobian = [this]() -> ActsTrk::IndexType {
171 stepResize(m_trackJacobiansAux.get(), m_trackJacobiansSize);
172 m_trackJacobiansAux->jac[m_trackJacobiansSize].resize(Acts::eBoundSize*Acts::eBoundSize);
174 return m_trackJacobiansSize-1;
175 };
176
177 auto addMeasurement = [this]() -> ActsTrk::IndexType {
179 m_trackMeasurementsAux->meas[m_trackMeasurementsSize].resize(Acts::eBoundSize);
180 m_trackMeasurementsAux->covMatrix[m_trackMeasurementsSize].resize(Acts::eBoundSize*Acts::eBoundSize);
183 };
184
185 m_trackStatesAux->predicted[m_trackStatesSize] = kInvalid;
186 if (ACTS_CHECK_BIT(mask, TrackStatePropMask::Predicted)) {
187 m_trackStatesAux->predicted[m_trackStatesSize] = addParam();
188 }
189
190 m_trackStatesAux->filtered[m_trackStatesSize] = kInvalid;
191 if (ACTS_CHECK_BIT(mask, TrackStatePropMask::Filtered)) {
192 m_trackStatesAux->filtered[m_trackStatesSize] = addParam();
193 }
194
195 m_trackStatesAux->smoothed[m_trackStatesSize] = kInvalid;
196 if (ACTS_CHECK_BIT(mask, TrackStatePropMask::Smoothed)) {
197 m_trackStatesAux->smoothed[m_trackStatesSize] = addParam();
198 }
199
200 m_trackStatesAux->jacobian[m_trackStatesSize] = kInvalid;
201 if (ACTS_CHECK_BIT(mask, TrackStatePropMask::Jacobian)) {
202 m_trackStatesAux->jacobian[m_trackStatesSize] = addJacobian();
203 }
204
205 m_uncalibratedSourceLinks.emplace_back(std::nullopt);
206 m_trackStatesAux->calibrated[m_trackStatesSize] = kInvalid;
207 m_trackStatesAux->measDim[m_trackStatesSize] = kInvalid;
208 // @TODO uncalibrated ?
209 if (ACTS_CHECK_BIT(mask, TrackStatePropMask::Calibrated)) {
210 m_trackStatesAux->calibrated.at(m_trackStatesSize) = addMeasurement();
211 m_calibratedSourceLinks.emplace_back(std::nullopt);
212 }
213
214 m_trackStatesAux->geometryId[m_trackStatesSize] = InvalidGeoID; // surface is invalid until set
216 return m_trackStatesSize-1;
217}
constexpr uint64_t InvalidGeoID
std::uint32_t IndexType
Definition Decoration.h:18
@ previous
Definition BinningData.h:32

◆ addTrackStateComponents_impl()

void ActsTrk::MutableMultiTrajectory::addTrackStateComponents_impl ( ActsTrk::IndexType istate,
Acts::TrackStatePropMask mask )

Add state components for the given mask.

Parameters
istate- state index
mask- bitmask deciding which backends are extended

Definition at line 220 of file MultiTrajectory.cxx.

222 {
223 using namespace Acts::HashedStringLiteral;
224 INSPECTCALL( this << " " << mask << " " << m_trackStatesIface.size() << " " << istate);
225
226 assert(m_trackStatesAux && "Missing Track States backend");
227
228 // set kInvalid
229 constexpr auto kInvalid = Acts::kTrackIndexInvalid;
230
231 using namespace Acts;
232
233 auto addParam = [this]() -> ActsTrk::IndexType {
234 stepResize(m_trackParametersAux.get(), m_trackParametersSize, 60);
235 // TODO ask AK if this resize could be method of aux container
236 m_trackParametersAux->params[m_trackParametersSize].resize(Acts::eBoundSize);
237 m_trackParametersAux->covMatrix[m_trackParametersSize].resize(Acts::eBoundSize*Acts::eBoundSize);
239 return m_trackParametersSize-1;
240 };
241
242 auto addJacobian = [this]() -> ActsTrk::IndexType {
243 stepResize(m_trackJacobiansAux.get(), m_trackJacobiansSize);
244 m_trackJacobiansAux->jac[m_trackJacobiansSize].resize(Acts::eBoundSize*Acts::eBoundSize);
246 return m_trackJacobiansSize-1;
247 };
248
249 auto addMeasurement = [this]() -> ActsTrk::IndexType {
251 m_trackMeasurementsAux->meas[m_trackMeasurementsSize].resize(Acts::eBoundSize);
252 m_trackMeasurementsAux->covMatrix[m_trackMeasurementsSize].resize(Acts::eBoundSize*Acts::eBoundSize);
255 };
256
257 if ((m_trackStatesAux->predicted[istate] == kInvalid) &&
258 ACTS_CHECK_BIT(mask, TrackStatePropMask::Predicted)) {
259 m_trackStatesAux->predicted[istate] = addParam();
260 }
261
262 if ((m_trackStatesAux->filtered[istate] == kInvalid) &&
263 ACTS_CHECK_BIT(mask, TrackStatePropMask::Filtered)) {
264 m_trackStatesAux->filtered[istate] = addParam();
265 }
266
267 if ((m_trackStatesAux->smoothed[istate] == kInvalid) &&
268 ACTS_CHECK_BIT(mask, TrackStatePropMask::Smoothed)) {
269 m_trackStatesAux->smoothed[istate] = addParam();
270 }
271
272 if ((m_trackStatesAux->jacobian[istate] == kInvalid) &&
273 ACTS_CHECK_BIT(mask, TrackStatePropMask::Jacobian)) {
274 m_trackStatesAux->jacobian[istate] = addJacobian();
275 }
276
277 if ((m_trackStatesAux->calibrated[istate] == kInvalid) &&
278 ACTS_CHECK_BIT(mask, TrackStatePropMask::Calibrated)) {
279 m_trackStatesAux->calibrated[istate] = addMeasurement();
280 m_calibratedSourceLinks.emplace_back(std::nullopt);
281 }
282}

◆ allocateCalibrated_impl()

template<typename val_t, typename cov_t>
requires (Eigen::PlainObjectBase<val_t>::RowsAtCompileTime > 0 && static_cast<unsigned>(Eigen::PlainObjectBase<val_t>::RowsAtCompileTime) <= Acts::eBoundSize && static_cast<unsigned>(Eigen::PlainObjectBase<val_t>::RowsAtCompileTime) == static_cast<unsigned>(Eigen::PlainObjectBase<cov_t>::RowsAtCompileTime) && Eigen::PlainObjectBase<cov_t>::RowsAtCompileTime == Eigen::PlainObjectBase<cov_t>::ColsAtCompileTime)
void ActsTrk::MutableMultiTrajectory::allocateCalibrated_impl ( IndexType istate,
const Eigen::DenseBase< val_t > & val,
const Eigen::DenseBase< cov_t > & cov )

Implementation of allocation of calibrated measurements.

◆ calibrated_impl() [1/2]

template<std::size_t measdim, bool Enable = true>
std::enable_if_t< Enable, typename TrackStateProxy::template Calibrated< measdim > > ActsTrk::MutableMultiTrajectory::calibrated_impl ( ActsTrk::IndexType index)
inline

Definition at line 254 of file MultiTrajectory.h.

254 {
255 xAOD::TrackStateIndexType measIdx = m_trackStatesAux->calibrated[index];
256 return typename TrackStateProxy::template Calibrated<measdim>{m_trackMeasurementsAux->meas[measIdx].data()};
257 }
str index
Definition DeMoScan.py:362
uint32_t TrackStateIndexType

◆ calibrated_impl() [2/2]

template<std::size_t measdim>
ConstTrackStateProxy::template ConstCalibrated< measdim > ActsTrk::MutableMultiTrajectory::calibrated_impl ( ActsTrk::IndexType index) const
inline

obtain calibrated measurements for a state at given index

Parameters
index
Returns
TrackStateProxy::Calibrated

Definition at line 246 of file MultiTrajectory.h.

246 {
247 xAOD::TrackStateIndexType measIdx = m_trackStatesAux->calibrated[index];
248 return typename ConstTrackStateProxy::template ConstCalibrated<measdim>{m_trackMeasurementsAux->meas[measIdx].data()};
249 }

◆ calibratedCovariance_impl() [1/2]

template<std::size_t measdim, bool Enable = true>
std::enable_if_t< Enable, typename TrackStateProxy::template CalibratedCovariance< measdim > > ActsTrk::MutableMultiTrajectory::calibratedCovariance_impl ( ActsTrk::IndexType index)
inline

Definition at line 275 of file MultiTrajectory.h.

275 {
276 xAOD::TrackStateIndexType measIdx = m_trackStatesAux->calibrated[index];
277 return TrackStateProxy::template CalibratedCovariance<measdim>{m_trackMeasurementsAux->covMatrix[measIdx].data()};
278 }

◆ calibratedCovariance_impl() [2/2]

template<std::size_t measdim>
ConstTrackStateProxy::template ConstCalibratedCovariance< measdim > ActsTrk::MutableMultiTrajectory::calibratedCovariance_impl ( ActsTrk::IndexType index) const
inline

obtain measurements covariance for a state at given index

Parameters
index
Returns
TrackStateProxy::Covariance

Definition at line 268 of file MultiTrajectory.h.

268 {
269 xAOD::TrackStateIndexType measIdx = m_trackStatesAux->calibrated[index];
270 return ConstTrackStateProxy::template ConstCalibratedCovariance<measdim>{m_trackMeasurementsAux->covMatrix[measIdx].data()};
271 }

◆ calibratedSize_impl()

ActsTrk::IndexType ActsTrk::MutableMultiTrajectory::calibratedSize_impl ( ActsTrk::IndexType istate) const

Implementation of calibrated size.

Definition at line 517 of file MultiTrajectory.cxx.

517 {
518 // Retrieve the calibrated measurement size
519 // INSPECTCALL(istate << " " << trackMeasurements().size());
520 return m_trackStatesAux->measDim[istate];
521}

◆ clear_impl()

void ActsTrk::MutableMultiTrajectory::clear_impl ( )

clears backends decoration columns are still declared

Definition at line 496 of file MultiTrajectory.cxx.

496 {
497 INSPECTCALL(this);
498 m_trackStatesIface.resize(0);
500
501 m_trackParametersAux->resize(0);
503
504 m_trackJacobiansAux->resize(0);
506
507 m_trackMeasurementsAux->resize(0);
509
510 m_surfacesBackend->clear();
511 m_surfaces.clear();
514}

◆ component_impl() [1/2]

std::any ActsTrk::MutableMultiTrajectory::component_impl ( Acts::HashedString key,
ActsTrk::IndexType istate )

Definition at line 375 of file MultiTrajectory.cxx.

376 {
377 using namespace Acts::HashedStringLiteral;
378 assert(istate < m_trackStatesIface.size() &&
379 "Attempt to reach beyond the Track States container size");
380 INSPECTCALL(key << " " << istate << " non-const component_impl")
381
382 switch (key) {
383 case "previous"_hash:
384 return &(m_trackStatesAux->previous[istate]);
385 case "next"_hash:
386 return &(m_trackStatesAux->next[istate]);
387 case "chi2"_hash:
388 return &(m_trackStatesAux->chi2[istate]);
389 case "pathLength"_hash:
390 return &(m_trackStatesAux->pathLength[istate]);
391 case "predicted"_hash:
392 return &(m_trackStatesAux->predicted[istate]);
393 case "filtered"_hash:
394 return &(m_trackStatesAux->filtered[istate]);
395 case "smoothed"_hash:
396 return &(m_trackStatesAux->smoothed[istate]);
397 case "projector"_hash: {
398 auto idx = m_trackStatesAux->calibrated[istate];
399 return &(m_trackMeasurementsAux->projector[idx]);
400 }
401 case "measdim"_hash:
402 return &(m_trackStatesAux->measDim[istate]);
403 case "typeFlags"_hash:
404 return &(m_trackStatesAux->typeFlags[istate]);
405
406 default: {
407 for (auto& d : m_decorations) {
408 if (d.hash == key) {
409 return d.setter(m_trackStatesAux.get(), istate, d.auxid);
410 }
411 }
412 throw std::runtime_error("MutableMultiTrajectory::component_impl no such component " + std::to_string(key));
413 }
414 }
415}

◆ component_impl() [2/2]

std::any ActsTrk::MutableMultiTrajectory::component_impl ( Acts::HashedString key,
ActsTrk::IndexType istate ) const

Access component by key.

Parameters
key
istate
Returns
std::any - that needs to be cast to a const ptr (non const for the nonconst variant)

Definition at line 418 of file MultiTrajectory.cxx.

420 {
421 using namespace Acts::HashedStringLiteral;
422 assert(istate < m_trackStatesIface.size() &&
423 "Attempt to reach beyond the Track States container size");
424 INSPECTCALL(key << " " << istate << " const component_impl")
425 switch (key) {
426 case "previous"_hash:
427 return &(to_const_ptr(m_trackStatesAux)->previous[istate]);
428 case "next"_hash:
429 return &(to_const_ptr(m_trackStatesAux)->next[istate]);
430 case "chi2"_hash:
431 return &(to_const_ptr(m_trackStatesAux)->chi2[istate]);
432 case "pathLength"_hash:
433 return &(to_const_ptr(m_trackStatesAux)->pathLength[istate]);
434 case "predicted"_hash:
435 return &(to_const_ptr(m_trackStatesAux)->predicted[istate]);
436 case "filtered"_hash:
437 return &(to_const_ptr(m_trackStatesAux)->filtered[istate]);
438 case "smoothed"_hash:
439 return &(to_const_ptr(m_trackStatesAux)->smoothed[istate]);
440 case "jacobian"_hash:
441 return &(to_const_ptr(m_trackStatesAux)->jacobian[istate]);
442 case "projector"_hash:{
443 auto idx = to_const_ptr(m_trackStatesAux)->calibrated[istate];
444 return &(to_const_ptr(m_trackMeasurementsAux)->projector[idx]);
445 }
446 case "calibrated"_hash: {
447 return &(to_const_ptr(m_trackStatesAux)->calibrated[istate]);
448 }
449 case "calibratedCov"_hash: {
450 return &(to_const_ptr(m_trackStatesAux)->calibrated[istate]);
451 }
452 case "measdim"_hash:
453 return &(to_const_ptr(m_trackStatesAux)->measDim[istate]);
454 case "typeFlags"_hash:
455 return &(to_const_ptr(m_trackStatesAux)->typeFlags[istate]);
456 default: {
457 for (auto& d : m_decorations) {
458 if (d.hash == key) {
459 INSPECTCALL("getting dynamic variable " << d.name << " " << istate);
460 return d.getter(m_trackStatesAux.get(), istate, d.auxid);
461 }
462 }
463 throw std::runtime_error("MutableMultiTrajectory::component_impl const no such component " + std::to_string(key));
464 }
465 }
466}
const T * to_const_ptr(const std::unique_ptr< T > &ptr)

◆ copyDynamicFrom_impl()

void ActsTrk::MutableMultiTrajectory::copyDynamicFrom_impl ( ActsTrk::IndexType istate,
Acts::HashedString key,
const std::any & src_ptr )

copy dynamic data from another MTJ

Parameters
istate- index of the track to be filled
key- key of the dynamic data
src_ptr- pointer to the source data
Warning
the type fetched from src and type of the destiantion decoration need to agree

Definition at line 591 of file MultiTrajectory.cxx.

593 {
594 INSPECTCALL("copy dynamic decoration of key " << key << " destination MTJ has " << m_decorations.size() << " decorations");
595 for (const ActsTrk::detail::Decoration& d : m_decorations) {
596 INSPECTCALL("checking for destination of dynamic decoration " << d.name << " hash " << d.hash << " while looking for the key " << key);
597 if (d.hash == key) {
598 d.copier(m_trackStatesAux.get(), istate, d.auxid, src_ptr);
599 return;
600 }
601 }
602 throw std::invalid_argument("MultiTrajectory::copyDynamicFrom_impl no such decoration in destination MTJ " + std::to_string(key));
603}

◆ covariance_impl() [1/2]

TrackStateProxy::Covariance ActsTrk::MutableMultiTrajectory::covariance_impl ( ActsTrk::IndexType index)
inline

Definition at line 198 of file MultiTrajectory.h.

198 {
199 return typename TrackStateProxy::Covariance{m_trackParametersAux->covMatrix[index].data()};
200 }

◆ covariance_impl() [2/2]

ConstTrackStateProxy::ConstCovariance ActsTrk::MutableMultiTrajectory::covariance_impl ( ActsTrk::IndexType index) const
inline

obtain covariances for a state at given index

Parameters
index
Returns
TrackStateProxy::Covariance

Definition at line 194 of file MultiTrajectory.h.

195 {
196 return typename ConstTrackStateProxy::ConstCovariance{m_trackParametersAux->covMatrix[index].data()};
197 }

◆ dynamicKeys_impl()

std::vector< Acts::HashedString > ActsTrk::MutableMultiTrajectory::dynamicKeys_impl ( ) const

returns the keys of all the dynamic columns

Definition at line 605 of file MultiTrajectory.cxx.

605 {
606 std::vector<Acts::HashedString> keys;
607 for ( const ActsTrk::detail::Decoration& d: m_decorations) {
608 keys.push_back(d.hash);
609 INSPECTCALL("collecting dynamic decoration " << d.name << " hash " << d.hash);
610 }
611 return keys;
612}

◆ getUncalibratedSourceLink_impl()

Acts::SourceLink ActsTrk::MutableMultiTrajectory::getUncalibratedSourceLink_impl ( ActsTrk::IndexType istate) const

Implementation of uncalibrated link fetch.

Definition at line 805 of file MultiTrajectory.cxx.

806 {
807 assert(istate < m_trackStatesIface.size());
808 // at the moment when converting Trk::Track to Acts tracks the measurements on track
809 // are not converted to xAOD::UncalibratedMeasurements, and the Acts::SourceLinks
810 // just contain a pointer to the Trk::Measurement. To keep this functionality
811 // SourceLinks are either stored in the m_uncalibratedSourceLinks cache
812 // or taken from the xAOD backend.
813 static const SG::ConstAccessor<const xAOD::UncalibratedMeasurement*> acc{"uncalibratedMeasurement"};
814 if (const xAOD::UncalibratedMeasurement* ptr = acc.withDefault(m_trackStatesIface, istate, nullptr))
815 {
817 }
818 return m_uncalibratedSourceLinks[istate].value();
819}
static Acts::SourceLink pack(const Ptr_t &measurement)
Pack the measurement type pointer to an Acts::SourceLink including the intermediate conversion into a...
SG::ConstAccessor< T, ALLOC > ConstAccessor
Definition AuxElement.h:570
UncalibratedMeasurement_v1 UncalibratedMeasurement
Define the version of the uncalibrated measurement class.

◆ has_backends()

bool ActsTrk::MutableMultiTrajectory::has_backends ( ) const

checks if the backends are connected (i.e.

is safe to use, else any other call will cause segfaults)

Definition at line 131 of file MultiTrajectory.cxx.

131 {
132 return m_trackStatesAux != nullptr and m_trackParametersAux != nullptr and
133 m_trackJacobiansAux != nullptr and m_trackMeasurementsAux != nullptr
134 and m_surfacesBackend != nullptr;
135}

◆ has_impl()

bool ActsTrk::MutableMultiTrajectory::has_impl ( Acts::HashedString key,
ActsTrk::IndexType istate ) const

checks if given state has requested component

Parameters
key- name (const char*)
istate- index in the
Returns
true
false

Definition at line 468 of file MultiTrajectory.cxx.

469 {
470 std::optional<bool> inTrackState = ::has_impl(m_trackStatesAux.get(), key, istate);
471 if (inTrackState.has_value())
472 return inTrackState.value();
473
474 // TODO remove once EL based source links are in use only
475 using namespace Acts::HashedStringLiteral;
476 if (key == "uncalibratedSourceLink"_hash){
477 INSPECTCALL(key << " " << istate << " uncalibratedSourceLink")
478 static const SG::ConstAccessor<const xAOD::UncalibratedMeasurement*> acc{"uncalibratedMeasurement"};
479 if (acc.isAvailable (m_trackStatesIface)) {
480 if (acc(m_trackStatesIface, istate) != nullptr) return true;
481 }
482
483 return (istate < m_uncalibratedSourceLinks.size() && m_uncalibratedSourceLinks[istate].has_value());
484 }
485
486 for (auto& d : m_decorations) {
487 if (d.hash == key) {
488 INSPECTCALL(key << " " << istate << " d.name")
489 return true;
490 }
491 }
492
493 return false;
494}
bool has_impl(Acts::HashedString key, ActsTrk::IndexType istate) const
checks if given state has requested component

◆ hasColumn_impl()

bool ActsTrk::MutableMultiTrajectory::hasColumn_impl ( Acts::HashedString key) const
constexpr

checks if MTJ has requested column (irrespectively of the state)

Parameters
key- name (const char*)
Returns
true - if the column is present
false - if not

◆ jacobian_impl() [1/2]

TrackStateProxy::Covariance ActsTrk::MutableMultiTrajectory::jacobian_impl ( ActsTrk::IndexType istate)
inline

Definition at line 232 of file MultiTrajectory.h.

232 {
233 xAOD::TrackStateIndexType jacIdx = m_trackStatesAux->jacobian[istate];
234 return typename TrackStateProxy::Covariance{m_trackJacobiansAux->jac[jacIdx].data()};
235 }

◆ jacobian_impl() [2/2]

ConstTrackStateProxy::ConstCovariance ActsTrk::MutableMultiTrajectory::jacobian_impl ( ActsTrk::IndexType istate) const
inline

obtain jacobian for a state at given index

Parameters
index
Returns
TrackStateProxy::Covariance

Definition at line 226 of file MultiTrajectory.h.

227 {
228 xAOD::TrackStateIndexType jacIdx = m_trackStatesAux->jacobian[istate];
229 return typename ConstTrackStateProxy::ConstCovariance{m_trackJacobiansAux->jac[jacIdx].data()};
230 }

◆ operator=()

MutableMultiTrajectory & ActsTrk::MutableMultiTrajectory::operator= ( const ActsTrk::MutableMultiTrajectory & other)
delete

◆ parameters_impl() [1/2]

TrackStateProxy::Parameters ActsTrk::MutableMultiTrajectory::parameters_impl ( ActsTrk::IndexType index)
inline

Definition at line 184 of file MultiTrajectory.h.

184 {
185 return typename TrackStateProxy::Parameters{m_trackParametersAux->params[index].data()};
186 }

◆ parameters_impl() [2/2]

ConstTrackStateProxy::ConstParameters ActsTrk::MutableMultiTrajectory::parameters_impl ( ActsTrk::IndexType index) const
inline

obtains proxy to the track state under given index

Parameters
index
Returns
TrackStateProxy::Parameters

Definition at line 179 of file MultiTrajectory.h.

180 {
181 return typename ConstTrackStateProxy::ConstParameters{m_trackParametersAux->params[index].data()};
182 }

◆ referenceSurface_impl()

const Acts::Surface * ActsTrk::MutableMultiTrajectory::referenceSurface_impl ( IndexType istate) const

Definition at line 586 of file MultiTrajectory.cxx.

586 {
587 if ( istate >= m_surfaces.size() ) throw std::out_of_range("MutableMultiTrajectory index " + std::to_string(istate) + " out of range " + std::to_string(m_surfaces.size()) + " when accessing reference surface");
588 return toSurfacePtr(m_surfaces[istate]);
589}

◆ setReferenceSurface_impl()

void ActsTrk::MutableMultiTrajectory::setReferenceSurface_impl ( IndexType istate,
std::shared_ptr< const Acts::Surface > surface )

Definition at line 560 of file MultiTrajectory.cxx.

561 {
562 if ( istate >= m_surfaces.size() )
563 m_surfaces.resize(istate+1, nullptr);
564
565 m_trackStatesAux->geometryId[istate] = surface->geometryId().value();
566 if (surface->geometryId().value() == 0) { // free surface, needs recording of properties
567 m_surfacesBackend->push_back(new xAOD::TrackSurface());
568 encodeSurface(m_surfacesBackendAux.get(), m_surfacesBackendAux->size()-1, surface.get(), m_geoContext.context());
569 m_trackStatesAux->surfaceIndex[istate] = m_surfacesBackend->size()-1;
570 m_surfaces[istate] = std::move(surface); // and memory management
571
572 } else {
573 m_surfaces[istate] = surface.get(); // no memory management, bare pointer
574 }
575 // store surface representation in
576}
void encodeSurface(xAOD::TrackSurfaceAuxContainer *backend, size_t index, const Acts::Surface *surface, const Acts::GeometryContext &geoContext)
Prepares persistifiable representation of surface into xAOD::TrackSurface object.
TrackSurface_v1 TrackSurface

◆ setUncalibratedSourceLink_impl()

void ActsTrk::MutableMultiTrajectory::setUncalibratedSourceLink_impl ( ActsTrk::IndexType istate,
const Acts::SourceLink & sourceLink )

Implementation of uncalibrated link insertion.

Definition at line 524 of file MultiTrajectory.cxx.

525 {
526 INSPECTCALL( istate );
527
529 static const Decor_t decor{"uncalibratedMeasurement"};
530 if (istate>= m_trackStatesIface.size()) {
531 throw std::range_error("istate out of range on TrackStates when attempting to access uncalibrated measurements");
532 }
533 Decor_t::span uncalibratedMeasurements = decor.getDecorationSpan(m_trackStatesIface);
534
535 // @TODO normally the source links should contain an xAOD::UncalibratedMeasurement pointer
536 // but in some cases some other payload is used e.g. when converting Trk::Tracks.
537 // Only UncalibratedMeasurement pointer can be stored in the xAOD backend. Everything
538 // else has to go into the cache.
539 // Currently there is no possibility to check whether the source link contains a certain payload
540 // so can only catch the bad any cast
541 try {
543 auto unpacked = detail::MeasurementCalibratorBase::unpackBase(sourceLink);
544 uncalibratedMeasurements.at(istate) = std::get<const xAOD::UncalibratedMeasurement*>(unpacked);
545 } else {
546 assert( istate < m_uncalibratedSourceLinks.size());
547 m_uncalibratedSourceLinks[istate] = sourceLink;
548 }
549 } catch (const std::bad_any_cast &err) {
550 try {
551 auto unpacked = sourceLink.get<const xAOD::UncalibratedMeasurement*>();
552 uncalibratedMeasurements.at(istate) = unpacked;
553 } catch (const std::bad_any_cast &err1) {
554 assert( istate < m_uncalibratedSourceLinks.size());
555 m_uncalibratedSourceLinks[istate] = sourceLink;
556 }
557 }
558}
static SourceLinkType getType(const Acts::SourceLink &sl)
Returns the enumeration corresponding to the object type cached within the Acts::SourceLink.
static SourceLink_t unpackBase(const Acts::SourceLink &sl)
Unpack the SourceLink_t from the passed Acts source link.
@ xAODUnCalibMeas
UnCalibrated Trk::PrepRawData objects.
SG::Decorator< T, ALLOC > Decorator
Helper class to provide type-safe access to aux data, specialized for JaggedVecElt.
Definition AuxElement.h:576

◆ shareFrom_impl()

void ActsTrk::MutableMultiTrajectory::shareFrom_impl ( ActsTrk::IndexType iself,
ActsTrk::IndexType iother,
Acts::TrackStatePropMask shareSource,
Acts::TrackStatePropMask shareTarget )

shares from a given state

Parameters
shareSource,shareTarget- property
iself,iother- indexes

Definition at line 285 of file MultiTrajectory.cxx.

289 {
290
291 assert(ACTS_CHECK_BIT(this->getTrackState(iother).getMask(), shareSource) &&
292 "Source has incompatible allocation");
293
294 using PM = Acts::TrackStatePropMask;
295 // set kInvalid
296 constexpr auto kInvalid = Acts::kTrackIndexInvalid;
297
298 ActsTrk::IndexType sourceIndex{kInvalid};
299 switch (shareSource) {
300 case PM::Predicted:
301 sourceIndex = m_trackStatesAux->predicted[iother];
302 break;
303 case PM::Filtered:
304 sourceIndex = m_trackStatesAux->filtered[iother];
305 break;
306 case PM::Smoothed:
307 sourceIndex = m_trackStatesAux->smoothed[iother];
308 break;
309 case PM::Jacobian:
310 sourceIndex = m_trackStatesAux->jacobian[iother];
311 break;
312 default:
313 throw std::domain_error{"MutableMultiTrajectory Unable to share this component"};
314 }
315
316 assert(sourceIndex != kInvalid);
317
318 switch (shareTarget) {
319 case PM::Predicted:
320 assert(shareSource != PM::Jacobian);
321 m_trackStatesAux->predicted[iself] = sourceIndex;
322 break;
323 case PM::Filtered:
324 assert(shareSource != PM::Jacobian);
325 m_trackStatesAux->filtered[iself] = sourceIndex;
326 break;
327 case PM::Smoothed:
328 assert(shareSource != PM::Jacobian);
329 m_trackStatesAux->smoothed[iself] = sourceIndex;
330 break;
331 case PM::Jacobian:
332 assert(shareSource == PM::Jacobian);
333 m_trackStatesAux->jacobian[iself] = sourceIndex;
334 break;
335 default:
336 throw std::domain_error{"MutableMultiTrajectory Unable to share this component"};
337 }
338}

◆ size_impl()

Acts::TrackIndexType ActsTrk::MutableMultiTrajectory::size_impl ( ) const
inline

size of the MTJ

Returns
size_t

Definition at line 286 of file MultiTrajectory.h.

286 {
287 return m_trackStatesSize;
288 }

◆ trackJacobiansAux()

xAOD::TrackJacobianAuxContainer * ActsTrk::MutableMultiTrajectory::trackJacobiansAux ( )
inline

Definition at line 363 of file MultiTrajectory.h.

363 {
364 return m_trackJacobiansAux.get();
365 }

◆ trackMeasurementsAux()

xAOD::TrackMeasurementAuxContainer * ActsTrk::MutableMultiTrajectory::trackMeasurementsAux ( )
inline

Definition at line 367 of file MultiTrajectory.h.

367 {
368 return m_trackMeasurementsAux.get();
369 }

◆ trackMeasurementsCov() [1/2]

TrackStateProxy::Covariance ActsTrk::MutableMultiTrajectory::trackMeasurementsCov ( ActsTrk::IndexType index)
inline

Definition at line 214 of file MultiTrajectory.h.

214 {
215 return typename TrackStateProxy::Covariance{m_trackMeasurementsAux->covMatrix[index].data()};
216
217 }

◆ trackMeasurementsCov() [2/2]

ConstTrackStateProxy::Covariance ActsTrk::MutableMultiTrajectory::trackMeasurementsCov ( ActsTrk::IndexType index) const
inline

obtain measurement covariances for a state at given index

Parameters
index
Returns
TrackStateProxy::Covariance

Definition at line 208 of file MultiTrajectory.h.

209 {
210 return typename ConstTrackStateProxy::Covariance{m_trackMeasurementsAux->covMatrix[index].data()};
211
212 }

◆ trackParametersAux() [1/2]

xAOD::TrackParametersAuxContainer * ActsTrk::MutableMultiTrajectory::trackParametersAux ( )
inline

Definition at line 359 of file MultiTrajectory.h.

359 {
360 return m_trackParametersAux.get();
361 }

◆ trackParametersAux() [2/2]

const xAOD::TrackParametersAuxContainer * ActsTrk::MutableMultiTrajectory::trackParametersAux ( ) const
inline

Definition at line 356 of file MultiTrajectory.h.

356 {
357 return m_trackParametersAux.get();
358 }

◆ trackStatesAux()

xAOD::TrackStateAuxContainer * ActsTrk::MutableMultiTrajectory::trackStatesAux ( )
inline

Definition at line 354 of file MultiTrajectory.h.

354{ return m_trackStatesAux.get(); }

◆ trackSurfaces() [1/2]

xAOD::TrackSurfaceContainer * ActsTrk::MutableMultiTrajectory::trackSurfaces ( )
inline

Definition at line 374 of file MultiTrajectory.h.

374 {
375 return m_surfacesBackend.get();
376 }

◆ trackSurfaces() [2/2]

const xAOD::TrackSurfaceContainer * ActsTrk::MutableMultiTrajectory::trackSurfaces ( ) const
inline

Definition at line 377 of file MultiTrajectory.h.

377 {
378 return m_surfacesBackend.get();
379 }

◆ trackSurfacesAux()

xAOD::TrackSurfaceAuxContainer * ActsTrk::MutableMultiTrajectory::trackSurfacesAux ( )
inline

Definition at line 371 of file MultiTrajectory.h.

371 {
372 return m_surfacesBackendAux.get();
373 }

◆ trim()

void ActsTrk::MutableMultiTrajectory::trim ( )
private

Definition at line 615 of file MultiTrajectory.cxx.

615 {
617 static const SG::Decorator<const xAOD::UncalibratedMeasurement*> decor{"uncalibratedMeasurement"};
618 if (m_trackStatesSize > 0) {
619 (void)decor.getDecorationSpan(m_trackStatesIface);
620 }
624}

◆ unset_impl()

void ActsTrk::MutableMultiTrajectory::unset_impl ( Acts::TrackStatePropMask target,
ActsTrk::IndexType istate )

unsets a given state

Parameters
target- property
istate- index in the

Definition at line 341 of file MultiTrajectory.cxx.

343 {
344
345 using PM = Acts::TrackStatePropMask;
346 // set kInvalid
347 constexpr auto kInvalid = Acts::kTrackIndexInvalid;
348
349 switch (target) {
350 case PM::Predicted:
351 m_trackStatesAux->predicted[istate] = kInvalid;
352 break;
353 case PM::Filtered:
354 m_trackStatesAux->filtered[istate] = kInvalid;
355
356 break;
357 case PM::Smoothed:
358 m_trackStatesAux->smoothed[istate] = kInvalid;
359 break;
360 case PM::Jacobian:
361 m_trackStatesAux->jacobian[istate] = kInvalid;
362
363 break;
364 case PM::Calibrated:
365 m_trackStatesAux->measDim[istate] = kInvalid;
366 // TODO here m_measOffset[istate] and m_measCovOffset[istate] should be
367 // set to kInvalid
368
369 break;
370 default:
371 throw std::domain_error{"MutableMultiTrajectory Unable to unset this component"};
372 }
373}

Member Data Documentation

◆ m_calibratedSourceLinks

std::vector<std::optional<Acts::SourceLink> > ActsTrk::MutableMultiTrajectory::m_calibratedSourceLinks
private

Definition at line 403 of file MultiTrajectory.h.

◆ m_decorations

std::vector<ActsTrk::detail::Decoration> ActsTrk::MutableMultiTrajectory::m_decorations
private

Definition at line 401 of file MultiTrajectory.h.

◆ m_geoContext

GeometryContext ActsTrk::MutableMultiTrajectory::m_geoContext
private

Definition at line 407 of file MultiTrajectory.h.

◆ m_surfaces

std::vector<StoredSurface> ActsTrk::MutableMultiTrajectory::m_surfaces
private

Definition at line 406 of file MultiTrajectory.h.

◆ m_surfacesBackend

std::unique_ptr<xAOD::TrackSurfaceContainer> ActsTrk::MutableMultiTrajectory::m_surfacesBackend
private

Definition at line 399 of file MultiTrajectory.h.

◆ m_surfacesBackendAux

std::unique_ptr<xAOD::TrackSurfaceAuxContainer> ActsTrk::MutableMultiTrajectory::m_surfacesBackendAux
private

Definition at line 400 of file MultiTrajectory.h.

◆ m_trackJacobiansAux

std::unique_ptr<xAOD::TrackJacobianAuxContainer> ActsTrk::MutableMultiTrajectory::m_trackJacobiansAux
private

Definition at line 393 of file MultiTrajectory.h.

◆ m_trackJacobiansSize

size_t ActsTrk::MutableMultiTrajectory::m_trackJacobiansSize = 0
private

Definition at line 394 of file MultiTrajectory.h.

◆ m_trackMeasurementsAux

std::unique_ptr<xAOD::TrackMeasurementAuxContainer> ActsTrk::MutableMultiTrajectory::m_trackMeasurementsAux
private

Definition at line 396 of file MultiTrajectory.h.

◆ m_trackMeasurementsSize

size_t ActsTrk::MutableMultiTrajectory::m_trackMeasurementsSize = 0
private

Definition at line 397 of file MultiTrajectory.h.

◆ m_trackParametersAux

std::unique_ptr<xAOD::TrackParametersAuxContainer> ActsTrk::MutableMultiTrajectory::m_trackParametersAux
private

Definition at line 390 of file MultiTrajectory.h.

◆ m_trackParametersSize

size_t ActsTrk::MutableMultiTrajectory::m_trackParametersSize = 0
private

Definition at line 391 of file MultiTrajectory.h.

◆ m_trackStatesAux

std::unique_ptr<xAOD::TrackStateAuxContainer> ActsTrk::MutableMultiTrajectory::m_trackStatesAux
private

Definition at line 387 of file MultiTrajectory.h.

◆ m_trackStatesIface

xAOD::TrackStateContainer ActsTrk::MutableMultiTrajectory::m_trackStatesIface
private

Definition at line 409 of file MultiTrajectory.h.

◆ m_trackStatesSize

size_t ActsTrk::MutableMultiTrajectory::m_trackStatesSize = 0
private

Definition at line 388 of file MultiTrajectory.h.

◆ m_uncalibratedSourceLinks

std::vector<std::optional<Acts::SourceLink> > ActsTrk::MutableMultiTrajectory::m_uncalibratedSourceLinks
private

Definition at line 404 of file MultiTrajectory.h.

◆ s_staticVariables

const std::set< std::string > ActsTrk::MutableMultiTrajectory::s_staticVariables
static
Initial value:
= {
"chi2", "pathLength", "typeFlags", "previous", "next", "predicted", "filtered", "smoothed", "jacobian", "calibrated", "measDim",
"uncalibratedMeasurement", "uncalibratedMeasurementLink" , "geometryId", "surfaceIndex"
}

Definition at line 17 of file MultiTrajectory.h.


The documentation for this class was generated from the following files: