CMS 3D CMS Logo

Public Member Functions

RigidBodyAlignmentParameters4D Class Reference

#include <RigidBodyAlignmentParameters4D.h>

Inheritance diagram for RigidBodyAlignmentParameters4D:
RigidBodyAlignmentParameters AlignmentParameters

List of all members.

Public Member Functions

RigidBodyAlignmentParameters4Dclone (const AlgebraicVector &parameters, const AlgebraicSymMatrix &covMatrix) const
 Clone all parameters (for update of parameters)
RigidBodyAlignmentParameters4DcloneFromSelected (const AlgebraicVector &parameters, const AlgebraicSymMatrix &covMatrix) const
 Clone selected parameters (for update of parameters)
AlgebraicMatrix derivatives (const TrajectoryStateOnSurface &tsos, const AlignableDetOrUnitPtr &) const
 Get all derivatives.
 RigidBodyAlignmentParameters4D (Alignable *alignable, const AlgebraicVector &parameters, const AlgebraicSymMatrix &covMatrix, const std::vector< bool > &selection)
 Constructor for selection.
 RigidBodyAlignmentParameters4D (Alignable *alignable, const AlgebraicVector &parameters, const AlgebraicSymMatrix &covMatrix)
 Constructor for full set of parameters.
 RigidBodyAlignmentParameters4D (Alignable *alignable, bool calcMis)
int type () const
 tell type (AlignmentParametersFactory::ParametersType - but no circular dependency)
 ~RigidBodyAlignmentParameters4D ()
 Destructor.

Detailed Description

Definition at line 22 of file RigidBodyAlignmentParameters4D.h.


Constructor & Destructor Documentation

RigidBodyAlignmentParameters4D::RigidBodyAlignmentParameters4D ( Alignable alignable,
bool  calcMis 
) [inline]

Constructor with empty parameters/covariance (if calcMis = false) or with parameters (no covariance) created from current (mis-)placement of alignable (if calcMis = true).

Definition at line 29 of file RigidBodyAlignmentParameters4D.h.

Referenced by clone(), and cloneFromSelected().

                                                                    :
                                 RigidBodyAlignmentParameters(alignable, calcMis){};
RigidBodyAlignmentParameters4D::RigidBodyAlignmentParameters4D ( Alignable alignable,
const AlgebraicVector parameters,
const AlgebraicSymMatrix covMatrix 
) [inline]

Constructor for full set of parameters.

Definition at line 34 of file RigidBodyAlignmentParameters4D.h.

                                                                      :
                                 RigidBodyAlignmentParameters(alignable, parameters, covMatrix){};
RigidBodyAlignmentParameters4D::RigidBodyAlignmentParameters4D ( Alignable alignable,
const AlgebraicVector parameters,
const AlgebraicSymMatrix covMatrix,
const std::vector< bool > &  selection 
) [inline]

Constructor for selection.

Definition at line 40 of file RigidBodyAlignmentParameters4D.h.

                                                                   :
                                 RigidBodyAlignmentParameters(alignable, parameters, covMatrix, selection){};
RigidBodyAlignmentParameters4D::~RigidBodyAlignmentParameters4D ( ) [inline]

Destructor.

Definition at line 46 of file RigidBodyAlignmentParameters4D.h.

{};

Member Function Documentation

RigidBodyAlignmentParameters4D * RigidBodyAlignmentParameters4D::clone ( const AlgebraicVector parameters,
const AlgebraicSymMatrix covMatrix 
) const [virtual]
RigidBodyAlignmentParameters4D * RigidBodyAlignmentParameters4D::cloneFromSelected ( const AlgebraicVector parameters,
const AlgebraicSymMatrix covMatrix 
) const [virtual]
AlgebraicMatrix RigidBodyAlignmentParameters4D::derivatives ( const TrajectoryStateOnSurface tsos,
const AlignableDetOrUnitPtr alidet 
) const [virtual]

Get all derivatives.

Reimplemented from RigidBodyAlignmentParameters.

Definition at line 22 of file RigidBodyAlignmentParameters4D.cc.

References AlignmentParameters::alignable(), and FrameToFrameDerivative::frameToFrameDerivative().

{
  const Alignable *ali = this->alignable(); // Alignable of these parameters

  if (ali == alidet) { // same alignable => same frame
    return SegmentAlignmentDerivatives4D()(tsos);
  } else { // different alignable => transform into correct frame
    const AlgebraicMatrix deriv = SegmentAlignmentDerivatives4D()(tsos);
    FrameToFrameDerivative ftfd;
    return ftfd.frameToFrameDerivative(alidet, ali) * deriv;
  }
}
int RigidBodyAlignmentParameters4D::type ( ) const [virtual]