CMS 3D CMS Logo

SurveyResidual.h
Go to the documentation of this file.
1 #ifndef Alignment_CommonAlignment_SurveyResidual_h
2 #define Alignment_CommonAlignment_SurveyResidual_h
3 
18 
19 class Alignable;
20 class AlignableSurface;
21 
23 {
24  public:
25 
31  const Alignable&,
32  align::StructureType, // level at which residuals are found
33  bool bias = false // true for biased residuals
34  );
35 
39  inline bool valid() const;
40 
44 
48 
51 
52  private:
53 
56  void findSisters(
57  const Alignable*,
58  bool bias
59  );
60 
62  void calculate(
63  const Alignable&
64  );
65 
66  // Cache some values for calculation
67 
68  const Alignable* theMother; // mother that matches the structure type
69  // given in constructor
70 
71  const AlignableSurface& theSurface; // current surface
72 
73  const std::vector<bool>& theSelector; // flags for selected parameters
74 
75  std::vector<const Alignable*> theSisters; // list of final daughters for
76  // finding mother's position
77 
78  align::GlobalVectors theNominalVs; // nominal points from mother's pos
79  align::GlobalVectors theCurrentVs; // current points rotated to nominal surf
80 
82 };
83 
85 {
86  return theMother != nullptr;
87 }
88 
89 #endif
std::vector< const Alignable * > theSisters
void calculate(const Alignable &)
Find the nominal and current vectors.
const std::vector< bool > & theSelector
align::GlobalVectors theCurrentVs
align::GlobalVectors theNominalVs
SurveyResidual(const Alignable &, align::StructureType, bool bias=false)
void findSisters(const Alignable *, bool bias)
CLHEP::HepVector AlgebraicVector
align::LocalVectors pointsResidual() const
AlgebraicSymMatrix inverseCovariance() const
Get inverse of survey covariance wrt given structure type in constructor.
std::vector< GlobalVector > GlobalVectors
Definition: Utilities.h:29
std::vector< LocalVector > LocalVectors
Definition: Utilities.h:31
const Alignable * theMother
AlgebraicVector sensorResidual() const
CLHEP::HepSymMatrix AlgebraicSymMatrix
math::Error< 6 >::type ErrorMatrix
Definition: Definitions.h:39
const AlignableSurface & theSurface
bool valid() const
align::ErrorMatrix theCovariance