Skip to content
Snippets Groups Projects

Implement new TrackState EDM used in KF

Merged Paul Gessinger requested to merge local_trajectory into master
1 file
+ 39
0
Compare changes
  • Side-by-side
  • Inline
@@ -122,6 +122,14 @@ namespace detail_lt {
return m_data.surface;
}
/// Track parameters vector.
Parameters
parameters() const;
/// Track parameters covariance matrix.
Covariance
covariance() const;
/// Track parameters vector.
Parameters
predicted() const;
@@ -322,6 +330,37 @@ namespace detail_lt {
{
}
template <size_t N, size_t M, bool ReadOnly>
inline auto
TrackStateProxy<N, M, ReadOnly>::parameters() const -> Parameters
{
IndexData::IndexType idx;
if (hasSmoothed()) {
idx = m_data.ismoothed;
} else if (hasFiltered()) {
idx = m_data.ifiltered;
} else {
idx = m_data.ipredicted;
}
return Parameters(m_traj.m_params.data.col(idx).data());
}
template <size_t N, size_t M, bool ReadOnly>
inline auto
TrackStateProxy<N, M, ReadOnly>::covariance() const -> Covariance
{
IndexData::IndexType idx;
if (hasSmoothed()) {
idx = m_data.ismoothed;
} else if (hasFiltered()) {
idx = m_data.ifiltered;
} else {
idx = m_data.ipredicted;
}
return Covariance(m_traj.m_cov.data.col(idx).data());
}
template <size_t N, size_t M, bool ReadOnly>
inline auto
TrackStateProxy<N, M, ReadOnly>::predicted() const -> Parameters
Loading