CMS 3D CMS Logo

AlignmentParameters.h
Go to the documentation of this file.
1 #ifndef Alignment_CommonAlignment_AlignmentParameters_H
2 #define Alignment_CommonAlignment_AlignmentParameters_H
3 
4 #include <vector>
5 
8 
10 
27 
28 // include and not forward declare to ensure automatic conversion from AlignableDet(Unit):
29 // NO: include problems... #include "Alignment/CommonAlignment/interface/AlignableDetOrUnitPtr.h"
31 class Alignable;
33 class RecHit;
34 
36 public:
38 
41 
43  AlignmentParameters(Alignable* object, const AlgebraicVector& par, const AlgebraicSymMatrix& cov);
44 
47  const AlgebraicVector& par,
48  const AlgebraicSymMatrix& cov,
49  const std::vector<bool>& sel);
50 
53 
55  virtual ~AlignmentParameters();
56 
58  virtual void apply() = 0;
60  virtual int type() const = 0;
61 
63  virtual AlignmentParameters* clone(const AlgebraicVector& par, const AlgebraicSymMatrix& cov) const = 0;
64  virtual AlignmentParameters* cloneFromSelected(const AlgebraicVector& par, const AlgebraicSymMatrix& cov) const = 0;
65 
67  const std::vector<bool>& selector(void) const;
68 
70  int numSelected(void) const;
71 
74 
77 
79  const AlgebraicVector& parameters(void) const;
80 
82  const AlgebraicSymMatrix& covariance(void) const;
83 
86  const AlignableDetOrUnitPtr& alidet) const = 0;
88  const AlignableDetOrUnitPtr& alidet) const;
89 
94 
96  Alignable* alignable(void) const;
97 
102  virtual unsigned int hierarchyLevel() const;
103 
105  int size(void) const;
106 
108  bool isValid(void) const;
110  void setValid(bool v);
111 
112 protected:
113  // private helper methods
114  AlgebraicSymMatrix collapseSymMatrix(const AlgebraicSymMatrix& m, const std::vector<bool>& sel) const;
115  AlgebraicVector collapseVector(const AlgebraicVector& m, const std::vector<bool>& sel) const;
116  AlgebraicSymMatrix expandSymMatrix(const AlgebraicSymMatrix& m, const std::vector<bool>& sel) const;
117  AlgebraicVector expandVector(const AlgebraicVector& m, const std::vector<bool>& sel) const;
118 
119  // data members
120 
122 
124 
126 
127  bool bValid;
128 };
129 
130 #endif
AlignmentParameters::theAlignable
Alignable * theAlignable
Definition: AlignmentParameters.h:121
AlignmentParameters::expandVector
AlgebraicVector expandVector(const AlgebraicVector &m, const std::vector< bool > &sel) const
Definition: AlignmentParameters.cc:215
AlignmentParameters::theData
DataContainer theData
Definition: AlignmentParameters.h:123
AlignmentUserVariables
(Abstract) Base class for alignment algorithm user variables
Definition: AlignmentUserVariables.h:6
AlgebraicObjects.h
AlignmentParameters::collapseVector
AlgebraicVector collapseVector(const AlgebraicVector &m, const std::vector< bool > &sel) const
Definition: AlignmentParameters.cc:166
Alignable
Definition: Alignable.h:27
AlignmentParameters::userVariables
AlignmentUserVariables * userVariables(void) const
Get pointer to user variables.
Definition: AlignmentParameters.cc:101
AlignmentParameters::selectedDerivatives
virtual AlgebraicMatrix selectedDerivatives(const TrajectoryStateOnSurface &tsos, const AlignableDetOrUnitPtr &alidet) const
Definition: AlignmentParameters.cc:70
AlignmentParametersData.h
ReferenceCountingPointer
Definition: ReferenceCounted.h:60
AlignmentParameters::apply
virtual void apply()=0
apply parameters to alignable
findQualityFiles.v
v
Definition: findQualityFiles.py:179
AlignableDetOrUnitPtr
Definition: AlignableDetOrUnitPtr.h:30
AlignmentParameters::isValid
bool isValid(void) const
Get validity flag.
Definition: AlignmentParameters.cc:134
AlignmentParameters
Definition: AlignmentParameters.h:35
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
AlignmentParameters::type
virtual int type() const =0
tell type (AlignmentParametersFactory::ParametersType - but no circular dependency)
AlgebraicVector
CLHEP::HepVector AlgebraicVector
Definition: AlgebraicObjects.h:13
AlignmentUserVariables.h
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:79
AlignmentParameters::selectedCovariance
AlgebraicSymMatrix selectedCovariance(void) const
Get covariance matrix of selected parameters.
Definition: AlignmentParameters.cc:59
AlignmentParameters::~AlignmentParameters
virtual ~AlignmentParameters()
Destructor.
Definition: AlignmentParameters.cc:42
AlignmentParameters::AlignmentParameters
AlignmentParameters()
Default constructor.
Definition: AlignmentParameters.cc:9
AlignmentParameters::clone
virtual AlignmentParameters * clone(const AlgebraicVector &par, const AlgebraicSymMatrix &cov) const =0
Enforce clone methods in derived classes.
AlignmentParameters::theUserVariables
AlignmentUserVariables * theUserVariables
Definition: AlignmentParameters.h:125
AlgebraicSymMatrix
CLHEP::HepSymMatrix AlgebraicSymMatrix
Definition: AlgebraicObjects.h:15
AlignmentParameters::collapseSymMatrix
AlgebraicSymMatrix collapseSymMatrix(const AlgebraicSymMatrix &m, const std::vector< bool > &sel) const
Definition: AlignmentParameters.cc:140
AlignmentParameters::selectedParameters
AlgebraicVector selectedParameters(void) const
Get selected parameters.
Definition: AlignmentParameters.cc:54
AlignmentParameters::expandSymMatrix
AlgebraicSymMatrix expandSymMatrix(const AlgebraicSymMatrix &m, const std::vector< bool > &sel) const
Definition: AlignmentParameters.cc:190
AlignmentParameters::DataContainer
AlignmentParametersData::DataContainer DataContainer
Definition: AlignmentParameters.h:37
AlignmentParameters::derivatives
virtual AlgebraicMatrix derivatives(const TrajectoryStateOnSurface &tsos, const AlignableDetOrUnitPtr &alidet) const =0
Get derivatives of selected parameters.
AlgebraicMatrix
CLHEP::HepMatrix AlgebraicMatrix
Definition: AlgebraicObjects.h:14
AlignmentParameters::covariance
const AlgebraicSymMatrix & covariance(void) const
Get parameter covariance matrix.
Definition: AlignmentParameters.cc:67
AlignmentParameters::setValid
void setValid(bool v)
Set validity flag.
Definition: AlignmentParameters.cc:137
AlignmentParameters::cloneFromSelected
virtual AlignmentParameters * cloneFromSelected(const AlgebraicVector &par, const AlgebraicSymMatrix &cov) const =0
AlignmentParameters::numSelected
int numSelected(void) const
Get number of selected parameters.
Definition: AlignmentParameters.cc:51
AlignmentParameters::size
int size(void) const
Get number of parameters.
Definition: AlignmentParameters.cc:131
AlignmentParameters::alignable
Alignable * alignable(void) const
Get pointer to corresponding alignable.
Definition: AlignmentParameters.cc:104
AlignmentParameters::selector
const std::vector< bool > & selector(void) const
Get alignment parameter selector vector.
Definition: AlignmentParameters.cc:48
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
EgammaValidation_Wenu_cff.sel
sel
Definition: EgammaValidation_Wenu_cff.py:33
AlignmentParameters::parameters
const AlgebraicVector & parameters(void) const
Get alignment parameters.
Definition: AlignmentParameters.cc:64
AlignmentParameters::bValid
bool bValid
True if parameters are valid.
Definition: AlignmentParameters.h:127
AlignmentParameters::hierarchyLevel
virtual unsigned int hierarchyLevel() const
Definition: AlignmentParameters.cc:107
AlignmentParameters::setUserVariables
void setUserVariables(AlignmentUserVariables *auv)
Set pointer to user variables.
Definition: AlignmentParameters.cc:94