CMS 3D CMS Logo

List of all members | Public Member Functions
RigidBodyAlignmentParameters4D Class Reference

#include <RigidBodyAlignmentParameters4D.h>

Inheritance diagram for RigidBodyAlignmentParameters4D:
RigidBodyAlignmentParameters AlignmentParameters

Public Member Functions

RigidBodyAlignmentParameters4Dclone (const AlgebraicVector &parameters, const AlgebraicSymMatrix &covMatrix) const override
 Clone all parameters (for update of parameters) More...
 
RigidBodyAlignmentParameters4DcloneFromSelected (const AlgebraicVector &parameters, const AlgebraicSymMatrix &covMatrix) const override
 Clone selected parameters (for update of parameters) More...
 
AlgebraicMatrix derivatives (const TrajectoryStateOnSurface &tsos, const AlignableDetOrUnitPtr &) const override
 Get all derivatives. More...
 
 RigidBodyAlignmentParameters4D (Alignable *alignable, bool calcMis)
 
 RigidBodyAlignmentParameters4D (Alignable *alignable, const AlgebraicVector &parameters, const AlgebraicSymMatrix &covMatrix)
 Constructor for full set of parameters. More...
 
 RigidBodyAlignmentParameters4D (Alignable *alignable, const AlgebraicVector &parameters, const AlgebraicSymMatrix &covMatrix, const std::vector< bool > &selection)
 Constructor for selection. More...
 
int type () const override
 tell type (AlignmentParametersFactory::ParametersType - but no circular dependency) More...
 
 ~RigidBodyAlignmentParameters4D () override
 Destructor. More...
 
- Public Member Functions inherited from RigidBodyAlignmentParameters
void apply () override
 apply parameters to alignable More...
 
AlgebraicVector globalParameters (void) const
 calculate and return parameters in global frame More...
 
void print (void) const
 print parameters to screen More...
 
 RigidBodyAlignmentParameters (Alignable *alignable, bool calcMis)
 
 RigidBodyAlignmentParameters (Alignable *alignable, const AlgebraicVector &parameters, const AlgebraicSymMatrix &covMatrix)
 Constructor for full set of parameters. More...
 
 RigidBodyAlignmentParameters (Alignable *alignable, const AlgebraicVector &parameters, const AlgebraicSymMatrix &covMatrix, const std::vector< bool > &selection)
 Constructor for selection. More...
 
AlgebraicVector rotation (void) const
 Get rotation parameters. More...
 
AlgebraicMatrix selectedDerivatives (const TrajectoryStateOnSurface &tsos, const AlignableDetOrUnitPtr &) const override
 Get selected derivatives. More...
 
AlgebraicVector translation (void) const
 Get translation parameters. More...
 
 ~RigidBodyAlignmentParameters () override
 Destructor. More...
 
- Public Member Functions inherited from AlignmentParameters
Alignablealignable (void) const
 Get pointer to corresponding alignable. More...
 
 AlignmentParameters ()
 Default constructor. More...
 
 AlignmentParameters (Alignable *object, const AlgebraicVector &par, const AlgebraicSymMatrix &cov)
 Constructor from given input. More...
 
 AlignmentParameters (Alignable *object, const AlgebraicVector &par, const AlgebraicSymMatrix &cov, const std::vector< bool > &sel)
 Constructor including selection of active parameters. More...
 
 AlignmentParameters (Alignable *object, const DataContainer &data)
 Constructor. More...
 
const AlgebraicSymMatrixcovariance (void) const
 Get parameter covariance matrix. More...
 
virtual unsigned int hierarchyLevel () const
 
bool isValid (void) const
 Get validity flag. More...
 
int numSelected (void) const
 Get number of selected parameters. More...
 
const AlgebraicVectorparameters (void) const
 Get alignment parameters. More...
 
AlgebraicSymMatrix selectedCovariance (void) const
 Get covariance matrix of selected parameters. More...
 
AlgebraicVector selectedParameters (void) const
 Get selected parameters. More...
 
const std::vector< bool > & selector (void) const
 Get alignment parameter selector vector. More...
 
void setUserVariables (AlignmentUserVariables *auv)
 Set pointer to user variables. More...
 
