CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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
 Clone all parameters (for update of parameters) More...
 
RigidBodyAlignmentParameters4DcloneFromSelected (const AlgebraicVector &parameters, const AlgebraicSymMatrix &covMatrix) const
 Clone selected parameters (for update of parameters) More...
 
AlgebraicMatrix derivatives (const TrajectoryStateOnSurface &tsos, const AlignableDetOrUnitPtr &) const
 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
 tell type (AlignmentParametersFactory::ParametersType - but no circular dependency) More...
 
 ~RigidBodyAlignmentParameters4D ()
 Destructor. More...
 
- Public Member Functions inherited from RigidBodyAlignmentParameters
virtual void apply ()
 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...
 
virtual AlgebraicMatrix selectedDerivatives (const TrajectoryStateOnSurface &tsos, const AlignableDetOrUnitPtr &) const
 Get selected derivatives. More...
 
AlgebraicVector translation (void) const
 Get translation parameters. More...
 
virtual ~RigidBodyAlignmentParameters ()
 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
 
const bool isValid (void) const
 Get validity flag. More...
 
const 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...
 
const 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::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().

29  :
30  RigidBodyAlignmentParameters(alignable, calcMis){};
RigidBodyAlignmentParameters(Alignable *alignable, bool 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.

36  :
37  RigidBodyAlignmentParameters(alignable, parameters, covMatrix){};
const AlgebraicVector & parameters(void) const
Get alignment parameters.
RigidBodyAlignmentParameters(Alignable *alignable, bool calcMis)
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.

42  :
43  RigidBodyAlignmentParameters(alignable, parameters, covMatrix, selection){};
const AlgebraicVector & parameters(void) const
Get alignment parameters.
RigidBodyAlignmentParameters(Alignable *alignable, bool calcMis)
RigidBodyAlignmentParameters4D::~RigidBodyAlignmentParameters4D ( )
inline

Destructor.

Definition at line 46 of file RigidBodyAlignmentParameters4D.h.

46 {};

Member Function Documentation

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

Clone all parameters (for update of parameters)

Reimplemented from RigidBodyAlignmentParameters.

Definition at line 38 of file RigidBodyAlignmentParameters4D.cc.

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

Referenced by cloneFromSelected().

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

Clone selected parameters (for update of parameters)

Reimplemented from RigidBodyAlignmentParameters.

Definition at line 52 of file RigidBodyAlignmentParameters4D.cc.

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

54 {
57  expandSymMatrix(covMatrix, selector()), selector());
58 
60  rbap->setValid(isValid());
61 
62  return rbap;
63 }
AlgebraicSymMatrix expandSymMatrix(const AlgebraicSymMatrix &m, const std::vector< bool > &sel) const
const std::vector< bool > & selector(void) const
Get alignment parameter selector vector.
const AlgebraicVector & parameters(void) const
Get alignment parameters.
AlignmentUserVariables * userVariables(void) const
Get pointer to user variables.
void setValid(bool v)
Set validity flag.
Alignable * alignable(void) const
Get pointer to corresponding alignable.
AlgebraicVector expandVector(const AlgebraicVector &m, const std::vector< bool > &sel) const
void setUserVariables(AlignmentUserVariables *auv)
Set pointer to user variables.
const bool isValid(void) const
Get validity flag.
RigidBodyAlignmentParameters4D * clone(const AlgebraicVector &parameters, const AlgebraicSymMatrix &covMatrix) const
Clone all parameters (for update of parameters)
RigidBodyAlignmentParameters4D(Alignable *alignable, bool calcMis)
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().

24 {
25  const Alignable *ali = this->alignable(); // Alignable of these parameters
26 
27  if (ali == alidet) { // same alignable => same frame
28  return SegmentAlignmentDerivatives4D()(tsos);
29  } else { // different alignable => transform into correct frame
30  const AlgebraicMatrix deriv = SegmentAlignmentDerivatives4D()(tsos);
32  return ftfd.frameToFrameDerivative(alidet, ali) * deriv;
33  }
34 }
CLHEP::HepMatrix AlgebraicMatrix
Alignable * alignable(void) const
Get pointer to corresponding alignable.
AlgebraicMatrix frameToFrameDerivative(const Alignable *object, const Alignable *composedObject) const
Return the derivative DeltaFrame(object)/DeltaFrame(composedobject)
int RigidBodyAlignmentParameters4D::type ( ) const
virtual