CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/TrackingTools/MeasurementDet/interface/LayerMeasurements.h

Go to the documentation of this file.
00001 #ifndef LayerMeasurements_H
00002 #define LayerMeasurements_H
00003 
00004 
00005 #include <vector>
00006 
00007 class TrajectoryStateOnSurface;
00008 class Propagator;
00009 class MeasurementEstimator;
00010 class TrajectoryMeasurement;
00011 class TrajectoryMeasurementGroup;
00012 class MeasurementDetSystem;
00013 class DetLayer;
00014 class DetGroup;
00015 
00016 class LayerMeasurements {
00017 public:
00018 
00019   LayerMeasurements( const MeasurementDetSystem* detSysytem) :
00020     theDetSystem (detSysytem) {}
00021 
00022   std::vector<TrajectoryMeasurement>
00023   measurements( const DetLayer& layer, 
00024                 const TrajectoryStateOnSurface& startingState,
00025                 const Propagator& prop, 
00026                 const MeasurementEstimator& est) const;
00027 
00028   std::vector<TrajectoryMeasurementGroup>
00029   groupedMeasurements( const DetLayer& layer, 
00030                        const TrajectoryStateOnSurface& startingState,
00031                        const Propagator& prop, 
00032                        const MeasurementEstimator& est) const;
00033 
00034 
00035   void addInvalidMeas( std::vector<TrajectoryMeasurement>& measVec,
00036                        const DetGroup& group,
00037                        const DetLayer& layer) const;
00038   
00039 private:
00040 
00041   const MeasurementDetSystem* theDetSystem;
00042 
00043 };
00044 
00045 #endif