void setValid (bool v)
 Set validity flag. More...
 
int size (void) const
 Get number of parameters. More...
 
AlignmentUserVariablesuserVariables (void) const
 Get pointer to user variables. More...
 
virtual ~AlignmentParameters ()
 Destructor. More...
 

Additional Inherited Members

- Public Types inherited from RigidBodyAlignmentParameters
enum  AlignmentParameterName {
  dx = 0, dy, dz, dalpha,
  dbeta, dgamma, N_PARAM
}
 Give parameters a name. More...
 
- Public Types inherited from AlignmentParameters
typedef AlignmentParametersData::DataContainer DataContainer
 
- Static Public Member Functions inherited from RigidBodyAlignmentParameters
static AlgebraicVector displacementFromAlignable (const Alignable *ali)
 
- Protected Member Functions inherited from AlignmentParameters
AlgebraicSymMatrix collapseSymMatrix (const AlgebraicSymMatrix &m, const std::vector< bool > &sel) const
 
AlgebraicVector collapseVector (const AlgebraicVector &m, const std::vector< bool > &sel) const
 
AlgebraicSymMatrix expandSymMatrix (const AlgebraicSymMatrix &m, const std::vector< bool > &sel) const
 
AlgebraicVector expandVector (const AlgebraicVector &m, const std::vector< bool > &sel) const
 
- Protected Attributes inherited from AlignmentParameters
bool bValid
 True if parameters are valid. More...
 
AlignabletheAlignable
 
DataContainer theData
 
AlignmentUserVariablestheUserVariables
 

Detailed Description

Definition at line 22 of file RigidBodyAlignmentParameters4D.h.

Constructor & Destructor Documentation

◆ RigidBodyAlignmentParameters4D() [1/3]

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 27 of file RigidBodyAlignmentParameters4D.h.

Referenced by clone(), and cloneFromSelected().

Alignable * alignable(void) const
Get pointer to corresponding alignable.
RigidBodyAlignmentParameters(Alignable *alignable, bool calcMis)

◆ RigidBodyAlignmentParameters4D() [2/3]

RigidBodyAlignmentParameters4D::RigidBodyAlignmentParameters4D ( Alignable alignable,
const AlgebraicVector parameters,
const AlgebraicSymMatrix covMatrix 
)
inline

Constructor for full set of parameters.

Definition at line 31 of file RigidBodyAlignmentParameters4D.h.

Alignable * alignable(void) const
Get pointer to corresponding alignable.
const AlgebraicVector & parameters(void) const
Get alignment parameters.
RigidBodyAlignmentParameters(Alignable *alignable, bool calcMis)

◆ RigidBodyAlignmentParameters4D() [3/3]

RigidBodyAlignmentParameters4D::RigidBodyAlignmentParameters4D ( Alignable alignable,
const AlgebraicVector parameters,
const AlgebraicSymMatrix covMatrix,
const std::vector< bool > &  selection 
)
inline

Constructor for selection.

Definition at line 37 of file RigidBodyAlignmentParameters4D.h.

Alignable * alignable(void) const
Get pointer to corresponding alignable.
selection
main part
Definition: corrVsCorr.py:100
const AlgebraicVector & parameters(void) const
Get alignment parameters.
RigidBodyAlignmentParameters(Alignable *alignable, bool calcMis)

◆ ~RigidBodyAlignmentParameters4D()

RigidBodyAlignmentParameters4D::~RigidBodyAlignmentParameters4D ( )
inlineoverride

Destructor.

Definition at line 44 of file RigidBodyAlignmentParameters4D.h.

44 {}

Member Function Documentation

◆ clone()

RigidBodyAlignmentParameters4D * RigidBodyAlignmentParameters4D::clone ( const AlgebraicVector parameters,
const AlgebraicSymMatrix covMatrix 
) const
overridevirtual

Clone all parameters (for update of parameters)

Reimplemented from RigidBodyAlignmentParameters.

Definition at line 35 of file RigidBodyAlignmentParameters4D.cc.

References AlignmentParameters::alignable(), AlignmentParameters::isValid(), AlignmentParameters::parameters(), RigidBodyAlignmentParameters4D(), AlignmentParameters::selector(), AlignmentParameters::setUserVariables(), AlignmentParameters::setValid(), and AlignmentParameters::userVariables().

