#include <RecoTracker/SiTrackerMRHTools/interface/SimpleDAFHitCollector.h>
Public Member Functions | |
const MeasurementEstimator * | getEstimator () const |
const Propagator * | getPropagator () const |
const SiTrackerMultiRecHitUpdator * | getUpdator () const |
virtual std::vector < TrajectoryMeasurement > | recHits (const Trajectory &) const |
SimpleDAFHitCollector (const MeasurementTracker *measurementTracker, const SiTrackerMultiRecHitUpdator *updator, const MeasurementEstimator *est, const Propagator *propagator) | |
virtual | ~SimpleDAFHitCollector () |
Private Member Functions | |
void | buildMultiRecHits (const std::vector< TrajectoryMeasurement > &measgroup, std::vector< TrajectoryMeasurement > &result) const |
Private Attributes | |
const MeasurementEstimator * | theEstimator |
const Propagator * | thePropagator |
const SiTrackerMultiRecHitUpdator * | theUpdator |
Definition at line 10 of file SimpleDAFHitCollector.h.
SimpleDAFHitCollector::SimpleDAFHitCollector | ( | const MeasurementTracker * | measurementTracker, | |
const SiTrackerMultiRecHitUpdator * | updator, | |||
const MeasurementEstimator * | est, | |||
const Propagator * | propagator | |||
) | [inline, explicit] |
Definition at line 12 of file SimpleDAFHitCollector.h.
00016 :MultiRecHitCollector(measurementTracker), theUpdator(updator), theEstimator(est), thePropagator(propagator){}
virtual SimpleDAFHitCollector::~SimpleDAFHitCollector | ( | ) | [inline, virtual] |
void SimpleDAFHitCollector::buildMultiRecHits | ( | const std::vector< TrajectoryMeasurement > & | measgroup, | |
std::vector< TrajectoryMeasurement > & | result | |||
) | const [private] |
Referenced by recHits().
const MeasurementEstimator* SimpleDAFHitCollector::getEstimator | ( | ) | const [inline] |
Definition at line 31 of file SimpleDAFHitCollector.h.
References theEstimator.
Referenced by recHits().
00031 {return theEstimator;}
const Propagator* SimpleDAFHitCollector::getPropagator | ( | ) | const [inline] |
Definition at line 32 of file SimpleDAFHitCollector.h.
References thePropagator.
00032 {return thePropagator;}
const SiTrackerMultiRecHitUpdator* SimpleDAFHitCollector::getUpdator | ( | ) | const [inline] |
Definition at line 30 of file SimpleDAFHitCollector.h.
References theUpdator.
00030 {return theUpdator;}
vector< TrajectoryMeasurement > SimpleDAFHitCollector::recHits | ( | const Trajectory & | traj | ) | const [virtual] |
Implements MultiRecHitCollector.
Definition at line 16 of file SimpleDAFHitCollector.cc.
References buildMultiRecHits(), getEstimator(), MultiRecHitCollector::getMeasurementTracker(), MeasurementTracker::idToDet(), LogTrace, Trajectory::measurements(), HLT_VtxMuL3::result, and thePropagator.
00016 { 00017 00018 //it assumes that the measurements are sorted in the smoothing direction 00019 vector<TrajectoryMeasurement> meas = traj.measurements(); 00020 if (meas.empty()) //return TransientTrackingRecHit::ConstRecHitContainer(); 00021 return vector<TrajectoryMeasurement>(); 00022 00023 00024 //TransientTrackingRecHit::ConstRecHitContainer result; 00025 vector<TrajectoryMeasurement> result; 00026 00027 for(vector<TrajectoryMeasurement>::reverse_iterator imeas = meas.rbegin(); imeas != meas.rend(); imeas++) { 00028 //if the rechit is associated to a valid detId 00029 if(imeas->recHit()->geographicalId().rawId()){ 00030 vector<TrajectoryMeasurement> currentLayerMeas = getMeasurementTracker()->idToDet(imeas->recHit()->geographicalId().rawId())->fastMeasurements(imeas->updatedState(), imeas->updatedState(), *thePropagator, *(getEstimator())); 00031 buildMultiRecHits(currentLayerMeas, result); 00032 } else { 00033 result.push_back(*imeas); 00034 } 00035 } 00036 LogTrace("MultiRecHitCollector") << "Original Measurement size " << meas.size() << " SimpleDAFHitCollector returned " << result.size() << " rechits"; 00037 //results are sorted in the fitting direction 00038 return result; 00039 }
const MeasurementEstimator* SimpleDAFHitCollector::theEstimator [private] |
const Propagator* SimpleDAFHitCollector::thePropagator [private] |
Definition at line 42 of file SimpleDAFHitCollector.h.
Referenced by getPropagator(), and recHits().
const SiTrackerMultiRecHitUpdator* SimpleDAFHitCollector::theUpdator [private] |