Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
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:
Collaboration diagram for ActsTrk::MutableMultiTrajectory:

Public Types

using TrackStateProxy = typename Acts::MultiTrajectory< ActsTrk::MutableMultiTrajectory >::TrackStateProxy
 
using ConstTrackStateProxy = typename Acts::MultiTrajectory< ActsTrk::MutableMultiTrajectory >::ConstTrackStateProxy
 

Public Member Functions

 MutableMultiTrajectory ()
 Construct a new Multi Trajectory object owning backends. More...
 
 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. More...
 
void addTrackStateComponents_impl (ActsTrk::IndexType istate, Acts::TrackStatePropMask mask)
 Add state components for the given mask. More...
 
std::any component_impl (Acts::HashedString key, ActsTrk::IndexType istate) const
 Access component by key. More...
 
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 More...
 
constexpr bool hasColumn_impl (Acts::HashedString key) const
 checks if MTJ has requested column (irrespectively of the state) More...
 
template<typename T >
void addColumn_impl (std::string_view key)
 enables particular decoration, type & name need to be specified More...
 
void unset_impl (Acts::TrackStatePropMask target, ActsTrk::IndexType istate)
 unsets a given state More...
 
void shareFrom_impl (ActsTrk::IndexType iself, ActsTrk::IndexType iother, Acts::TrackStatePropMask shareSource, Acts::TrackStatePropMask shareTarget)
 shares from a given state More...
 
ConstTrackStateProxy::Parameters parameters_impl (ActsTrk::IndexType index) const
 obtains proxy to the track state under given index More...
 
TrackStateProxy::Parameters parameters_impl (ActsTrk::IndexType index)
 
ConstTrackStateProxy::Covariance covariance_impl (ActsTrk::IndexType index) const
 obtain covariances for a state at given index More...
 
TrackStateProxy::Covariance covariance_impl (ActsTrk::IndexType index)
 
ConstTrackStateProxy::Covariance trackMeasurementsCov (ActsTrk::IndexType index) const
 obtain measurement covariances for a state at given index More...
 
TrackStateProxy::Covariance trackMeasurementsCov (ActsTrk::IndexType index)
 
ConstTrackStateProxy::Covariance jacobian_impl (ActsTrk::IndexType istate) const
 obtain jacobian for a state at given index More...
 
TrackStateProxy::Covariance jacobian_impl (ActsTrk::IndexType istate)
 
template<std::size_t measdim>
ConstTrackStateProxy::template Calibrated< measdim > calibrated_impl (ActsTrk::IndexType index) const
 obtain calibrated measurements for a state at given index More...
 
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 CalibratedCovariance< measdim > calibratedCovariance_impl (ActsTrk::IndexType index) const
 obtain measurements covariance for a state at given index More...
 
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 More...
 
void clear_impl ()
 clears backends decoration columns are still declared More...
 
