CMS 3D CMS Logo

MultiRecHitCollectorESProducer Class Reference

#include <RecoTracker/SiTrackerMRHTools/plugins/MultiRecHitCollectorESProducer.h>

Inheritance diagram for MultiRecHitCollectorESProducer:

edm::ESProducer edm::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider

List of all members.

Public Member Functions

 MultiRecHitCollectorESProducer (const edm::ParameterSet &p)
boost::shared_ptr
< MultiRecHitCollector
produce (const MultiRecHitRecord &)
virtual ~MultiRecHitCollectorESProducer ()

Private Attributes

boost::shared_ptr
< MultiRecHitCollector
_collector
edm::ParameterSet pset_


Detailed Description

Definition at line 11 of file MultiRecHitCollectorESProducer.h.


Constructor & Destructor Documentation

MultiRecHitCollectorESProducer::MultiRecHitCollectorESProducer ( const edm::ParameterSet p  ) 

Definition at line 18 of file MultiRecHitCollectorESProducer.cc.

References edm::ParameterSet::getParameter(), pset_, and edm::ESProducer::setWhatProduced().

00019 {
00020   std::string myname = p.getParameter<std::string>("ComponentName");
00021   pset_ = p;
00022   setWhatProduced(this,myname);
00023 }

MultiRecHitCollectorESProducer::~MultiRecHitCollectorESProducer (  )  [virtual]

Definition at line 25 of file MultiRecHitCollectorESProducer.cc.

00025 {}


Member Function Documentation

boost::shared_ptr< MultiRecHitCollector > MultiRecHitCollectorESProducer::produce ( const MultiRecHitRecord iRecord  ) 

Definition at line 28 of file MultiRecHitCollectorESProducer.cc.

References _collector, edm::eventsetup::EventSetupRecordImplementation< T >::get(), edm::ParameterSet::getParameter(), edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::getRecord(), HLT_VtxMuL3::measurementTrackerName, mode, edm::ESHandle< T >::product(), and pset_.

00028                                                                        {
00029   std::string mode = "Grouped";
00030   if (pset_.getParameter<std::string>("Mode")=="Simple") mode = "Simple"; 
00031 
00032   std::string mrhupdator             = pset_.getParameter<std::string>("MultiRecHitUpdator"); 
00033   std::string propagatorAlongName    = pset_.getParameter<std::string>("propagatorAlong");
00034   std::string estimatorName          = pset_.getParameter<std::string>("estimator"); 
00035   std::string measurementTrackerName = pset_.getParameter<std::string>("MeasurementTrackerName");
00036 
00037   ESHandle<SiTrackerMultiRecHitUpdator> mrhuhandle;
00038   iRecord.get(mrhupdator, mrhuhandle);
00039   ESHandle<Propagator>  propagatorhandle;
00040   iRecord.getRecord<CkfComponentsRecord>().getRecord<TrackingComponentsRecord>().get(propagatorAlongName, propagatorhandle);
00041   ESHandle<Chi2MeasurementEstimatorBase> estimatorhandle;
00042   iRecord.getRecord<CkfComponentsRecord>().getRecord<TrackingComponentsRecord>().get(estimatorName, estimatorhandle);
00043   ESHandle<MeasurementTracker> measurementhandle;
00044   iRecord.getRecord<CkfComponentsRecord>().get(measurementTrackerName, measurementhandle);       
00045  
00046   if (mode == "Grouped"){
00047         std::string propagatorOppositeName = pset_.getParameter<std::string>("propagatorOpposite");  
00048         ESHandle<Propagator>  propagatorOppositehandle;
00049         iRecord.getRecord<CkfComponentsRecord>().getRecord<TrackingComponentsRecord>().get(propagatorOppositeName, propagatorOppositehandle); 
00050         _collector  = boost::shared_ptr<MultiRecHitCollector>(new GroupedDAFHitCollector(measurementhandle.product(),
00051                                                                                  mrhuhandle.product(),
00052                                                                                  estimatorhandle.product(),
00053                                                                                  propagatorhandle.product(),
00054                                                                                  propagatorOppositehandle.product()));
00055   } else {
00056         _collector  = boost::shared_ptr<MultiRecHitCollector>(new SimpleDAFHitCollector(measurementhandle.product(),
00057                                                                                  mrhuhandle.product(),
00058                                                                                  estimatorhandle.product(),
00059                                                                                  propagatorhandle.product()));
00060   }
00061         
00062   return _collector;
00063 }


Member Data Documentation

boost::shared_ptr<MultiRecHitCollector> MultiRecHitCollectorESProducer::_collector [private]

Definition at line 17 of file MultiRecHitCollectorESProducer.h.

Referenced by produce().

edm::ParameterSet MultiRecHitCollectorESProducer::pset_ [private]

Definition at line 18 of file MultiRecHitCollectorESProducer.h.

Referenced by MultiRecHitCollectorESProducer(), and produce().


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