#include <ParametersToParametersDerivatives.h>
Public Member Functions | |
bool | isOK () const |
Indicate whether able to provide the derivatives. More... | |
double | operator() (unsigned int indParMother, unsigned int indParComp) const |
ParametersToParametersDerivatives (const Alignable &component, const Alignable &mother) | |
Private Types | |
typedef ROOT::Math::SMatrix < double, 6, 9, ROOT::Math::MatRepStd < double, 6, 9 > > | AlgebraicMatrix69 |
Private Member Functions | |
AlgebraicMatrix69 | dRigid_dBowed (const AlgebraicMatrix66 &dRigidM2dRigidC, double halfWidth, double halfLength) |
bool | init (const Alignable &component, int typeComponent, const Alignable &mother, int typeMother) |
init by choosing the correct detailed init method depending on parameter types More... | |
bool | init2BowedRigid (const Alignable &component, const Alignable &mother) |
init for component with TwoBowedSurfaces and mother with RigidBody parameters More... | |
bool | initBowedRigid (const Alignable &component, const Alignable &mother) |
init for component with BowedSurface and mother with RigidBody parameters More... | |
bool | initRigidRigid (const Alignable &component, const Alignable &mother) |
init for component and mother both with RigidBody parameters More... | |
Private Attributes | |
TMatrixD | derivatives_ |
can we provide the desired? More... | |
bool | isOK_ |
data members More... | |
Class for getting the jacobian d_mother/d_component for various kinds of alignment parametrisations, i.e. the derivatives expressing the influence of the parameters of the 'component' on the parameters of its 'mother'. This is needed e.g. to formulate constraints to remove the additional degrees of freedom introduced if larger structures and their components are aligned simultaneously. The jacobian matrix is
/ dp1_l/dp1_i dp1_l/dp2_i ... dp1_l/dpn_i | | dp2_l/dp1_i dp2_l/dp2_i ... dp2_l/dpn_i | | . . . | | . . . | | . . . | \ dpm_l/dpm_i dpm_l/dpm_i ... dpm_l/dpn_i /
where p1_l, p2_l, ..., pn_l are the n parameters of the composite 'mother' object and p1_i, p2_i, ..., pm_i are the m parameters of its component.
Note that not all combinations of parameters are supported: Please check method isOK() before accessing the derivatives via operator(unsigned int indParMother, unsigned int indParComp).
Currently these parameters are supported:
component: rigid body, bowed surface or two bowed surfaces parameters.
(last update by
)
Definition at line 43 of file ParametersToParametersDerivatives.h.
|
private |
Definition at line 70 of file ParametersToParametersDerivatives.h.
ParametersToParametersDerivatives::ParametersToParametersDerivatives | ( | const Alignable & | component, |
const Alignable & | mother | ||
) |
Definition at line 24 of file ParametersToParametersDerivatives.cc.
|
private |
from d(rigid_mother)/d(rigid_component) to d(rigid_mother)/d(bowed_component) for bad input (length or width zero), set object to invalid: isOK_ = false
Definition at line 163 of file ParametersToParametersDerivatives.cc.
|
private |
init by choosing the correct detailed init method depending on parameter types
Definition at line 34 of file ParametersToParametersDerivatives.cc.
|
private |
init for component with TwoBowedSurfaces and mother with RigidBody parameters
Definition at line 105 of file ParametersToParametersDerivatives.cc.
|
private |
init for component with BowedSurface and mother with RigidBody parameters
Definition at line 82 of file ParametersToParametersDerivatives.cc.
|
private |
init for component and mother both with RigidBody parameters
Definition at line 59 of file ParametersToParametersDerivatives.cc.
|
inline |
Indicate whether able to provide the derivatives.
Definition at line 49 of file ParametersToParametersDerivatives.h.
References isOK_.
double ParametersToParametersDerivatives::operator() | ( | unsigned int | indParMother, |
unsigned int | indParComp | ||
) | const |
Return the derivative DeltaParam(mother)/DeltaParam(component). Indices start with 0 - but check isOK() first! See class description about matrix.
Definition at line 211 of file ParametersToParametersDerivatives.cc.
|
private |
can we provide the desired?
Definition at line 78 of file ParametersToParametersDerivatives.h.
|
private |
data members
Definition at line 77 of file ParametersToParametersDerivatives.h.
Referenced by isOK().