ATLAS Offline Software
|
An element model implementing the deformations used for the NSW sTGC as-built parameters. More...
#include <ElementModelSTGC.h>
Public Types | |
enum | parameter_t { X =0, Y =1, Z =2, THX =3, THY =4, THZ =5, ROT =6, OFF =7, SCL =8, NPAR =9 } |
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 | |
ElementModelSTGC (double lenX, double lenY, Amg::Vector3D defo0) | |
ElementModelSTGC ()=delete | |
virtual int | nParameters () const override |
The number of parameters used. More... | |
virtual void | transform (const ParameterVector &parvec, VectorSetRef local) const override |
Transform a set of vectors expressed in local frame, stored in a matrix. More... | |
virtual void | cacheTransform (ParameterVector &parvec) const override |
Cache the rigid component of this deformation model. More... | |
virtual ipar_t | getParameterIndex (const std::string &parname) const override |
virtual std::string | getParameterName (ipar_t ipar) const override |
Private Member Functions | |
void | applyDeformation (const ParameterVector &parvec, Eigen::Ref< Amg::Vector3D > local) const |
void | applyDeformation2 (const ParameterVector &parvec, VectorSetRef local) const |
Amg::Vector3D | stgcScale (double scl, const Amg::Vector3D &d0) const |
Amg::Vector3D | stgcNonPar (double npar, const Amg::Vector3D &d0) const |
Static Private Member Functions | |
static Amg::Vector3D | stgcOffset (double off) |
static Amg::Vector3D | stgcRotation (double rot, const Amg::Vector3D &d0) |
Private Attributes | |
double | m_lenY {0.} |
double | m_lenX {0.} |
Amg::Vector3D | m_defo0 {Amg::Vector3D::Zero()} |
An element model implementing the deformations used for the NSW sTGC as-built parameters.
The first 6 parameters represent the rigid component of the transform (a 3D translation and 3 Euler angles to be applied in the order ZYX)
The following parameters are providing deformations, in accordance with the: 4-parameter alingment model implemented for the sTGC quadruplets:
dy = off + rot*x + scl*y + npar*x*y
For more information check https://cds.cern.ch/record/2688394?ln=en
Definition at line 26 of file ElementModelSTGC.h.
|
inherited |
Definition at line 35 of file ElementModel.h.
|
inherited |
Definition at line 36 of file ElementModel.h.
|
inherited |
Definition at line 37 of file ElementModel.h.
ElementModelSTGC::ElementModelSTGC | ( | double | lenX, |
double | lenY, | ||
Amg::Vector3D | defo0 | ||
) |
Definition at line 11 of file ElementModelSTGC.cxx.
|
delete |
|
private |
Definition at line 110 of file ElementModelSTGC.cxx.
|
private |
Definition at line 122 of file ElementModelSTGC.cxx.
|
overridevirtual |
Cache the rigid component of this deformation model.
Cache the rigid component of this deformation model Add rotation and offset obtained from the sTGC fit.
Implements NswAsBuilt::ElementModel.
Definition at line 45 of file ElementModelSTGC.cxx.
|
overridevirtual |
|
overridevirtual |
|
inlineoverridevirtual |
The number of parameters used.
Implements NswAsBuilt::ElementModel.
Definition at line 47 of file ElementModelSTGC.h.
|
private |
Definition at line 104 of file ElementModelSTGC.cxx.
|
staticprivate |
Definition at line 88 of file ElementModelSTGC.cxx.
|
staticprivate |
Definition at line 93 of file ElementModelSTGC.cxx.
|
private |
Definition at line 98 of file ElementModelSTGC.cxx.
|
overridevirtual |
Transform a set of vectors expressed in local frame, stored in a matrix.
Implements NswAsBuilt::ElementModel.
Definition at line 20 of file ElementModelSTGC.cxx.
|
private |
Definition at line 83 of file ElementModelSTGC.h.
|
private |
Definition at line 82 of file ElementModelSTGC.h.
|
private |
Definition at line 81 of file ElementModelSTGC.h.