|
|
Go to the documentation of this file.
31 <<
"in RigidBodyAlignmentParameters(): " <<
parameters.num_row() <<
" instead of " <<
N_PARAM <<
" parameters.";
43 <<
"in RigidBodyAlignmentParameters(): " <<
parameters.num_row() <<
" instead of " <<
N_PARAM <<
" parameters.";
91 int ncols = dev.num_col();
92 int nrows = dev.num_row();
98 for (
int irow = 0; irow < nrows; ++irow) {
100 for (
int icol = 0; icol <
ncols; ++icol)
101 seldev[ir2][icol] = dev[irow][icol];
112 for (
int i = 0;
i < 3; ++
i)
121 for (
int i = 0;
i < 3; ++
i)
131 throw cms::Exception(
"BadParameters") <<
"RigidBodyAlignmentParameters::apply: parameters without alignable";
163 m_GlobalParameters[0] = dg.
x();
164 m_GlobalParameters[1] = dg.
y();
165 m_GlobalParameters[2] = dg.
z();
169 m_GlobalParameters[3] = eulerglob(1);
170 m_GlobalParameters[4] = eulerglob(2);
171 m_GlobalParameters[5] = eulerglob(3);
173 return m_GlobalParameters;
178 std::cout <<
"Contents of RigidBodyAlignmentParameters:"
179 <<
"\nParameters: " <<
theData->parameters() <<
"\nCovariance: " <<
theData->covariance() << std::endl;
193 displacement[0] = shifts.
x();
194 displacement[1] = shifts.
y();
195 displacement[2] = shifts.
z();
196 displacement[3] =
angles(1);
197 displacement[4] =
angles(2);
198 displacement[5] =
angles(3);
EulerAngles toAngles(const RotationType &)
Convert rotation matrix to angles about x-, y-, z-axes (frame rotation).
AlgebraicVector expandVector(const AlgebraicVector &m, const std::vector< bool > &sel) const
static AlgebraicVector displacementFromAlignable(const Alignable *ali)
AlgebraicVector rotation(void) const
Get rotation parameters.
virtual void rotateInGlobalFrame(const RotationType &rotation)=0
AlgebraicMatrix derivatives(const TrajectoryStateOnSurface &tsos, const AlignableDetOrUnitPtr &) const override
Get all derivatives.
AlignmentUserVariables * userVariables(void) const
Get pointer to user variables.
RigidBodyAlignmentParameters * clone(const AlgebraicVector ¶meters, const AlgebraicSymMatrix &covMatrix) const override
Clone all parameters (for update of parameters)
align::RotationType toLocal(const align::RotationType &) const
Return in local frame a rotation given in global frame.
bool isValid(void) const
Get validity flag.
AlgebraicMatrix frameToFrameDerivative(const Alignable *object, const Alignable *composedObject) const
CLHEP::HepVector AlgebraicVector
AlgebraicVector globalParameters(void) const
calculate and return parameters in global frame
void print(void) const
print parameters to screen
void rectify(RotationType &)
Correct a rotation matrix for rounding errors.
align::GlobalPoints toGlobal(const align::LocalPoints &) const
Return in global coord given a set of local points.
const AlignableSurface & surface() const
Return the Surface (global position and orientation) of the object.
const GlobalVector & displacement() const
Return change of the global position since the creation of the object.
const RotationType & rotation() const
Return change of orientation since the creation of the object.
AlgebraicVector translation(void) const
Get translation parameters.
void apply() override
apply parameters to alignable
int type() const override
tell type (AlignmentParametersFactory::ParametersType - but no circular dependency)
CLHEP::HepSymMatrix AlgebraicSymMatrix
RigidBodyAlignmentParameters * cloneFromSelected(const AlgebraicVector ¶meters, const AlgebraicSymMatrix &covMatrix) const override
Clone selected parameters (for update of parameters)
AlgebraicSymMatrix expandSymMatrix(const AlgebraicSymMatrix &m, const std::vector< bool > &sel) const
RigidBodyAlignmentParameters(Alignable *alignable, bool calcMis)
AlgebraicVector EulerAngles
virtual void move(const GlobalVector &displacement)=0
Movement with respect to the global reference frame.
const BasicVectorType & basicVector() const
CLHEP::HepMatrix AlgebraicMatrix
void setValid(bool v)
Set validity flag.
static unsigned const int shift
int numSelected(void) const
Get number of selected parameters.
RotationType toMatrix(const EulerAngles &)
Convert rotation angles about x-, y-, z-axes to matrix.
Alignable * alignable(void) const
Get pointer to corresponding alignable.
const std::vector< bool > & selector(void) const
Get alignment parameter selector vector.
AlgebraicMatrix selectedDerivatives(const TrajectoryStateOnSurface &tsos, const AlignableDetOrUnitPtr &) const override
Get selected derivatives.
const RotationType & globalRotation() const
Return the global orientation of the object.
void setUserVariables(AlignmentUserVariables *auv)
Set pointer to user variables.