EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
Description of a set of (local) parameters. More...
#include <acts/blob/sPHENIX/Core/include/Acts/EventData/ParameterSet.hpp>
Public Types | |
using | Scalar = detail::ParametersScalar< parameter_indices_t > |
using | ParametersVector = ActsVector< Scalar, kNumberOfParameters > |
using | FullParametersVector = ActsVector< Scalar, kSizeMax > |
Vector type containing all parameters from the same space. | |
using | CovarianceMatrix = ActsSymMatrix< Scalar, kNumberOfParameters > |
using | ProjectionMatrix = ActsMatrix< Scalar, kNumberOfParameters, kSizeMax > |
Projection matrix to project full parameters into the configured space. | |
Public Member Functions | |
template<typename... Tail> | |
ParameterSet (std::optional< CovarianceMatrix > cov, std::enable_if_t< sizeof...(Tail)+1==kNumberOfParameters, Scalar > head, Tail...values) | |
initialize values of stored parameters and their covariance matrix | |
ParameterSet (std::optional< CovarianceMatrix > cov, const ParametersVector &values) | |
initialize parameter values from vector and set their covariance matrix | |
template<parameter_indices_t parameter> | |
Scalar | getParameter () const |
retrieve stored value for given parameter | |
const ParametersVector & | getParameters () const |
access vector with stored parameters | |
template<parameter_indices_t parameter> | |
void | setParameter (Scalar value) |
sets value for given parameter | |
void | setParameters (const ParametersVector &values) |
sets values of stored parameters | |
template<parameter_indices_t parameter> | |
bool | contains () const |
checks whether a given parameter is included in this set of parameters | |
const std::optional < CovarianceMatrix > & | getCovariance () const |
access covariance matrix for stored parameters | |
template<parameter_indices_t parameter> | |
Scalar | getUncertainty () const |
access uncertainty for individual parameter | |
void | setCovariance (const CovarianceMatrix &cov) |
update covariance matrix | |
ParametersVector | residual (const FullParametersVector &other) const |
calculate residual difference to full parameter vector | |
ParametersVector | residual (const ParameterSet &otherParSet) const |
calculate residual difference to other parameter vector | |
bool | operator== (const ParameterSet &other) const |
Compare with another parameter set for equality. | |
bool | operator!= (const ParameterSet &other) const |
Compare with another parameter set for inequality. | |
Static Public Member Functions | |
template<parameter_indices_t parameter> | |
static constexpr size_t | getIndex () |
return index of parameter identifier in parameter list | |
template<size_t index> | |
static constexpr parameter_indices_t | getParameterIndex () |
return parameter identifier for given index | |
static const ProjectionMatrix & | projector () |
get projection matrix | |
static constexpr unsigned int | size () |
number of stored parameters | |
static void | correctValues (ParametersVector &values) |
correct given parameter values | |
Private Attributes | |
ParametersVector | m_vValues {ParametersVector::Zero()} |
column vector containing values of local parameters. | |
std::optional< CovarianceMatrix > | m_optCovariance {std::nullopt} |
optional covariance matrix. | |
Static Private Attributes | |
static constexpr unsigned int | kNumberOfParameters = sizeof...(params) |
number of parameters stored in this class | |
static constexpr unsigned int | kSizeMax |
Highest index in used parameter indices. | |
static const ProjectionMatrix | sProjector |
matrix to project full parameter vector onto local parameter space. | |
Description of a set of (local) parameters.
ParameterPolicy
must fulfill the following requirements:typedef #parameter_indices_t
specifying an integral type used to identify different parameters. This could for example be an enum
, short
, or unsigned int
. This typedef
must be convertible to an unsigned int
typedef Scalar
specifying the type of the parameter values. This could for instance be double
, or float
.N
which is assignable to an unsigned int
and which is equal to the total number of parameters in the system. The template parameter pack params
must be given in a strictly ascending order. The parameter pack must be non-empty and it cannot contain more elements than parsSize
.
ParameterPolicy | struct or class containing the parameter definitions (see above) |
params | parameter pack containing the (local) parameters stored in this class |
Definition at line 77 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 77 of file ParameterSet.hpp
using Acts::ParameterSet< parameter_indices_t, params >::CovarianceMatrix = ActsSymMatrix<Scalar, kNumberOfParameters> |
Definition at line 105 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 105 of file ParameterSet.hpp
using Acts::ParameterSet< parameter_indices_t, params >::FullParametersVector = ActsVector<Scalar, kSizeMax> |
Vector type containing all parameters from the same space.
Definition at line 104 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 104 of file ParameterSet.hpp
using Acts::ParameterSet< parameter_indices_t, params >::ParametersVector = ActsVector<Scalar, kNumberOfParameters> |
Definition at line 102 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 102 of file ParameterSet.hpp
using Acts::ParameterSet< parameter_indices_t, params >::ProjectionMatrix = ActsMatrix<Scalar, kNumberOfParameters, kSizeMax> |
Projection matrix to project full parameters into the configured space.
Definition at line 107 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 107 of file ParameterSet.hpp
using Acts::ParameterSet< parameter_indices_t, params >::Scalar = detail::ParametersScalar<parameter_indices_t> |
Definition at line 101 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 101 of file ParameterSet.hpp
|
inline |
initialize values of stored parameters and their covariance matrix
cov | unique pointer to covariance matrix (nullptr is accepted) |
head | value for first parameter |
values | values for the remaining stored parameters |
Definition at line 120 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 120 of file ParameterSet.hpp
|
inline |
initialize parameter values from vector and set their covariance matrix
params
. No validation of the given covariance matrix is performed.cov | unique pointer to covariance matrix (nullptr is accepted) |
values | vector with parameter values |
Definition at line 144 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 144 of file ParameterSet.hpp
|
inline |
checks whether a given parameter is included in this set of parameters
parameter | identifier for the parameter to be retrieved |
parameter
must be part of the template parameter pack params
. Otherwise a compile-time error is generated.true
if the parameter is stored in this set, otherwise false
Definition at line 252 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 252 of file ParameterSet.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inlinestatic |
correct given parameter values
Check that the given values are within in a valid range for the corresponding parameter. If not, an in-place correction is applied. The values are interpreted as parameter values in the same order as specified in the class template params
.
values | vector with parameter values to be checked and corrected if necessary |
Definition at line 405 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 405 of file ParameterSet.hpp
|
inline |
access covariance matrix for stored parameters
Definition at line 265 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 265 of file ParameterSet.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), and Acts::Measurement< source_link_t, parameter_indices_t, params >::covariance().
|
inlinestatic |
return index of parameter identifier in parameter list
parameter | identifier for the parameter to be retrieved |
parameter
must be part of the template parameter pack params
. Otherwise a compile-time error is generated.params
Definition at line 167 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 167 of file ParameterSet.hpp
|
inline |
retrieve stored value for given parameter
parameter | identifier for the parameter to be retrieved |
parameter
must be part of the template parameter pack params
. Otherwise a compile-time error is generated.Definition at line 198 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 198 of file ParameterSet.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inlinestatic |
return parameter identifier for given index
index | position of parameter identifier in params |
index
must be a positive number smaller than the size of the parameter pack params
. Otherwise a compile-time error is generated.index
in variadic template parameter set params
Definition at line 184 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 184 of file ParameterSet.hpp
|
inline |
access vector with stored parameters
kNumberOfParameters
rows Definition at line 207 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 207 of file ParameterSet.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), and Acts::Measurement< source_link_t, parameter_indices_t, params >::parameters().
|
inline |
access uncertainty for individual parameter
parameter | identifier for the parameter to be retrieved |
parameter
must be part of the template parameter pack params
. Otherwise a compile-time error is generated.Definition at line 282 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 282 of file ParameterSet.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
Compare with another parameter set for inequality.
Definition at line 415 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 415 of file ParameterSet.hpp
|
inline |
Compare with another parameter set for equality.
Definition at line 410 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 410 of file ParameterSet.hpp
|
inlinestatic |
get projection matrix
The projection matrix performs a mapping of the full parameter space onto the sub-space spanned by the parameters defined in this ParameterSet object.
kNumberOfParameters
rows and kSizeMax
columns Definition at line 384 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 384 of file ParameterSet.hpp
Referenced by Acts::ParameterSet< parameter_indices_t, params...>::residual().
|
inline |
calculate residual difference to full parameter vector
Calculate the residual differences of the stored parameter values with respect to the corresponding parameter values in the full parameter vector. Hereby, the residual vector is defined as
where is the projection matrix, is the vector of parameter values of this ParameterSet object and is the full parameter value vector.
boundParams | Vector of bound parameters |
BoundTrackParameters
are not tested. BoundTrackParameters
is at the same reference objectDefinition at line 332 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 332 of file ParameterSet.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), and Acts::Measurement< source_link_t, parameter_indices_t, params >::residual().
|
inline |
calculate residual difference to other parameter vector
Calculate the residual differences of the stored parameter values with respect to the values of another ParameterSet object containing the same set of parameters. Hereby, the residual vector is defined as
where is the vector of parameter values of this ParameterSet object and is the parameter value vector of the other ParameterSet object.
otherParSet | ParameterSet object with identical set of contained parameters |
Definition at line 369 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 369 of file ParameterSet.hpp
|
inline |
update covariance matrix
cov | unique pointer to new covariance matrix (nullptr is accepted) |
Definition at line 298 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 298 of file ParameterSet.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
sets value for given parameter
parameter | identifier for the parameter to be stored |
parameter
must be part of the template parameter pack params
. Otherwise a compile-time error is generated.Definition at line 220 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 220 of file ParameterSet.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
sets values of stored parameters
The values of the given vector are interpreted as parameter values in the order of the class template params...
.
values | vector of length kNumberOfParameters |
Definition at line 235 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 235 of file ParameterSet.hpp
|
inlinestatic |
number of stored parameters
Definition at line 391 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 391 of file ParameterSet.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
staticprivate |
number of parameters stored in this class
Definition at line 80 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 80 of file ParameterSet.hpp
Referenced by Acts::ParameterSet< parameter_indices_t, params...>::size().
|
staticprivate |
Highest index in used parameter indices.
Definition at line 82 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 82 of file ParameterSet.hpp
|
private |
optional covariance matrix.
Definition at line 421 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 421 of file ParameterSet.hpp
Referenced by Acts::ParameterSet< parameter_indices_t, params...>::getCovariance(), Acts::ParameterSet< parameter_indices_t, params...>::getUncertainty(), Acts::ParameterSet< parameter_indices_t, params...>::operator==(), Acts::ParameterSet< parameter_indices_t, params...>::ParameterSet(), and Acts::ParameterSet< parameter_indices_t, params...>::setCovariance().
|
private |
column vector containing values of local parameters.
Definition at line 419 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 419 of file ParameterSet.hpp
Referenced by Acts::ParameterSet< parameter_indices_t, params...>::getParameter(), Acts::ParameterSet< parameter_indices_t, params...>::getParameters(), Acts::ParameterSet< parameter_indices_t, params...>::operator==(), Acts::ParameterSet< parameter_indices_t, params...>::residual(), and Acts::ParameterSet< parameter_indices_t, params...>::setParameter().
|
staticprivate |
matrix to project full parameter vector onto local parameter space.
Definition at line 424 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 424 of file ParameterSet.hpp
Referenced by Acts::ParameterSet< parameter_indices_t, params...>::projector().