1 #ifndef Alignment_CommonAlignmentParametrization_CompositeAlignmentParameters_h
2 #define Alignment_CommonAlignmentParametrization_CompositeAlignmentParameters_h
83 const std::vector<AlignableDet*>& alidetvec )
const;
85 const std::vector<AlignableDetOrUnitPtr>& alidetvec )
const;
88 const std::vector<AlignableDet*> &alidetvec )
const;
90 const std::vector<AlignableDetOrUnitPtr> &alidetvec )
const;
94 const std::vector<AlignableDet*>& alidetvec )
const;
96 const std::vector<AlignableDetOrUnitPtr>& alidetvec )
const;
105 const std::vector<AlignableDet*>& alidetvec )
const;
108 const std::vector<AlignableDet*>& alidetvec )
const;
122 const std::vector<Alignable*>& vecj )
const;
131 std::vector<int>& posvec,
132 std::vector<int>& lenvec,
136 std::vector< Alignable* >
extractAlignables(
const std::vector< Alignable* >& alignables )
const;
141 std::vector<AlignableDetOrUnitPtr> &
output)
const;
bool extractPositionAndLength(const std::vector< Alignable * > &alignables, std::vector< int > &posvec, std::vector< int > &lenvec, int &length) const
Extract position and length of parameters for a subset of Alignables.
std::vector< Alignable * > extractAlignables(const std::vector< Alignable * > &alignables) const
Return vector of alignables without multiple occurences.
AlignmentParametersData::DataContainer DataContainer
std::vector< Alignable * > Components
vector of alignable components
AlignableDetToAlignableMap theAlignableDetToAlignableMap
Relate Alignable's and AlignableDet's.
Alignable * alignableFromAlignableDet(const AlignableDetOrUnitPtr &adet) const
Get relevant Alignable from AlignableDet.
static std::string const input
AlgebraicMatrix selectedDerivativesLegacy(const TrajectoryStateOnSurface &tsos, AlignableDet *alidet) const
deprecated due to 'AlignableDet*' interface (legacy code should not be needed anymore) ...
const AlgebraicVector & parameters() const
Get alignment parameters.
void convert(const std::vector< AlignableDet * > &input, std::vector< AlignableDetOrUnitPtr > &output) const
AlgebraicSymMatrix covarianceSubset(const std::vector< Alignable * > &vec) const
Extract covariance matrix for subset of alignables.
CLHEP::HepMatrix AlgebraicMatrix
Components components() const
Get vector of alignable components.
std::map< Alignable *, int > Alilenmap
const AlgebraicSymMatrix & covariance() const
Get parameter covariance matrix.
virtual ~CompositeAlignmentParameters()
destructor
AlgebraicVector correctionTerm(const std::vector< TrajectoryStateOnSurface > &tsosvec, const std::vector< AlignableDet * > &alidetvec) const
for backward compatibility, use std::vector<AlignableDetOrUnitPtr>
CLHEP::HepVector AlgebraicVector
std::map< AlignableDetOrUnitPtr, Alignable * > AlignableDetToAlignableMap
AlgebraicMatrix derivativesLegacy(const TrajectoryStateOnSurface &tsos, AlignableDet *alidet) const
deprecated due to 'AlignableDet*' interface (legacy code should not be needed anymore) ...
AlgebraicVector parameterSubset(const std::vector< Alignable * > &vec) const
Extract parameters for subset of alignables.
AlgebraicMatrix selectedDerivatives(const TrajectoryStateOnSurface &tsos, const AlignableDetOrUnitPtr &alidet) const
Get derivatives for selected alignables.
Aliposmap theAliposmap
Maps to find parameters/covariance elements for given alignable.
CompositeAlignmentParameters(const AlgebraicVector &par, const AlgebraicSymMatrix &cov, const Components &comp)
constructors
CLHEP::HepSymMatrix AlgebraicSymMatrix
std::map< Alignable *, int > Aliposmap
Components theComponents
Vector of alignable components.
AlgebraicMatrix derivatives(const TrajectoryStateOnSurface &tsos, const AlignableDetOrUnitPtr &alidet) const
Get derivatives.
CompositeAlignmentParameters * clone(const AlgebraicVector &par, const AlgebraicSymMatrix &cov) const
Clone parameters.