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::Parameters parameters_impl (ActsTrk::IndexType index) const
 obtains proxy to the track state under given index
TrackStateProxy::Parameters parameters_impl (ActsTrk::IndexType index)
ConstTrackStateProxy::Covariance 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::Covariance 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 Calibrated< 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 CalibratedCovariance< 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 && Eigen::PlainObjectBase<val_t>::RowsAtCompileTime <= Acts::eBoundSize && Eigen::PlainObjectBase<val_t>::RowsAtCompileTime == 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 77 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 83 of file MultiTrajectory.h.

◆ TrackStateProxy

Initial value:
typename Acts::MultiTrajectory<
typename Acts::MultiTrajectory< ActsTrk::MutableMultiTrajectory >::TrackStateProxy 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}
#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:130

◆ 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;
124 m_trackStatesIface.resize(m_trackStatesAux->size());
125 INSPECTCALL("copy c-tor done")
126}
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 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);
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}
constexpr uint64_t InvalidGeoID
std::uint32_t IndexType
Definition Decoration.h:14
@ 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 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);
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}

◆ allocateCalibrated_impl()

template<typename val_t, typename cov_t>
requires (Eigen::PlainObjectBase<val_t>::RowsAtCompileTime > 0 && Eigen::PlainObjectBase<val_t>::RowsAtCompileTime <= Acts::eBoundSize && Eigen::PlainObjectBase<val_t>::RowsAtCompileTime == 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 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 }
str index
Definition DeMoScan.py:362
uint32_t TrackStateIndexType

◆ 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 }

◆ calibratedSize_impl()

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

Implementation of calibrated size.

Definition at line 515 of file MultiTrajectory.cxx.

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

◆ 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);
496 m_trackStatesIface.resize(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();
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}
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 579 of file MultiTrajectory.cxx.

581 {
582 INSPECTCALL("copy dynamic decoration of key " << key << " destination MTJ has " << m_decorations.size() << " decorations");
583 for (const ActsTrk::detail::Decoration& d : m_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;
595 for ( const ActsTrk::detail::Decoration& d: m_decorations) {
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}
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 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}
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 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}
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 522 of file MultiTrajectory.cxx.

523 {
524 INSPECTCALL( istate );
525
526 using Decor_t = SG::Decorator<const xAOD::UncalibratedMeasurement*>;
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}
const xAOD::UncalibratedMeasurement * ATLASUncalibSourceLink

◆ 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(); }

◆ trackSurfaces() [1/2]

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

Definition at line 375 of file MultiTrajectory.h.

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

◆ trackSurfaces() [2/2]

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

Definition at line 378 of file MultiTrajectory.h.

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

◆ 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}
span getDecorationSpan(const AuxVectorData &container) const
Get a span over the auxilary data array.

◆ 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

◆ m_calibratedSourceLinks

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

Definition at line 404 of file MultiTrajectory.h.

◆ m_decorations

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

Definition at line 402 of file MultiTrajectory.h.

◆ m_geoContext

GeometryContext ActsTrk::MutableMultiTrajectory::m_geoContext
private

Definition at line 408 of file MultiTrajectory.h.

◆ m_surfaces

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

Definition at line 407 of file MultiTrajectory.h.

◆ m_surfacesBackend

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

Definition at line 400 of file MultiTrajectory.h.

◆ m_surfacesBackendAux

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

Definition at line 401 of file MultiTrajectory.h.

◆ m_trackJacobiansAux

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

Definition at line 394 of file MultiTrajectory.h.

◆ m_trackJacobiansSize

size_t ActsTrk::MutableMultiTrajectory::m_trackJacobiansSize = 0
private

Definition at line 395 of file MultiTrajectory.h.

◆ m_trackMeasurementsAux

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

Definition at line 397 of file MultiTrajectory.h.

◆ m_trackMeasurementsSize

size_t ActsTrk::MutableMultiTrajectory::m_trackMeasurementsSize = 0
private

Definition at line 398 of file MultiTrajectory.h.

◆ m_trackParametersAux

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

Definition at line 391 of file MultiTrajectory.h.

◆ m_trackParametersSize

size_t ActsTrk::MutableMultiTrajectory::m_trackParametersSize = 0
private

Definition at line 392 of file MultiTrajectory.h.

◆ m_trackStatesAux

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

Definition at line 388 of file MultiTrajectory.h.

◆ m_trackStatesIface

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

Definition at line 410 of file MultiTrajectory.h.

◆ m_trackStatesSize

size_t ActsTrk::MutableMultiTrajectory::m_trackStatesSize = 0
private

Definition at line 389 of file MultiTrajectory.h.

◆ m_uncalibratedSourceLinks

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

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


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