CMS 3D CMS Logo

ParametersToParametersDerivatives.h
Go to the documentation of this file.
1 #ifndef Alignment_CommonAlignmentParametrization_ParametersToParametersDerivatives_h
2 #define Alignment_CommonAlignmentParametrization_ParametersToParametersDerivatives_h
3 
37 
39 #include "TMatrixD.h"
40 
41 class Alignable;
42 
44 public:
45  ParametersToParametersDerivatives(const Alignable &component, const Alignable &mother);
46 
48  bool isOK() const { return isOK_; }
49 
53  double operator()(unsigned int indParMother, unsigned int indParComp) const;
54 
55  // Not this - would make the internals public:
56  // const TMatrixD& matrix() const { return derivatives_;}
57 
58 private:
61  bool init(const Alignable &component, int typeComponent, const Alignable &mother, int typeMother);
63  bool initRigidRigid(const Alignable &component, const Alignable &mother);
65  bool initBowedRigid(const Alignable &component, const Alignable &mother);
68  bool init2BowedRigid(const Alignable &component, const Alignable &mother);
69 
70  typedef ROOT::Math::SMatrix<double, 6, 9, ROOT::Math::MatRepStd<double, 6, 9>> AlgebraicMatrix69;
74  AlgebraicMatrix69 dRigid_dBowed(const AlgebraicMatrix66 &dRigidM2dRigidC, double halfWidth, double halfLength);
75 
77  bool isOK_;
78  TMatrixD derivatives_;
79 };
80 
81 #endif
ParametersToParametersDerivatives::initRigidRigid
bool initRigidRigid(const Alignable &component, const Alignable &mother)
init for component and mother both with RigidBody parameters
Definition: ParametersToParametersDerivatives.cc:56
ParametersToParametersDerivatives::init
bool init(const Alignable &component, int typeComponent, const Alignable &mother, int typeMother)
Definition: ParametersToParametersDerivatives.cc:33
ParametersToParametersDerivatives::initBowedRigid
bool initBowedRigid(const Alignable &component, const Alignable &mother)
init for component with BowedSurface and mother with RigidBody parameters
Definition: ParametersToParametersDerivatives.cc:78
Alignable
Definition: Alignable.h:27
ParametersToParametersDerivatives::operator()
double operator()(unsigned int indParMother, unsigned int indParComp) const
Definition: ParametersToParametersDerivatives.cc:204
ParametersToParametersDerivatives::isOK
bool isOK() const
Indicate whether able to provide the derivatives.
Definition: ParametersToParametersDerivatives.h:48
ParametersToParametersDerivatives
Definition: ParametersToParametersDerivatives.h:43
ParametersToParametersDerivatives::isOK_
bool isOK_
data members
Definition: ParametersToParametersDerivatives.h:77
AlgebraicMatrix66
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepStd< double, 6, 6 > > AlgebraicMatrix66
Definition: AlgebraicROOTObjects.h:62
ParametersToParametersDerivatives::ParametersToParametersDerivatives
ParametersToParametersDerivatives(const Alignable &component, const Alignable &mother)
Definition: ParametersToParametersDerivatives.cc:23
ParametersToParametersDerivatives::AlgebraicMatrix69
ROOT::Math::SMatrix< double, 6, 9, ROOT::Math::MatRepStd< double, 6, 9 > > AlgebraicMatrix69
Definition: ParametersToParametersDerivatives.h:70
ParametersToParametersDerivatives::dRigid_dBowed
AlgebraicMatrix69 dRigid_dBowed(const AlgebraicMatrix66 &dRigidM2dRigidC, double halfWidth, double halfLength)
Definition: ParametersToParametersDerivatives.cc:154
ParametersToParametersDerivatives::derivatives_
TMatrixD derivatives_
can we provide the desired?
Definition: ParametersToParametersDerivatives.h:78
ParametersToParametersDerivatives::init2BowedRigid
bool init2BowedRigid(const Alignable &component, const Alignable &mother)
Definition: ParametersToParametersDerivatives.cc:100
AlgebraicROOTObjects.h