CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
KalmanAlignmentUpdator.h
Go to the documentation of this file.
1 #ifndef Alignment_KalmanAlignmentAlgorithm_KalmanAlignmentUpdator_h
2 #define Alignment_KalmanAlignmentAlgorithm_KalmanAlignmentUpdator_h
3 
8 
10 
12 
13 class MagneticField;
14 
16 {
17 
18 public:
19 
21 
23  virtual ~KalmanAlignmentUpdator( void ) {}
24 
27  virtual void process( const ReferenceTrajectoryPtr & trajectory,
29  AlignableNavigator* navigator,
31  const MagneticField* magField = 0 ) = 0;
32 
33  virtual KalmanAlignmentUpdator* clone( void ) const = 0;
34 
35 protected:
36 
38  void updateUserVariables( const std::vector< Alignable* > & alignables ) const;
39 
42  virtual const std::vector< Alignable* >
43  alignablesFromAlignableDets( std::vector< AlignableDetOrUnitPtr >& alignableDets,
44  AlignmentParameterStore* store ) const;
45 
46  unsigned int nDifferentAlignables( const std::vector<Alignable*>& ali ) const;
47 
48 };
49 
50 
51 #endif
virtual const std::vector< Alignable * > alignablesFromAlignableDets(std::vector< AlignableDetOrUnitPtr > &alignableDets, AlignmentParameterStore *store) const
void updateUserVariables(const std::vector< Alignable * > &alignables) const
Update the AlignmentUserVariables, given that the Alignables hold KalmanAlignmentUserVariables.
ReferenceTrajectoryBase::ReferenceTrajectoryPtr ReferenceTrajectoryPtr
virtual void process(const ReferenceTrajectoryPtr &trajectory, AlignmentParameterStore *store, AlignableNavigator *navigator, KalmanAlignmentMetricsUpdator *metrics, const MagneticField *magField=0)=0
unsigned int nDifferentAlignables(const std::vector< Alignable * > &ali) const
KalmanAlignmentUpdator(const edm::ParameterSet &config)
virtual KalmanAlignmentUpdator * clone(void) const =0