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().

◆ 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.

◆ 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.

◆ ~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

◆ cloneFromSelected()

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

◆ 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.

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 }

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

◆ type()

int RigidBodyAlignmentParameters4D::type ( ) const
overridevirtual

tell type (AlignmentParametersFactory::ParametersType - but no circular dependency)

Reimplemented from RigidBodyAlignmentParameters.

Definition at line 61 of file RigidBodyAlignmentParameters4D.cc.

References AlignmentParametersFactory::kRigidBody4D.

AlignmentParameters::expandVector
AlgebraicVector expandVector(const AlgebraicVector &m, const std::vector< bool > &sel) const
Definition: AlignmentParameters.cc:215
SegmentAlignmentDerivatives4D
Definition: SegmentAlignmentDerivatives4D.h:16
Alignable
Definition: Alignable.h:27
AlignmentParameters::userVariables
AlignmentUserVariables * userVariables(void) const
Get pointer to user variables.
Definition: AlignmentParameters.cc:101
AlignmentParameters::isValid
bool isValid(void) const
Get validity flag.
Definition: AlignmentParameters.cc:134
FrameToFrameDerivative::frameToFrameDerivative
AlgebraicMatrix frameToFrameDerivative(const Alignable *object, const Alignable *composedObject) const
Definition: FrameToFrameDerivative.cc:16
corrVsCorr.selection
selection
main part
Definition: corrVsCorr.py:100
RigidBodyAlignmentParameters4D
Definition: RigidBodyAlignmentParameters4D.h:22
RigidBodyAlignmentParameters4D::RigidBodyAlignmentParameters4D
RigidBodyAlignmentParameters4D(Alignable *alignable, bool calcMis)
Definition: RigidBodyAlignmentParameters4D.h:27
AlignmentParametersFactory::kRigidBody4D
Definition: AlignmentParametersFactory.h:25
FrameToFrameDerivative
Definition: FrameToFrameDerivative.h:20
AlignmentParameters::expandSymMatrix
AlgebraicSymMatrix expandSymMatrix(const AlgebraicSymMatrix &m, const std::vector< bool > &sel) const
Definition: AlignmentParameters.cc:190
RigidBodyAlignmentParameters::RigidBodyAlignmentParameters
RigidBodyAlignmentParameters(Alignable *alignable, bool calcMis)
Definition: RigidBodyAlignmentParameters.cc:21
AlgebraicMatrix
CLHEP::HepMatrix AlgebraicMatrix
Definition: AlgebraicObjects.h:14
AlignmentParameters::setValid
void setValid(bool v)
Set validity flag.
Definition: AlignmentParameters.cc:137
AlignmentParameters::alignable
Alignable * alignable(void) const
Get pointer to corresponding alignable.
Definition: AlignmentParameters.cc:104
AlignmentParameters::selector
const std::vector< bool > & selector(void) const
Get alignment parameter selector vector.
Definition: AlignmentParameters.cc:48
RigidBodyAlignmentParameters4D::clone
RigidBodyAlignmentParameters4D * clone(const AlgebraicVector &parameters, const AlgebraicSymMatrix &covMatrix) const override
Clone all parameters (for update of parameters)
Definition: RigidBodyAlignmentParameters4D.cc:35
AlignmentParameters::parameters
const AlgebraicVector & parameters(void) const
Get alignment parameters.
Definition: AlignmentParameters.cc:64
AlignmentParameters::setUserVariables
void setUserVariables(AlignmentUserVariables *auv)
Set pointer to user variables.
Definition: AlignmentParameters.cc:94