Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:28:11

0001 #include "NonPropagatingDetMeasurements.h"
0002 #include "TrackingTools/PatternTools/interface/TrajectoryMeasurement.h"
0003 #include "TrackingTools/DetLayers/interface/MeasurementEstimator.h"
0004 #include "TrackingTools/PatternTools/interface/TrajMeasLessEstim.h"
0005 #include "TrackingTools/MeasurementDet/interface/MeasurementDet.h"
0006 #include "TrackingTools/TransientTrackingRecHit/interface/InvalidTransientRecHit.h"
0007 
0008 std::vector<TrajectoryMeasurement> NonPropagatingDetMeasurements::get(const MeasurementDet& det,
0009                                                                       const TrajectoryStateOnSurface& stateOnThisDet,
0010                                                                       const MeasurementEstimator& est,
0011                                                                       const MeasurementTrackerEvent& data) const {
0012   throw cms::Exception("THIS SHOULD NOT BE CALLED");
0013   std::vector<TrajectoryMeasurement> result;
0014   /*
0015   MeasurementDet::RecHitContainer allHits = det.recHits(stateOnThisDet, data);
0016   for (MeasurementDet::RecHitContainer::const_iterator ihit=allHits.begin();
0017        ihit != allHits.end(); ihit++) {
0018     std::pair<bool,double> diffEst = est.estimate( stateOnThisDet, **ihit);
0019     if ( diffEst.first) {
0020       result.push_back( TrajectoryMeasurement( stateOnThisDet, *ihit, 
0021                            diffEst.second));
0022     }
0023   }
0024   //GIO// std::cerr << "NonPropagatingDetMeasurements: " << allHits.size() << " => " << result.size() << std::endl;
0025   if ( result.empty()) {
0026     // create a TrajectoryMeasurement with an invalid RecHit and zero estimate
0027     result.push_back( TrajectoryMeasurement( stateOnThisDet, 
0028                          InvalidTransientRecHit::build(&det.geomDet()), 0.F)); 
0029   }
0030   else {
0031     // sort results according to estimator value
0032     if ( result.size() > 1) {
0033       sort( result.begin(), result.end(), TrajMeasLessEstim());
0034     }
0035   }
0036   */
0037   return result;
0038 }