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 
15 class TrackerTopology;
16 
18 {
19 
20 public:
21 
25  const TrackerTopology* tTopo,
26  int frequency = 100 );
27 
29  theParentAlignable( 0 ),
30  theNumberOfHits( 0 ),
31  theNumberOfUpdates( 0 ),
32  theUpdateFrequency( 0 ),
35  {}
36 
37  virtual ~KalmanAlignmentUserVariables( void ) {}
38 
39  virtual KalmanAlignmentUserVariables* clone( void ) const { return new KalmanAlignmentUserVariables( *this ); }
40 
42  inline int numberOfHits( void ) const { return theNumberOfHits; }
44  inline void hit( void ) { ++theNumberOfHits; }
45 
47  inline int numberOfUpdates( void ) const { return theNumberOfUpdates; }
49  void update( bool enforceUpdate = false );
51  void update( const AlignmentParameters* param );
53  void histogramParameters( std::string histoNamePrefix );
54 
55  inline const std::string identifier( void ) const { return theIdentifier; }
56 
57  inline void setAlignmentFlag( bool flag ) { theAlignmentFlag = flag; }
58  inline bool isAligned( void ) const { return theAlignmentFlag; }
59 
60  void fixAlignable( void );
61  void unfixAlignable( void );
62 
63 protected:
64 
65  const AlgebraicVector extractTrueParameters( void ) const;
66 
67  const std::string selectedParameter( const int& selected ) const;
68  float selectedScaling( const int& selected ) const;
69 
70  const std::string toString( const int& i ) const;
71 
73 
77 
80 
83 
86 
87 };
88 
89 
90 #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
const std::string identifier(void) const
list parent
Definition: dbtoconf.py:74
float selectedScaling(const int &selected) const
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
CLHEP::HepVector AlgebraicVector
const AlgebraicVector extractTrueParameters(void) const
void hit(void)
Call this function in case the associated Alignable was hit by a particle.
static const AlignableObjectId * theObjectId
int numberOfUpdates(void) const
Return the number of updates.
volatile std::atomic< bool > shutdown_flag false
int numberOfHits(void) const
Return the number of hits.