CMS 3D CMS Logo

CompositeAlignmentDerivativesExtractor.h
Go to the documentation of this file.
1 #ifndef Alignment_CommonAlignmentParametrization_CompositeAlignmentDerivativesExtractor_H
2 #define Alignment_CommonAlignmentParametrization_CompositeAlignmentDerivativesExtractor_H
3 
5 
13 
14 class Alignable;
15 class AlignableDet;
18 
20 {
21 
22 public:
23 
25  CompositeAlignmentDerivativesExtractor( const std::vector< Alignable* > & alignables,
26  const std::vector< AlignableDet* > & alignableDets,
27  const std::vector< TrajectoryStateOnSurface > & tsos );
29  CompositeAlignmentDerivativesExtractor( const std::vector< Alignable* > & alignables,
30  const std::vector< AlignableDetOrUnitPtr > & alignableDets,
31  const std::vector< TrajectoryStateOnSurface > & tsos );
32 
35 
36  const AlgebraicMatrix & derivatives( void ) const { return theDerivatives; }
37  const AlgebraicVector & correctionTerm( void ) const { return theCorrectionTerm; }
38 
39 private:
40 
41  void extractCurrentAlignment( const std::vector< Alignable* > & alignables,
42  const std::vector< AlignableDetOrUnitPtr > & alignableDets,
43  const std::vector< TrajectoryStateOnSurface > & tsos );
44 
45  void extractWithoutMultipleHits( const std::vector< AlgebraicVector > & subCorrectionTerm,
46  const std::vector< AlgebraicMatrix > & subDerivatives );
47 
48  void extractWithMultipleHits( const std::vector< AlgebraicVector > & subCorrectionTerm,
49  const std::vector< AlgebraicMatrix > & subDerivatives,
50  const std::vector< Alignable* > & alignables );
51 
54 
55 };
56 
57 #endif
void extractWithMultipleHits(const std::vector< AlgebraicVector > &subCorrectionTerm, const std::vector< AlgebraicMatrix > &subDerivatives, const std::vector< Alignable * > &alignables)
CompositeAlignmentDerivativesExtractor(const std::vector< Alignable * > &alignables, const std::vector< AlignableDet * > &alignableDets, const std::vector< TrajectoryStateOnSurface > &tsos)
deprecated constructor for backward compatibility (use mor general AlignableDetOrUnitPtr) ...
CLHEP::HepMatrix AlgebraicMatrix
void extractCurrentAlignment(const std::vector< Alignable * > &alignables, const std::vector< AlignableDetOrUnitPtr > &alignableDets, const std::vector< TrajectoryStateOnSurface > &tsos)
void extractWithoutMultipleHits(const std::vector< AlgebraicVector > &subCorrectionTerm, const std::vector< AlgebraicMatrix > &subDerivatives)
CLHEP::HepVector AlgebraicVector