bool has_backends () const
 checks if the backends are connected (i.e. More...
 
void setUncalibratedSourceLink_impl (ActsTrk::IndexType istate, const Acts::SourceLink &sourceLink)
 Implementation of uncalibrated link insertion. More...
 
Acts::SourceLink getUncalibratedSourceLink_impl (ActsTrk::IndexType istate) const
 Implementation of uncalibrated link fetch. More...
 
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 More...
 
std::vector< Acts::HashedString > dynamicKeys_impl () const
 returns the keys of all the dynamic columns More...
 
xAOD::TrackStateAuxContainertrackStatesAux ()
 
const xAOD::TrackParametersAuxContainertrackParametersAux () const
 
xAOD::TrackParametersAuxContainertrackParametersAux ()
 
xAOD::TrackJacobianAuxContainertrackJacobiansAux ()
 
xAOD::TrackMeasurementAuxContainertrackMeasurementsAux ()
 
xAOD::TrackSurfaceAuxContainertrackSurfacesAux ()
 

Public Attributes

template<typename val_t , typename cov_t >
void allocateCalibrated_impl(IndexType istate, const Eigen::DenseBase< val_t > &val, const Eigen::DenseBase< cov_t > &cov) requires(Eigen ActsTrk::IndexType calibratedSize_impl (ActsTrk::IndexType istate) const
 Implementation of allocation of calibrated measurements. More...
 

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
 
ActsGeometryContext 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 77 of file MultiTrajectory.h.

Member Typedef Documentation

◆ ConstTrackStateProxy

Definition at line 83 of file MultiTrajectory.h.

◆ TrackStateProxy

Definition at line 81 of file MultiTrajectory.h.

Constructor & Destructor Documentation

◆ MutableMultiTrajectory() [1/3]

ActsTrk::MutableMultiTrajectory::MutableMultiTrajectory ( )

Construct a new Multi Trajectory object owning backends.

Definition at line 94 of file MultiTrajectory.cxx.

95  : m_trackStatesAux (std::make_unique<xAOD::TrackStateAuxContainer>()),
96  m_trackParametersAux (std::make_unique<xAOD::TrackParametersAuxContainer>()),
97  m_trackJacobiansAux (std::make_unique<xAOD::TrackJacobianAuxContainer>()),
98  m_trackMeasurementsAux (std::make_unique<xAOD::TrackMeasurementAuxContainer>()),
99  m_surfacesBackend (std::make_unique<xAOD::TrackSurfaceContainer>()),
100  m_surfacesBackendAux (std::make_unique<xAOD::TrackSurfaceAuxContainer>())
101 {
102  INSPECTCALL("c-tor " << this)
103 
106 
107 }

◆ MutableMultiTrajectory() [2/3]

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

Definition at line 109 of file MultiTrajectory.cxx.

111  {
112  INSPECTCALL("copy c-tor " << this << " src " << &other << " " << other.size())
113 
114  *m_trackStatesAux = *other.m_trackStatesAux;
115  *m_trackParametersAux = *other.m_trackParametersAux;
116  *m_trackJacobiansAux = *other.m_trackJacobiansAux;
117  *m_trackMeasurementsAux = *other.m_trackMeasurementsAux;
118  m_decorations = other.m_decorations;
119  m_calibratedSourceLinks = other.m_calibratedSourceLinks;
120  m_uncalibratedSourceLinks = other.m_uncalibratedSourceLinks;
121 
122  m_surfaces = other.m_surfaces;
123  m_geoContext = other.m_geoContext;
125  INSPECTCALL("copy c-tor done")
126 }

◆ 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 142 of file MultiTrajectory.cxx.

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

◆ 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 218 of file MultiTrajectory.cxx.

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

◆ 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 255 of file MultiTrajectory.h.

255  {
256  xAOD::TrackStateIndexType measIdx = m_trackStatesAux->calibrated[index];
257  return typename TrackStateProxy::template Calibrated<measdim>{m_trackMeasurementsAux->meas[measIdx].data()};
258  }

◆ calibrated_impl() [2/2]

template<std::size_t measdim>
ConstTrackStateProxy::template Calibrated<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 247 of file MultiTrajectory.h.

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

◆ 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 276 of file MultiTrajectory.h.

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

◆ calibratedCovariance_impl() [2/2]

template<std::size_t measdim>
ConstTrackStateProxy::template CalibratedCovariance<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 269 of file MultiTrajectory.h.

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

◆ clear_impl()

void ActsTrk::MutableMultiTrajectory::clear_impl ( )

clears backends decoration columns are still declared

Definition at line 494 of file MultiTrajectory.cxx.

494  {
495  INSPECTCALL(this);
497  m_trackStatesSize = 0;
498 
499  m_trackParametersAux->resize(0);
501 
502  m_trackJacobiansAux->resize(0);
504 
505  m_trackMeasurementsAux->resize(0);
507 
508  m_surfacesBackend->clear();
509  m_surfaces.clear();
510  m_calibratedSourceLinks.clear();
512 }

◆ component_impl() [1/2]

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

Definition at line 373 of file MultiTrajectory.cxx.

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

◆ 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 416 of file MultiTrajectory.cxx.

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

◆ 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 579 of file MultiTrajectory.cxx.

581  {
582  INSPECTCALL("copy dynamic decoration of key " << key << " destination MTJ has " << m_decorations.size() << " decorations");
584  INSPECTCALL("checking for destination of dynamic decoration " << d.name << " hash " << d.hash << " while looking for the key " << key);
585  if (d.hash == key) {
586  d.copier(m_trackStatesAux.get(), istate, d.auxid, src_ptr);
587  return;
588  }
589  }
590  throw std::invalid_argument("MultiTrajectory::copyDynamicFrom_impl no such decoration in destination MTJ " + std::to_string(key));
591 }

◆ covariance_impl() [1/2]

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

Definition at line 199 of file MultiTrajectory.h.

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

◆ covariance_impl() [2/2]

ConstTrackStateProxy::Covariance 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 195 of file MultiTrajectory.h.

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

◆ dynamicKeys_impl()

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

returns the keys of all the dynamic columns

Definition at line 593 of file MultiTrajectory.cxx.

593  {
594  std::vector<Acts::HashedString> keys;
596  keys.push_back(d.hash);
597  INSPECTCALL("collecting dynamic decoration " << d.name << " hash " << d.hash);
598  }
599  return keys;
600 }

