CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
KalmanAlignmentUserVariables.h
Go to the documentation of this file.
1 
2 #ifndef Alignment_KalmanAlignmentAlgorithm_KalmanAlignmentUserVariables_h
3 #define Alignment_KalmanAlignmentAlgorithm_KalmanAlignmentUserVariables_h
4 
9 
10 #include <string>
11 
14 
16 {
17 
18 public:
19 
23  int frequency = 100 );
24 
26  theParentAlignable( 0 ),
27  theNumberOfHits( 0 ),
28  theNumberOfUpdates( 0 ),
29  theUpdateFrequency( 0 ),
32  {}
33 
34  virtual ~KalmanAlignmentUserVariables( void ) {}
35 
36  virtual KalmanAlignmentUserVariables* clone( void ) const { return new KalmanAlignmentUserVariables( *this ); }
37 
39  inline int numberOfHits( void ) const { return theNumberOfHits; }
41  inline void hit( void ) { ++theNumberOfHits; }
42 
44  inline int numberOfUpdates( void ) const { return theNumberOfUpdates; }
46  void update( bool enforceUpdate = false );
48  void update( const AlignmentParameters* param );
50  void histogramParameters( std::string histoNamePrefix );
51 
52  inline const std::string identifier( void ) const { return theIdentifier; }
53 
54  inline void setAlignmentFlag( bool flag ) { theAlignmentFlag = flag; }
55  inline bool isAligned( void ) const { return theAlignmentFlag; }
56 
57  void fixAlignable( void );
58  void unfixAlignable( void );
59 
60 protected:
61 
62  const AlgebraicVector extractTrueParameters( void ) const;
63 
64  const std::string selectedParameter( const int& selected ) const;
65  const float selectedScaling( const int& selected ) const;
66 
67  const std::string toString( const int& i ) const;
68 
70 
74 
77 
78  std::string theIdentifier;
79  std::string theTypeAndLayer;
80 
83 
84 };
85 
86 
87 #endif
const std::string selectedParameter(const int &selected) const
virtual KalmanAlignmentUserVariables * clone(void) const
int i
Definition: DBlmapReader.cc:9
void histogramParameters(std::string histoNamePrefix)
Histogram current estimate of the alignment parameters wrt. the true values.
static const TrackerAlignableId * theAlignableId
long int flag
Definition: mlp_lapack.h:47
const std::string identifier(void) const
list parent
Definition: dbtoconf.py:74
const std::string toString(const int &i) const
void update(bool enforceUpdate=false)
Call this function in case the associated Alignable was updated by the alignment algorithm.
Allows conversion between type and name, and vice-versa.
(Abstract) Base class for alignment algorithm user variables
static const AlignableObjectId * theObjectId
CLHEP::HepVector AlgebraicVector
const AlgebraicVector extractTrueParameters(void) const
const float selectedScaling(const int &selected) const
void hit(void)
Call this function in case the associated Alignable was hit by a particle.
int numberOfUpdates(void) const
Return the number of updates.
int numberOfHits(void) const
Return the number of hits.