Referenced by cloneFromSelected().

36  {
39 
40  if (userVariables())
42  rbap->setValid(isValid());
43 
44  return rbap;
45 }
RigidBodyAlignmentParameters4D * clone(const AlgebraicVector &parameters, const AlgebraicSymMatrix &covMatrix) const override
Clone all parameters (for update of parameters)
Alignable * alignable(void) const
Get pointer to corresponding alignable.
const AlgebraicVector & parameters(void) const
Get alignment parameters.
void setValid(bool v)
Set validity flag.
AlignmentUserVariables * userVariables(void) const
Get pointer to user variables.
bool isValid(void) const
Get validity flag.
void setUserVariables(AlignmentUserVariables *auv)
Set pointer to user variables.
const std::vector< bool > & selector(void) const
Get alignment parameter selector vector.
RigidBodyAlignmentParameters4D(Alignable *alignable, bool calcMis)

◆ cloneFromSelected()

RigidBodyAlignmentParameters4D * RigidBodyAlignmentParameters4D::cloneFromSelected ( const AlgebraicVector parameters,
const AlgebraicSymMatrix covMatrix 
) const
overridevirtual

Clone selected parameters (for update of parameters)

Reimplemented from RigidBodyAlignmentParameters.

Definition at line 48 of file RigidBodyAlignmentParameters4D.cc.

References AlignmentParameters::alignable(), clone(), AlignmentParameters::expandSymMatrix(), AlignmentParameters::expandVector(), AlignmentParameters::isValid(), AlignmentParameters::parameters(), RigidBodyAlignmentParameters4D(), AlignmentParameters::selector(), AlignmentParameters::setUserVariables(), AlignmentParameters::setValid(), and AlignmentParameters::userVariables().

49  {
52 
53  if (userVariables())
55  rbap->setValid(isValid());
56 
57  return rbap;
58 }
RigidBodyAlignmentParameters4D * clone(const AlgebraicVector &parameters, const AlgebraicSymMatrix &covMatrix) const override
Clone all parameters (for update of parameters)
Alignable * alignable(void) const
Get pointer to corresponding alignable.
const AlgebraicVector & parameters(void) const
Get alignment parameters.
AlgebraicVector expandVector(const AlgebraicVector &m, const std::vector< bool > &sel) const
AlgebraicSymMatrix expandSymMatrix(const AlgebraicSymMatrix &m, const std::vector< bool > &sel) const
void setValid(bool v)
Set validity flag.
AlignmentUserVariables * userVariables(void) const
Get pointer to user variables.
bool isValid(void) const
Get validity flag.
void setUserVariables(AlignmentUserVariables *auv)
Set pointer to user variables.
const std::vector< bool > & selector(void) const
Get alignment parameter selector vector.
RigidBodyAlignmentParameters4D(Alignable *alignable, bool calcMis)

◆ derivatives()

AlgebraicMatrix RigidBodyAlignmentParameters4D::derivatives ( const TrajectoryStateOnSurface tsos,
const AlignableDetOrUnitPtr alidet 
) const
overridevirtual

Get all derivatives.

Reimplemented from RigidBodyAlignmentParameters.

Definition at line 21 of file RigidBodyAlignmentParameters4D.cc.

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

22  {
23  const Alignable *ali = this->alignable(); // Alignable of these parameters
24 
25  if (ali == alidet) { // same alignable => same frame
26  return SegmentAlignmentDerivatives4D()(tsos);
27  } else { // different alignable => transform into correct frame
28  const AlgebraicMatrix deriv = SegmentAlignmentDerivatives4D()(tsos);
30  return ftfd.frameToFrameDerivative(alidet, ali).T() * deriv;
31  }
32 }
Alignable * alignable(void) const
Get pointer to corresponding alignable.
CLHEP::HepMatrix AlgebraicMatrix
AlgebraicMatrix frameToFrameDerivative(const Alignable *object, const Alignable *composedObject) const

◆ type()

int RigidBodyAlignmentParameters4D::type ( ) const
overridevirtual