CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/Alignment/KalmanAlignmentAlgorithm/plugins/SingleTrajectoryUpdator.h

Go to the documentation of this file.
00001 #ifndef Alignment_KalmanAlignmentAlgorithm_SingleTrajectoryUpdator_h
00002 #define Alignment_KalmanAlignmentAlgorithm_SingleTrajectoryUpdator_h
00003 
00004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00005 
00006 #include "Alignment/KalmanAlignmentAlgorithm/interface/KalmanAlignmentUpdator.h"
00007 
00010 
00011 
00012 class CompositeAlignmentParameters;
00013 
00014 
00015 class SingleTrajectoryUpdator : public KalmanAlignmentUpdator
00016 {
00017 
00018 public:
00019 
00020   SingleTrajectoryUpdator( const edm::ParameterSet & config );
00021   virtual ~SingleTrajectoryUpdator( void );
00022 
00024   virtual void process( const ReferenceTrajectoryPtr & trajectory,
00025                         AlignmentParameterStore* store,
00026                         AlignableNavigator* navigator,
00027                         KalmanAlignmentMetricsUpdator* metrics,
00028                         const MagneticField* magField = 0 );
00029 
00030   virtual SingleTrajectoryUpdator* clone( void ) const { return new SingleTrajectoryUpdator( *this ); }
00031 
00032 private:
00033 
00034   bool checkCovariance( const AlgebraicSymMatrix& cov ) const;
00035 
00036   unsigned int theMinNumberOfHits;
00037   double theExtraWeight;
00038   double theExternalPredictionWeight;
00039   bool theCovCheckFlag;
00040 
00041   unsigned int theNumberOfPreAlignmentEvts;
00042   unsigned int theNumberOfProcessedEvts;
00043 };
00044 
00045 
00046 #endif