◆ getUncalibratedSourceLink_impl()

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

Implementation of uncalibrated link fetch.

Definition at line 793 of file MultiTrajectory.cxx.

794  {
795  assert(istate < m_trackStatesIface.size());
796  // at the moment when converting Trk::Track to Acts tracks the measurements on track
797  // are not converted to xAOD::UncalibratedMeasurements, and the Acts::SourceLinks
798  // just contain a pointer to the Trk::Measurement. To keep this functionality
799  // SourceLinks are either stored in the m_uncalibratedSourceLinks cache
800  // or taken from the xAOD backend.
801  static const SG::ConstAccessor<const xAOD::UncalibratedMeasurement*> acc{"uncalibratedMeasurement"};
802  if (const xAOD::UncalibratedMeasurement* ptr = acc.withDefault(m_trackStatesIface, istate, nullptr))
803  {
804  return Acts::SourceLink( ptr );
805  }
806  return m_uncalibratedSourceLinks[istate].value();
807 }

◆ 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 129 of file MultiTrajectory.cxx.

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

◆ 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 466 of file MultiTrajectory.cxx.

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

◆ hasColumn_impl()

constexpr 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 233 of file MultiTrajectory.h.

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

◆ jacobian_impl() [2/2]

ConstTrackStateProxy::Covariance 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 227 of file MultiTrajectory.h.

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

◆ 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 185 of file MultiTrajectory.h.

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

◆ parameters_impl() [2/2]

ConstTrackStateProxy::Parameters 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 180 of file MultiTrajectory.h.

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

◆ referenceSurface_impl()

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

Definition at line 574 of file MultiTrajectory.cxx.

574  {
575  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");
576  return toSurfacePtr(m_surfaces[istate]);
577 }

◆ setReferenceSurface_impl()

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

Definition at line 548 of file MultiTrajectory.cxx.

549  {
550  if ( istate >= m_surfaces.size() )
551  m_surfaces.resize(istate+1, nullptr);
552 
553  m_trackStatesAux->geometryId[istate] = surface->geometryId().value();
554  if (surface->geometryId().value() == 0) { // free surface, needs recording of properties
555  m_surfacesBackend->push_back(new xAOD::TrackSurface());
556  encodeSurface(m_surfacesBackendAux.get(), m_surfacesBackendAux->size()-1, surface.get(), m_geoContext.context());
557  m_trackStatesAux->surfaceIndex[istate] = m_surfacesBackend->size()-1;
558  m_surfaces[istate] = std::move(surface); // and memory management
559 
560  } else {
561  m_surfaces[istate] = surface.get(); // no memory management, bare pointer
562  }
563  // store surface representation in
564 }

