ATLAS Offline Software
Classes | Public Types | Public Member Functions | List of all members
NswAsBuilt::ElementModel Class Referenceabstract

Pure abstract class representing the deformation model of an Element. More...

#include <ElementModel.h>

Inheritance diagram for NswAsBuilt::ElementModel:
Collaboration diagram for NswAsBuilt::ElementModel:

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
 

Detailed Description

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.

Member Typedef Documentation

◆ ipar_t

using NswAsBuilt::ElementModel::ipar_t = unsigned int

Definition at line 35 of file ElementModel.h.

◆ VectorSet

using NswAsBuilt::ElementModel::VectorSet = Eigen::Matrix<double, 3, Eigen::Dynamic, Eigen::ColMajor|Eigen::AutoAlign, 3, 5>

Definition at line 36 of file ElementModel.h.

◆ VectorSetRef

Definition at line 37 of file ElementModel.h.

Constructor & Destructor Documentation

◆ ~ElementModel()

virtual NswAsBuilt::ElementModel::~ElementModel ( )
virtualdefault

Member Function Documentation

◆ cacheTransform()

virtual void NswAsBuilt::ElementModel::cacheTransform ( ParameterVector parvec) const
pure virtual

◆ getParameterIndex()

virtual ipar_t NswAsBuilt::ElementModel::getParameterIndex ( const std::string &  parname) const
pure virtual

◆ getParameterName()

virtual std::string NswAsBuilt::ElementModel::getParameterName ( ipar_t  ipar) const
pure virtual

◆ nParameters()

virtual int NswAsBuilt::ElementModel::nParameters ( ) const
pure virtual

◆ transform()

virtual void NswAsBuilt::ElementModel::transform ( const ParameterVector parvec,
VectorSetRef  local 
) const
pure virtual

The documentation for this class was generated from the following file: