File indexing completed on 2024-09-07 04:34:29
0001 #ifndef Alignment_CommonAlignment_RigidBodyAlignmentParameters4D_h
0002 #define Alignment_CommonAlignment_RigidBodyAlignmentParameters4D_h
0003
0004
0005 #include "Alignment/CommonAlignmentParametrization/interface/RigidBodyAlignmentParameters.h"
0006 #include "DataFormats/CLHEP/interface/AlgebraicObjects.h"
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 class Alignable;
0019 class AlignableDetOrUnitPtr;
0020 class TrajectoryStateOnSurface;
0021
0022 class RigidBodyAlignmentParameters4D : public RigidBodyAlignmentParameters {
0023 public:
0024
0025
0026
0027 RigidBodyAlignmentParameters4D(Alignable *alignable, bool calcMis)
0028 : RigidBodyAlignmentParameters(alignable, calcMis) {}
0029
0030
0031 RigidBodyAlignmentParameters4D(Alignable *alignable,
0032 const AlgebraicVector ¶meters,
0033 const AlgebraicSymMatrix &covMatrix)
0034 : RigidBodyAlignmentParameters(alignable, parameters, covMatrix) {}
0035
0036
0037 RigidBodyAlignmentParameters4D(Alignable *alignable,
0038 const AlgebraicVector ¶meters,
0039 const AlgebraicSymMatrix &covMatrix,
0040 const std::vector<bool> &selection)
0041 : RigidBodyAlignmentParameters(alignable, parameters, covMatrix, selection) {}
0042
0043
0044 ~RigidBodyAlignmentParameters4D() override {}
0045
0046 int type() const override;
0047
0048
0049 AlgebraicMatrix derivatives(const TrajectoryStateOnSurface &tsos, const AlignableDetOrUnitPtr &) const override;
0050
0051
0052 RigidBodyAlignmentParameters4D *clone(const AlgebraicVector ¶meters,
0053 const AlgebraicSymMatrix &covMatrix) const override;
0054
0055
0056 RigidBodyAlignmentParameters4D *cloneFromSelected(const AlgebraicVector ¶meters,
0057 const AlgebraicSymMatrix &covMatrix) const override;
0058 };
0059
0060 #endif