ATLAS Offline Software
|
Pure abstract class representing the deformation model of an Element. More...
#include <ElementModel.h>
Classes | |
struct | ParameterVector |
Public Types | |
using | ipar_t = unsigned int |
using | VectorSet = Eigen::Matrix< double, 3, Eigen::Dynamic, Eigen::ColMajor|Eigen::AutoAlign, 3, 5 > |
using | VectorSetRef = Eigen::Ref< VectorSet > |
Public Member Functions | |
virtual | ~ElementModel ()=default |
virtual int | nParameters () const =0 |
virtual void | transform (const ParameterVector &parvec, VectorSetRef local) const =0 |
virtual void | cacheTransform (ParameterVector &parvec) const =0 |
virtual ipar_t | getParameterIndex (const std::string &parname) const =0 |
virtual std::string | getParameterName (ipar_t ipar) const =0 |
Pure abstract class representing the deformation model of an Element.
The sub-classes of ElementModel implement the transform method, which converts a point (or a set of points) provided in local coordinates to the higher-level coordinate system. This transformation is constituted of a rigid component (translations and rotation) and possibly deformations.
The transform method makes use of a ParameterVector structure, which is a wrapper around the std::vector of model parameters, and holds in addition the cache-able part (the rigid component) of the transform represented by this model.
The precise definition of the ParameterVector parameters is specific to the concrete implementations of ElementModel
The ParameterVector is not saved in this class or its sub-classes, and must be provided externally (i.e. by the class Element) on the call to the method transform.
Definition at line 33 of file ElementModel.h.
using NswAsBuilt::ElementModel::ipar_t = unsigned int |
Definition at line 35 of file ElementModel.h.
using NswAsBuilt::ElementModel::VectorSet = Eigen::Matrix<double, 3, Eigen::Dynamic, Eigen::ColMajor|Eigen::AutoAlign, 3, 5> |
Definition at line 36 of file ElementModel.h.
using NswAsBuilt::ElementModel::VectorSetRef = Eigen::Ref<VectorSet> |
Definition at line 37 of file ElementModel.h.
|
virtualdefault |
|
pure virtual |
Implemented in NswAsBuilt::ElementModelScaleSag, NswAsBuilt::ElementModelSTGC, and NswAsBuilt::ElementModelRigid.
|
pure virtual |
Implemented in NswAsBuilt::ElementModelScaleSag, NswAsBuilt::ElementModelSTGC, and NswAsBuilt::ElementModelRigid.
|
pure virtual |
Implemented in NswAsBuilt::ElementModelScaleSag, NswAsBuilt::ElementModelSTGC, and NswAsBuilt::ElementModelRigid.
|
pure virtual |
Implemented in NswAsBuilt::ElementModelScaleSag, NswAsBuilt::ElementModelSTGC, and NswAsBuilt::ElementModelRigid.
|
pure virtual |
Implemented in NswAsBuilt::ElementModelScaleSag, NswAsBuilt::ElementModelSTGC, and NswAsBuilt::ElementModelRigid.