ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
Description of a set of (local) parameters. More...
#include <acts/blob/master/Core/include/Acts/EventData/ParameterSet.hpp>
Public Types | |
using | Projection_t = ActsMatrix< ParValue_t, NPars, eBoundParametersSize > |
using | ParVector_t = ActsVector< ParValue_t, NPars > |
vector type for stored parameters | |
using | CovMatrix_t = ActsSymMatrix< ParValue_t, NPars > |
type of covariance matrix | |
Public Member Functions | |
template<typename... Tail> | |
ParameterSet (std::optional< CovMatrix_t > cov, std::enable_if_t< sizeof...(Tail)+1==NPars, ParValue_t > head, Tail...values) | |
initialize values of stored parameters and their covariance matrix | |
ParameterSet (std::optional< CovMatrix_t > cov, const ParVector_t &values) | |
initialize parameter values from vector and set their covariance matrix | |
ParameterSet (const ParSet_t ©) | |
copy constructor | |
ParameterSet (ParSet_t &©) | |
move constructor | |
~ParameterSet ()=default | |
standard destructor | |
ParSet_t & | operator= (const ParSet_t &rhs) |
assignment operator | |
ParSet_t & | operator= (ParSet_t &&rhs) |
move assignment operator | |
template<ParID_t parameter> | |
ParValue_t | getParameter () const |
retrieve stored value for given parameter | |
ParVector_t | getParameters () const |
access vector with stored parameters | |
template<ParID_t parameter> | |
void | setParameter (ParValue_t value) |
sets value for given parameter | |
void | setParameters (const ParVector_t &values) |
sets values of stored parameters | |
template<ParID_t parameter> | |
bool | contains () const |
checks whether a given parameter is included in this set of parameters | |
const std::optional < CovMatrix_t > & | getCovariance () const |
access covariance matrix for stored parameters | |
template<ParID_t parameter> | |
ParValue_t | getUncertainty () const |
access uncertainty for individual parameter | |
void | setCovariance (const CovMatrix_t &cov) |
update covariance matrix | |
bool | operator== (const ParSet_t &rhs) const |
equality operator | |
bool | operator!= (const ParSet_t &rhs) const |
inequality operator | |
ParVector_t | project (const FullParameterSet &fullParSet) const |
project vector of full parameter set onto parameter sub-space | |
ParVector_t | residual (const FullParameterSet &fullParSet) const |
calculate residual difference to full parameter vector | |
ParVector_t | residual (const ParSet_t &otherParSet) const |
calculate residual difference to other parameter vector | |
Static Public Member Functions | |
template<ParID_t parameter> | |
static constexpr size_t | getIndex () |
return index of parameter identifier in parameter list | |
template<size_t index> | |
static constexpr ParID_t | getParID () |
return parameter identifier for given index | |
static const ActsMatrix < ParValue_t, NPars, eBoundParametersSize > | projector () |
get projection matrix | |
static constexpr unsigned int | size () |
number of stored parameters | |
static void | correctValues (ParVector_t &values) |
correct given parameter values | |
Private Types | |
using | ParSet_t = ParameterSet< params...> |
Private Attributes | |
ParVector_t | m_vValues {ParVector_t::Zero()} |
std::optional< CovMatrix_t > | m_optCovariance |
an optional covariance matrix | |
Static Private Attributes | |
static constexpr unsigned int | NPars |
< type of this parameter set | |
static const Projection_t | sProjector |
Friends | |
void | swap (ParSet_t &first, ParSet_t &second) noexcept |
swap two objects | |
Description of a set of (local) parameters.
ParameterPolicy
must fulfill the following requirements:typedef ParID_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 ParValue_t
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 Acts::eBoundParametersSize
.
ParameterPolicy | struct or class containing the parameter definitions (see above) |
params | parameter pack containing the (local) parameters stored in this class |
Definition at line 81 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 81 of file ParameterSet.hpp
using Acts::ParameterSet< params >::CovMatrix_t = ActsSymMatrix<ParValue_t, NPars> |
type of covariance matrix
Definition at line 109 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 109 of file ParameterSet.hpp
|
private |
Definition at line 84 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 84 of file ParameterSet.hpp
using Acts::ParameterSet< params >::ParVector_t = ActsVector<ParValue_t, NPars> |
vector type for stored parameters
Definition at line 107 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 107 of file ParameterSet.hpp
using Acts::ParameterSet< params >::Projection_t = ActsMatrix<ParValue_t, NPars, eBoundParametersSize> |
matrix type for projecting full parameter vector onto local parameter space
Definition at line 105 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 105 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 122 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 122 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 |
copy constructor
copy | object whose content is copied into the new ParameterSet object |
Definition at line 158 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 158 of file ParameterSet.hpp
|
inline |
move constructor
copy | object whose content is moved into the new ParameterSet object |
Definition at line 167 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 167 of file ParameterSet.hpp
|
default |
standard destructor
|
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 301 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 301 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 531 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 531 of file ParameterSet.hpp
|
inline |
access covariance matrix for stored parameters
Definition at line 313 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 313 of file ParameterSet.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), and Acts::Measurement< source_link_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 219 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 219 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 249 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 249 of file ParameterSet.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
access vector with stored parameters
NPars
rows Definition at line 258 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 258 of file ParameterSet.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), and Acts::Measurement< source_link_t, params >::parameters().
|
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 235 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 235 of file ParameterSet.hpp
|
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 330 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 330 of file ParameterSet.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
|
inline |
inequality operator
true
if both objects are not equal, otherwise false
Definition at line 386 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 386 of file ParameterSet.hpp
|
inline |
assignment operator
rhs | object whose content is assigned to this ParameterSet object |
Definition at line 183 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 183 of file ParameterSet.hpp
|
inline |
move assignment operator
rhs | object whose content is moved into this ParameterSet object |
Definition at line 194 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 194 of file ParameterSet.hpp
|
inline |
equality operator
true
if stored parameter values are equal and both covariance matrices are either identical or not set, otherwise false
Definition at line 355 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 355 of file ParameterSet.hpp
|
inline |
project vector of full parameter set onto parameter sub-space
Let be the full set of parameters out of which the parameters are stored in this ParameterSet object. Let be the parameter values given in the full ParameterSet, then this methods applies the following mapping:
fullParSet | ParameterSet object containing values for all defined parameters |
Definition at line 413 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 413 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.
NPars
rows and Acts::eBoundParametersSize
columns Definition at line 508 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 508 of file ParameterSet.hpp
Referenced by Acts::ParameterSet< params...>::project(), and Acts::ParameterSet< 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.
fullParSet | ParameterSet object containing the full set of parameters |
Definition at line 456 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 456 of file ParameterSet.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE(), and Acts::Measurement< source_link_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 493 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 493 of file ParameterSet.hpp
|
inline |
update covariance matrix
cov | unique pointer to new covariance matrix (nullptr is accepted) |
Definition at line 346 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 346 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 271 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 271 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 NPars |
Definition at line 285 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 285 of file ParameterSet.hpp
|
inlinestatic |
number of stored parameters
Definition at line 517 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 517 of file ParameterSet.hpp
Referenced by Acts::Test::BOOST_AUTO_TEST_CASE().
swap two objects
Definition at line 203 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 203 of file ParameterSet.hpp
|
private |
an optional covariance matrix
Definition at line 538 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 538 of file ParameterSet.hpp
Referenced by Acts::ParameterSet< params...>::getCovariance(), Acts::ParameterSet< params...>::getUncertainty(), Acts::ParameterSet< params...>::operator=(), Acts::ParameterSet< params...>::operator==(), Acts::ParameterSet< params...>::ParameterSet(), and Acts::ParameterSet< params...>::setCovariance().
|
private |
column vector containing values of local parameters
Definition at line 536 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 536 of file ParameterSet.hpp
Referenced by Acts::ParameterSet< params...>::getParameter(), Acts::ParameterSet< params...>::getParameters(), Acts::ParameterSet< params...>::operator=(), Acts::ParameterSet< params...>::operator==(), Acts::ParameterSet< params...>::residual(), and Acts::ParameterSet< params...>::setParameter().
|
staticprivate |
< type of this parameter set
number of parameters stored in this class
Definition at line 85 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 85 of file ParameterSet.hpp
Referenced by Acts::ParameterSet< params...>::size().
|
staticprivate |
matrix to project full parameter vector onto local parameter space
Definition at line 541 of file ParameterSet.hpp.
View newest version in sPHENIX GitHub at line 541 of file ParameterSet.hpp
Referenced by Acts::ParameterSet< params...>::projector().