CMS 3D CMS Logo

KalmanAlignmentUpdator.h

Go to the documentation of this file.
00001 #ifndef Alignment_KalmanAlignmentAlgorithm_KalmanAlignmentUpdator_h
00002 #define Alignment_KalmanAlignmentAlgorithm_KalmanAlignmentUpdator_h
00003 
00004 #include "Alignment/CommonAlignment/interface/AlignableNavigator.h"
00005 #include "Alignment/CommonAlignmentAlgorithm/interface/AlignmentParameterStore.h"
00006 #include "Alignment/ReferenceTrajectories/interface/TrajectoryFactoryBase.h"
00007 #include "Alignment/KalmanAlignmentAlgorithm/interface/KalmanAlignmentMetricsUpdator.h"
00008 
00010 
00011 
00012 class KalmanAlignmentUpdator
00013 {
00014 
00015 public:
00016 
00017   typedef ReferenceTrajectoryBase::ReferenceTrajectoryPtr ReferenceTrajectoryPtr;
00018 
00019   KalmanAlignmentUpdator( const edm::ParameterSet & config ) {}
00020   virtual ~KalmanAlignmentUpdator( void ) {}
00021 
00024   virtual void process( const ReferenceTrajectoryPtr & trajectory,
00025                         AlignmentParameterStore* store,
00026                         AlignableNavigator* navigator,
00027                         KalmanAlignmentMetricsUpdator* metrics ) = 0;
00028 
00029   virtual KalmanAlignmentUpdator* clone( void ) const = 0;
00030 
00031 protected:
00032 
00034   void updateUserVariables( const std::vector< Alignable* > & alignables ) const;
00035 
00038   const std::vector< Alignable* > alignablesFromAlignableDets( const std::vector< AlignableDetOrUnitPtr >& alignableDets,
00039                                                                AlignmentParameterStore* store ) const;
00040 
00041 };
00042 
00043 
00044 #endif

Generated on Tue Jun 9 17:24:02 2009 for CMSSW by  doxygen 1.5.4