CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/RecoTracker/SiTrackerMRHTools/interface/MultiTrajectoryMeasurement.h

Go to the documentation of this file.
00001 #ifndef TR_MultiTrajectoryMeasurement_H_
00002 #define TR_MultiTrajectoryMeasurement_H_
00003 
00004 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h"
00005 
00006 class TrackingRecHit;
00007 class TransientTrackingRecHit;
00008 class TrajectoryMeasurement;
00009 class TrajectoryStateOnSurface;
00010 class BoundSurface;
00011 class DetLayer;
00012 
00013 #include <vector>
00014 #include <map>
00015 
00016 class MultiTrajectoryMeasurement {
00017 
00018 private:
00019 
00020   typedef TrajectoryMeasurement TM;
00021   typedef TrajectoryStateOnSurface TSOS;
00022 
00023 public:
00024 
00025   MultiTrajectoryMeasurement();
00026 
00027   MultiTrajectoryMeasurement(TransientTrackingRecHit::ConstRecHitPointer hit, 
00028                              const std::map<int,TSOS>& predictions, 
00029                              const std::map<int,TSOS>& updates, 
00030                              const DetLayer*);
00031 
00032   MultiTrajectoryMeasurement(std::vector<TransientTrackingRecHit::ConstRecHitPointer>& hits,
00033                              const std::map<int,const TransientTrackingRecHit*>& multihits,
00034                              const std::map<int,TSOS>& predictions,
00035                              const std::map<int,TSOS>& updates,
00036                              const std::map<int,float>& estimates,
00037                              const DetLayer*);
00038 
00039   std::vector<TransientTrackingRecHit::ConstRecHitPointer> hits() const;
00040   std::map<int,const TransientTrackingRecHit*>& multiHits();
00041   std::map<int, TSOS>& filteredStates();
00042   std::map<int, TSOS>& predictedStates();
00043   std::map<int, float>& chi2s();
00044   const BoundSurface& surface() const;
00045   const DetLayer* layer() const;
00046 
00047 private:
00048 
00049   std::vector<TransientTrackingRecHit::ConstRecHitPointer> theRecHits;
00050   std::map<int,const TransientTrackingRecHit*> theMultiHits;
00051   std::map<int, TSOS> theFilteredStates;
00052   std::map<int, TSOS> thePredictedStates;
00053   std::map<int, float> theChi2s;
00054   const DetLayer* theLayer;
00055 };
00056 
00057 #endif //TR_MultiTrajectoryMeasurement_H_
00058