◆ setUncalibratedSourceLink_impl()

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

Implementation of uncalibrated link insertion.

Definition at line 522 of file MultiTrajectory.cxx.

523  {
524  INSPECTCALL( istate );
525 
527  static const Decor_t decor{"uncalibratedMeasurement"};
528  if (istate>= m_trackStatesIface.size()) {
529  throw std::range_error("istate out of range on TrackStates when attempting to access uncalibrated measurements");
530  }
531  Decor_t::span uncalibratedMeasurements = decor.getDecorationSpan(m_trackStatesIface);
532 
533  // @TODO normally the source links should contain an xAOD::UncalibratedMeasurement pointer
534  // but in some cases some other payload is used e.g. when converting Trk::Tracks.
535  // Only UncalibratedMeasurement pointer can be stored in the xAOD backend. Everything
536  // else has to go into the cache.
537  // Currently there is no possibility to check whether the source link contains a certain payload
538  // so can only catch the bad any cast
539  try {
540  uncalibratedMeasurements.at(istate) = sourceLink.get<ATLASUncalibSourceLink>();
541  }
542  catch (std::bad_any_cast &err) {
543  assert( istate < m_uncalibratedSourceLinks.size());
544  m_uncalibratedSourceLinks[istate] = sourceLink;
545  }
546 }

◆ 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 283 of file MultiTrajectory.cxx.

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

◆ size_impl()

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

size of the MTJ

Returns
size_t

Definition at line 287 of file MultiTrajectory.h.

287  {
288  return m_trackStatesSize;
289  }

◆ trackJacobiansAux()

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

Definition at line 364 of file MultiTrajectory.h.

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

◆ trackMeasurementsAux()

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

Definition at line 368 of file MultiTrajectory.h.

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

◆ trackMeasurementsCov() [1/2]

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

Definition at line 215 of file MultiTrajectory.h.

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

◆ 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 209 of file MultiTrajectory.h.

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

◆ trackParametersAux() [1/2]

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

Definition at line 360 of file MultiTrajectory.h.

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

◆ trackParametersAux() [2/2]

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

Definition at line 357 of file MultiTrajectory.h.

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

◆ trackStatesAux()

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

Definition at line 355 of file MultiTrajectory.h.

355 { return m_trackStatesAux.get(); }

◆ trackSurfacesAux()

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

Definition at line 372 of file MultiTrajectory.h.

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

◆ trim()

void ActsTrk::MutableMultiTrajectory::trim ( )
private

Definition at line 603 of file MultiTrajectory.cxx.

603  {
605  static const SG::Decorator<const xAOD::UncalibratedMeasurement*> decor{"uncalibratedMeasurement"};
606  if (m_trackStatesSize > 0) {
608  }
612 }

◆ 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 339 of file MultiTrajectory.cxx.

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

Member Data Documentation

◆ calibratedSize_impl

template<typename val_t , typename cov_t >
ActsTrk::IndexType ActsTrk::MutableMultiTrajectory::calibratedSize_impl

Implementation of allocation of calibrated measurements.

Implementation of calibrated size

Definition at line 320 of file MultiTrajectory.h.

◆ m_calibratedSourceLinks

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

Definition at line 398 of file MultiTrajectory.h.

◆ m_decorations

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

Definition at line 396 of file MultiTrajectory.h.

◆ m_geoContext

ActsGeometryContext ActsTrk::MutableMultiTrajectory::m_geoContext
private

Definition at line 402 of file MultiTrajectory.h.

◆ m_surfaces

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

Definition at line 401 of file MultiTrajectory.h.

◆ m_surfacesBackend

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

Definition at line 394 of file MultiTrajectory.h.

◆ m_surfacesBackendAux

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

Definition at line 395 of file MultiTrajectory.h.

◆ m_trackJacobiansAux

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

Definition at line 388 of file MultiTrajectory.h.

◆ m_trackJacobiansSize

