5#ifndef MUONNSWASBUILT_ELEMENTMODEL_H
6#define MUONNSWASBUILT_ELEMENTMODEL_H
36 using VectorSet = Eigen::Matrix<double, 3, Eigen::Dynamic, Eigen::ColMajor|Eigen::AutoAlign, 3, 5>;
Pure abstract class representing the deformation model of an Element.
virtual std::string getParameterName(ipar_t ipar) const =0
virtual ~ElementModel()=default
Eigen::Ref< VectorSet > VectorSetRef
Eigen::Matrix< double, 3, Eigen::Dynamic, Eigen::ColMajor|Eigen::AutoAlign, 3, 5 > VectorSet
virtual void transform(const ParameterVector &parvec, VectorSetRef local) const =0
virtual void cacheTransform(ParameterVector &parvec) const =0
virtual int nParameters() const =0
virtual ipar_t getParameterIndex(const std::string &parname) const =0
ParameterVector(size_t npars)
std::vector< double > parameters
double operator[](size_t ipar) const
Eigen::Affine3d transformCache