CMS 3D CMS Logo

CompositeAlignmentParameters.h
Go to the documentation of this file.
1 #ifndef Alignment_CommonAlignmentParametrization_CompositeAlignmentParameters_h
2 #define Alignment_CommonAlignmentParametrization_CompositeAlignmentParameters_h
3 
8 
9 #include <map>
10 #include <vector>
11 
23 
24 class AlignableDet;
25 class Alignable;
26 
28 public:
31 
32  typedef std::map<AlignableDetOrUnitPtr, Alignable *> AlignableDetToAlignableMap;
33  typedef std::map<Alignable *, int> Aliposmap;
34  typedef std::map<Alignable *, int> Alilenmap;
35 
37 
39 
41 
43  const AlgebraicSymMatrix &cov,
44  const Components &comp,
45  const AlignableDetToAlignableMap &alimap,
46  const Aliposmap &aliposmap,
47  const Alilenmap &alilenmap);
48 
50  const Components &comp,
51  const AlignableDetToAlignableMap &alimap,
52  const Aliposmap &aliposmap,
53  const Alilenmap &alilenmap);
54 
57 
59  const AlgebraicVector &parameters() const { return theData->parameters(); }
60 
62  const AlgebraicSymMatrix &covariance() const { return theData->covariance(); }
63 
66 
69  const AlgebraicSymMatrix &cov,
70  const AlignableDetToAlignableMap &alimap,
71  const Aliposmap &aliposmap,
72  const Alilenmap &alilenmap) const;
73 
75  Components components() const;
76 
82  AlgebraicMatrix derivatives(const std::vector<TrajectoryStateOnSurface> &tsosvec,
83  const std::vector<AlignableDet *> &alidetvec) const;
84  AlgebraicMatrix derivatives(const std::vector<TrajectoryStateOnSurface> &tsosvec,
85  const std::vector<AlignableDetOrUnitPtr> &alidetvec) const;
87  AlgebraicMatrix selectedDerivatives(const std::vector<TrajectoryStateOnSurface> &tsosvec,
88  const std::vector<AlignableDet *> &alidetvec) const;
89  AlgebraicMatrix selectedDerivatives(const std::vector<TrajectoryStateOnSurface> &tsosvec,
90  const std::vector<AlignableDetOrUnitPtr> &alidetvec) const;
91 
93  AlgebraicVector correctionTerm(const std::vector<TrajectoryStateOnSurface> &tsosvec,
94  const std::vector<AlignableDet *> &alidetvec) const;
95  AlgebraicVector correctionTerm(const std::vector<TrajectoryStateOnSurface> &tsosvec,
96  const std::vector<AlignableDetOrUnitPtr> &alidetvec) const;
105  AlgebraicMatrix derivativesLegacy(const std::vector<TrajectoryStateOnSurface> &tsosvec,
106  const std::vector<AlignableDet *> &alidetvec) const;
109  AlgebraicMatrix selectedDerivativesLegacy(const std::vector<TrajectoryStateOnSurface> &tsosvec,
110  const std::vector<AlignableDet *> &alidetvec) const;
111 
114 
117 
120 
123 
124 protected:
126 
127 private:
129  bool extractPositionAndLength(const align::Alignables &alignables,
130  std::vector<int> &posvec,
131  std::vector<int> &lenvec,
132  int &length) const;
133 
136 
139  void convert(const std::vector<AlignableDet *> &input, std::vector<AlignableDetOrUnitPtr> &output) const;
140 
143 
146 
150 };
151 
152 #endif
TrajectoryStateOnSurface.h
CompositeAlignmentParameters::theAlilenmap
Alilenmap theAlilenmap
Definition: CompositeAlignmentParameters.h:149
input
static const std::string input
Definition: EdmProvDump.cc:48
convertSQLitetoXML_cfg.output
output
Definition: convertSQLitetoXML_cfg.py:32
CompositeAlignmentParameters::covarianceSubset
AlgebraicSymMatrix covarianceSubset(const align::Alignables &) const
Extract covariance matrix for subset of alignables.
Definition: CompositeAlignmentParameters.cc:252
CompositeAlignmentParameters::Alilenmap
std::map< Alignable *, int > Alilenmap
Definition: CompositeAlignmentParameters.h:34
CompositeAlignmentParameters::theComponents
Components theComponents
Vector of alignable components.
Definition: CompositeAlignmentParameters.h:142
CompositeAlignmentParameters::selectedDerivativesLegacy
AlgebraicMatrix selectedDerivativesLegacy(const TrajectoryStateOnSurface &tsos, AlignableDet *alidet) const
Definition: CompositeAlignmentParameters.cc:201
Alignable
Definition: Alignable.h:27
CompositeAlignmentParameters::derivatives
AlgebraicMatrix derivatives(const TrajectoryStateOnSurface &tsos, const AlignableDetOrUnitPtr &alidet) const
Get derivatives.
Definition: CompositeAlignmentParameters.cc:128
CompositeAlignmentParameters
Definition: CompositeAlignmentParameters.h:27
CompositeAlignmentParameters::extractAlignables
align::Alignables extractAlignables(const align::Alignables &) const
Return vector of alignables without multiple occurences.
Definition: CompositeAlignmentParameters.cc:380
AlignmentParametersData.h
ReferenceCountingPointer
Definition: ReferenceCounted.h:60
CompositeAlignmentParameters::selectedDerivatives
AlgebraicMatrix selectedDerivatives(const TrajectoryStateOnSurface &tsos, const AlignableDetOrUnitPtr &alidet) const
Get derivatives for selected alignables.
Definition: CompositeAlignmentParameters.cc:139
CompositeAlignmentParameters::components
Components components() const
Get vector of alignable components.
Definition: CompositeAlignmentParameters.cc:71
AlignableDetOrUnitPtr
Definition: AlignableDetOrUnitPtr.h:30
AlCaHLTBitMon_QueryRunRegistry.comp
comp
Definition: AlCaHLTBitMon_QueryRunRegistry.py:249
AlignableDet
Definition: AlignableDet.h:8
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
CompositeAlignmentParameters::~CompositeAlignmentParameters
virtual ~CompositeAlignmentParameters()
destructor
Definition: CompositeAlignmentParameters.cc:48
AlgebraicVector
CLHEP::HepVector AlgebraicVector
Definition: AlgebraicObjects.h:13
CompositeAlignmentParameters::derivativesLegacy
AlgebraicMatrix derivativesLegacy(const TrajectoryStateOnSurface &tsos, AlignableDet *alidet) const
Definition: CompositeAlignmentParameters.cc:190
CompositeAlignmentParameters::AlignableDetToAlignableMap
std::map< AlignableDetOrUnitPtr, Alignable * > AlignableDetToAlignableMap
Definition: CompositeAlignmentParameters.h:32
CompositeAlignmentParameters::Aliposmap
std::map< Alignable *, int > Aliposmap
Definition: CompositeAlignmentParameters.h:33
CompositeAlignmentParameters::theAliposmap
Aliposmap theAliposmap
Maps to find parameters/covariance elements for given alignable.
Definition: CompositeAlignmentParameters.h:148
CompositeAlignmentParameters::CompositeAlignmentParameters
CompositeAlignmentParameters(const AlgebraicVector &par, const AlgebraicSymMatrix &cov, const Components &comp)
constructors
Definition: CompositeAlignmentParameters.cc:17
CompositeAlignmentParameters::extractPositionAndLength
bool extractPositionAndLength(const align::Alignables &alignables, std::vector< int > &posvec, std::vector< int > &lenvec, int &length) const
Extract position and length of parameters for a subset of Alignables.
Definition: CompositeAlignmentParameters.cc:349
CompositeAlignmentParameters::Components
align::Alignables Components
vector of alignable components
Definition: CompositeAlignmentParameters.h:30
AlignableDetOrUnitPtr.h
CompositeAlignmentParameters::theAlignableDetToAlignableMap
AlignableDetToAlignableMap theAlignableDetToAlignableMap
Relate Alignable's and AlignableDet's.
Definition: CompositeAlignmentParameters.h:145
CompositeAlignmentParameters::alignableFromAlignableDet
Alignable * alignableFromAlignableDet(const AlignableDetOrUnitPtr &adet) const
Get relevant Alignable from AlignableDet.
Definition: CompositeAlignmentParameters.cc:208
Utilities.h
AlgebraicSymMatrix
CLHEP::HepSymMatrix AlgebraicSymMatrix
Definition: AlgebraicObjects.h:15
CompositeAlignmentParameters::clone
CompositeAlignmentParameters * clone(const AlgebraicVector &par, const AlgebraicSymMatrix &cov) const
Clone parameters.
Definition: CompositeAlignmentParameters.cc:51
align::Alignables
std::vector< Alignable * > Alignables
Definition: Utilities.h:31
AlgebraicMatrix
CLHEP::HepMatrix AlgebraicMatrix
Definition: AlgebraicObjects.h:14
CompositeAlignmentParameters::parameters
const AlgebraicVector & parameters() const
Get alignment parameters.
Definition: CompositeAlignmentParameters.h:59
CompositeAlignmentParameters::correctionTerm
AlgebraicVector correctionTerm(const std::vector< TrajectoryStateOnSurface > &tsosvec, const std::vector< AlignableDet * > &alidetvec) const
for backward compatibility, use std::vector<AlignableDetOrUnitPtr>
Definition: CompositeAlignmentParameters.cc:94
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
CompositeAlignmentParameters::theData
DataContainer theData
Definition: CompositeAlignmentParameters.h:125
CompositeAlignmentParameters::DataContainer
AlignmentParametersData::DataContainer DataContainer
Definition: CompositeAlignmentParameters.h:36
CompositeAlignmentParameters::covariance
const AlgebraicSymMatrix & covariance() const
Get parameter covariance matrix.
Definition: CompositeAlignmentParameters.h:62
CompositeAlignmentParameters::convert
void convert(const std::vector< AlignableDet * > &input, std::vector< AlignableDetOrUnitPtr > &output) const
Definition: CompositeAlignmentParameters.cc:392
CompositeAlignmentParameters::parameterSubset
AlgebraicVector parameterSubset(const align::Alignables &) const
Extract parameters for subset of alignables.
Definition: CompositeAlignmentParameters.cc:217