size_t ActsTrk::MutableMultiTrajectory::m_trackJacobiansSize = 0
private

Definition at line 389 of file MultiTrajectory.h.

◆ m_trackMeasurementsAux

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

Definition at line 391 of file MultiTrajectory.h.

◆ m_trackMeasurementsSize

size_t ActsTrk::MutableMultiTrajectory::m_trackMeasurementsSize = 0
private

Definition at line 392 of file MultiTrajectory.h.

◆ m_trackParametersAux

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

Definition at line 385 of file MultiTrajectory.h.

◆ m_trackParametersSize

size_t ActsTrk::MutableMultiTrajectory::m_trackParametersSize = 0
private

Definition at line 386 of file MultiTrajectory.h.

◆ m_trackStatesAux

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

Definition at line 382 of file MultiTrajectory.h.

◆ m_trackStatesIface

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

Definition at line 404 of file MultiTrajectory.h.

◆ m_trackStatesSize

size_t ActsTrk::MutableMultiTrajectory::m_trackStatesSize = 0
private

Definition at line 383 of file MultiTrajectory.h.

◆ m_uncalibratedSourceLinks

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

Definition at line 399 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 376 of file MultiTrajectory.h.


The documentation for this class was generated from the following files:
CxxUtils::span
span(T *ptr, std::size_t sz) -> span< T >
A couple needed deduction guides.
ActsTrk::MutableMultiTrajectory::m_trackJacobiansSize
size_t m_trackJacobiansSize
Definition: MultiTrajectory.h:389
ActsTrk::MutableMultiTrajectory::m_trackStatesIface
xAOD::TrackStateContainer m_trackStatesIface
Definition: MultiTrajectory.h:404
ActsTrk::MutableMultiTrajectory::m_surfaces
std::vector< StoredSurface > m_surfaces
Definition: MultiTrajectory.h:401
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
MuonR4::SegmentFit::Parameters
AmgVector(toInt(ParamDefs::nPars)) Parameters
Definition: MuonHoughDefs.h:48
ActsTrk::MutableMultiTrajectory::m_decorations
std::vector< ActsTrk::detail::Decoration > m_decorations
Definition: MultiTrajectory.h:396
hist_file_dump.d
d
Definition: hist_file_dump.py:143
xAOD::UncalibratedMeasurement
UncalibratedMeasurement_v1 UncalibratedMeasurement
Define the version of the uncalibrated measurement class.
Definition: UncalibratedMeasurement.h:13
taskman.template
dictionary template
Definition: taskman.py:317
ActsTrk::MutableMultiTrajectory::m_trackParametersAux
std::unique_ptr< xAOD::TrackParametersAuxContainer > m_trackParametersAux
Definition: MultiTrajectory.h:385
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition: ConstAccessor.h:55
dbg::ptr
void * ptr(T *p)
Definition: SGImplSvc.cxx:74
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
to_const_ptr
const T * to_const_ptr(const std::unique_ptr< T > &ptr)
Definition: MultiTrajectory.cxx:90
python.utils.AtlRunQueryLookup.mask
string mask
Definition: AtlRunQueryLookup.py:460
ActsTrk::MutableMultiTrajectory::m_calibratedSourceLinks
std::vector< std::optional< Acts::SourceLink > > m_calibratedSourceLinks
Definition: MultiTrajectory.h:398
ActsTrk::detail::Decoration
Definition: Decoration.h:23
ActsGeometryContext::context
Acts::GeometryContext context() const
Definition: ActsGeometryContext.h:45
ActsTrk::MutableMultiTrajectory::has_impl
bool has_impl(Acts::HashedString key, ActsTrk::IndexType istate) const
checks if given state has requested component
Definition: MultiTrajectory.cxx:466
InvalidGeoID
constexpr uint64_t InvalidGeoID
Definition: MultiTrajectory.cxx:13
ActsTrk::MutableMultiTrajectory::m_trackMeasurementsAux
std::unique_ptr< xAOD::TrackMeasurementAuxContainer > m_trackMeasurementsAux
Definition: MultiTrajectory.h:391
ActsTrk::encodeSurface
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.
Definition: SurfaceEncoding.cxx:55
ActsTrk::IndexType
std::uint32_t IndexType
Definition: Decoration.h:14
xAOD::UncalibratedMeasurement_v1
Definition: UncalibratedMeasurement_v1.h:13
SG::Decorator
Helper class to provide type-safe access to aux data.
Definition: Decorator.h:59
dqt_zlumi_pandas.err
err
Definition: dqt_zlumi_pandas.py:182
Acts
Definition: ChamberAssembleTool.h:18
ActsTrk::ATLASUncalibSourceLink
const xAOD::UncalibratedMeasurement * ATLASUncalibSourceLink
Definition: ATLASSourceLink.h:24
xAOD::TrackSurface_v1
TrackSurface for Acts MultiTrajectory and TrackSummary.
Definition: TrackSurface_v1.h:22
ActsTrk::MutableMultiTrajectory::m_uncalibratedSourceLinks
std::vector< std::optional< Acts::SourceLink > > m_uncalibratedSourceLinks
Definition: MultiTrajectory.h:399
ActsTrk::MutableMultiTrajectory::m_surfacesBackendAux
std::unique_ptr< xAOD::TrackSurfaceAuxContainer > m_surfacesBackendAux
Definition: MultiTrajectory.h:395
INSPECTCALL
#define INSPECTCALL(_INFO)
Definition: MultiTrajectory.h:32
AthenaPoolTestRead.acc
acc
Definition: AthenaPoolTestRead.py:16
xAOD::TrackStateIndexType
uint32_t TrackStateIndexType
Definition: TrackState_v1.h:15
ActsTrk::MutableMultiTrajectory::MutableMultiTrajectory
MutableMultiTrajectory()
Construct a new Multi Trajectory object owning backends.
Definition: MultiTrajectory.cxx:94
DataVector::resize
void resize(size_type sz)
Resizes the collection to the specified number of elements.
ActsTrk::MutableMultiTrajectory::m_trackStatesSize
size_t m_trackStatesSize
Definition: MultiTrajectory.h:383
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
ActsTrk::MutableMultiTrajectory::m_trackStatesAux
std::unique_ptr< xAOD::TrackStateAuxContainer > m_trackStatesAux
Definition: MultiTrajectory.h:382
ActsTrk::MutableMultiTrajectory::m_trackMeasurementsSize
size_t m_trackMeasurementsSize
Definition: MultiTrajectory.h:392
ActsTrk::MutableMultiTrajectory::m_surfacesBackend
std::unique_ptr< xAOD::TrackSurfaceContainer > m_surfacesBackend
Definition: MultiTrajectory.h:394
DeMoScan.index
string index
Definition: DeMoScan.py:364
SG::Decorator::getDecorationSpan
span getDecorationSpan(const AuxVectorData &container) const
Get a span over the auxilary data array.
MuonR4::SegmentFit::Covariance
AmgSymMatrix(toInt(ParamDefs::nPars)) Covariance
Definition: MuonHoughDefs.h:49
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
copySelective.target
string target
Definition: copySelective.py:37
get
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
Definition: hcg.cxx:127
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
ActsTrk::MutableMultiTrajectory::m_geoContext
ActsGeometryContext m_geoContext
Definition: MultiTrajectory.h:402
ActsTrk::MutableMultiTrajectory::m_trackJacobiansAux
std::unique_ptr< xAOD::TrackJacobianAuxContainer > m_trackJacobiansAux
Definition: MultiTrajectory.h:388
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
DataVector::size
size_type size() const noexcept
Returns the number of elements in the collection.
ActsTrk::MutableMultiTrajectory::m_trackParametersSize
size_t m_trackParametersSize
Definition: MultiTrajectory.h:386
Trk::previous
@ previous
Definition: BinningData.h:32
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37