CMS 3D CMS Logo

SimpleDAFHitCollector Class Reference

#include <RecoTracker/SiTrackerMRHTools/interface/SimpleDAFHitCollector.h>

Inheritance diagram for SimpleDAFHitCollector:

MultiRecHitCollector

List of all members.

Public Member Functions

const MeasurementEstimatorgetEstimator () const
const PropagatorgetPropagator () const
const SiTrackerMultiRecHitUpdatorgetUpdator () 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 MeasurementEstimatortheEstimator
const PropagatorthePropagator
const SiTrackerMultiRecHitUpdatortheUpdator


Detailed Description

Definition at line 10 of file SimpleDAFHitCollector.h.


Constructor & Destructor Documentation

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]

Definition at line 19 of file SimpleDAFHitCollector.h.

00019 {}


Member Function Documentation

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 }


Member Data Documentation

const MeasurementEstimator* SimpleDAFHitCollector::theEstimator [private]

Definition at line 40 of file SimpleDAFHitCollector.h.

Referenced by getEstimator().

const Propagator* SimpleDAFHitCollector::thePropagator [private]

Definition at line 42 of file SimpleDAFHitCollector.h.

Referenced by getPropagator(), and recHits().

const SiTrackerMultiRecHitUpdator* SimpleDAFHitCollector::theUpdator [private]

Definition at line 39 of file SimpleDAFHitCollector.h.

Referenced by getUpdator().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:31:39 2009 for CMSSW by  doxygen 1.5.4