ATLAS Offline Software
Loading...
Searching...
No Matches
TrackMeasurement_v1.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4#ifndef XAODTRACKING_VERSIONS_TRACKMEASUREMENT_V1_H
5#define XAODTRACKING_VERSIONS_TRACKMEASUREMENT_V1_H
6#include <cstdint>
7#include "AthLinks/ElementLink.h"
10
12
13
14
15namespace xAOD {
19
21 public:
26 template<std::size_t measdim = 6>
27 Eigen::Map<const Eigen::Matrix<double, measdim, 1>> measEigen() const {
28 return Eigen::Map<const Eigen::Matrix<double, measdim, 1>>{s_measAcc(*this).data()};
29 }
30
34 template<std::size_t measdim = 6>
35 Eigen::Map<Eigen::Matrix<double, measdim, 1>> measEigen() {
36 return Eigen::Map<Eigen::Matrix<double, measdim, 1>>{s_measAcc(*this).data()};
37 }
38
42 const std::vector<double>& meas() const;
43
47 void setMeas( const std::vector<double>& m);
48
52 template<std::size_t measdim = 6>
53 Eigen::Map<const Eigen::Matrix<double, measdim, measdim>> covMatrixEigen() const {
54 return Eigen::Map<const Eigen::Matrix<double, measdim, measdim>>{s_covMatrixAcc(*this).data()};
55 }
56
60 template<std::size_t measdim = 6>
61 Eigen::Map<Eigen::Matrix<double, measdim, measdim>> covMatrixEigen() {
62 return Eigen::Map<Eigen::Matrix<double, measdim, measdim>> {s_covMatrixAcc(*this).data()};
63 }
64
68 const std::vector<double>& covMatrix() const;
69
73 void setCovMatrix( const std::vector<double>& m);
74
75
80
81
85 void setUncalibratedMeasurement(const xAOD::UncalibratedMeasurement *uncalibrated_measurement);
86
87
97 const std::uint64_t& projector() const;
98 const std::uint64_t* projectorPtr() const;
99 std::uint64_t* projectorPtr();
100 void setProjector( const std::uint64_t& m);
101
107 void resize(size_t sz = 6);
108
112 size_t size() const;
113 private:
116 };
117}
118#endif
Base class for elements of a container that can have aux data.
static Double_t sz
Base class for elements of a container that can have aux data.
Definition AuxElement.h:483
SG::Accessor< T, ALLOC > Accessor
Definition AuxElement.h:572
const std::vector< double > & meas() const
access track Measurements as plain vector
Eigen::Map< const Eigen::Matrix< double, measdim, 1 > > measEigen() const
access track Measurements vector of const element
void setCovMatrix(const std::vector< double > &m)
access set covariance from plain vector
Eigen::Map< Eigen::Matrix< double, measdim, measdim > > covMatrixEigen()
access track covariance matrix (flattened, rows layout)
void setUncalibratedMeasurement(const xAOD::UncalibratedMeasurement *uncalibrated_measurement)
set uncalibrated measurement
size_t size() const
retrieve the size of the internal vectors for the data storage
Eigen::Map< Eigen::Matrix< double, measdim, 1 > > measEigen()
access Measurements of non const element
const xAOD::UncalibratedMeasurement * uncalibratedMeasurement() const
access the uncalibrated measurement
std::uint64_t * projectorPtr()
static const SG::AuxElement::Accessor< std::vector< double > > s_measAcc
Eigen::Map< const Eigen::Matrix< double, measdim, measdim > > covMatrixEigen() const
access track covariance matrix (flattened, rows layout) of const element
static const SG::AuxElement::Accessor< std::vector< double > > s_covMatrixAcc
void resize(size_t sz=6)
expands sizes of internal vectors for the data storage ( by default this is 6 for Measurements and 6x...
void setProjector(const std::uint64_t &m)
const std::vector< double > & covMatrix() const
access track covariance as plain vector
const std::uint64_t * projectorPtr() const
const std::uint64_t & projector() const
The quantities measured by detector, are functions of the state vector, corrupted by a measurement no...
void setMeas(const std::vector< double > &m)
access set Measurements from plain vector
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
UncalibratedMeasurement_v1 UncalibratedMeasurement
Define the version of the uncalibrated measurement class.