CMS 3D CMS Logo

Public Member Functions | Private Attributes

MuonRoadTrajectoryBuilderESProducer Class Reference

#include <MuonRoadTrajectoryBuilderESProducer.h>

Inheritance diagram for MuonRoadTrajectoryBuilderESProducer:
edm::ESProducer edm::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider

List of all members.

Public Member Functions

 MuonRoadTrajectoryBuilderESProducer (const edm::ParameterSet &)
boost::shared_ptr
< TrajectoryBuilder
produce (const CkfComponentsRecord &)
 ~MuonRoadTrajectoryBuilderESProducer ()

Private Attributes

boost::shared_ptr
< TrajectoryBuilder
_trajectorybuilder
std::string measurementTrackerName
std::string propagatorName
edm::ParameterSet pset_

Detailed Description

Definition at line 9 of file MuonRoadTrajectoryBuilderESProducer.h.


Constructor & Destructor Documentation

MuonRoadTrajectoryBuilderESProducer::MuonRoadTrajectoryBuilderESProducer ( const edm::ParameterSet iConfig)

Definition at line 7 of file MuonRoadTrajectoryBuilderESProducer.cc.

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

{
  std::string myName = iConfig.getParameter<std::string>("ComponentName");
  measurementTrackerName = iConfig.getParameter<std::string>("measurementTrackerName");
  propagatorName = iConfig.getParameter<std::string>("propagatorName");
  pset_ = iConfig;
  setWhatProduced(this,myName);
}
MuonRoadTrajectoryBuilderESProducer::~MuonRoadTrajectoryBuilderESProducer ( )

Definition at line 16 of file MuonRoadTrajectoryBuilderESProducer.cc.

{
 
   // do anything here that needs to be done at desctruction time
   // (e.g. close files, deallocate resources etc.)

}

Member Function Documentation

boost::shared_ptr< TrajectoryBuilder > MuonRoadTrajectoryBuilderESProducer::produce ( const CkfComponentsRecord iRecord)

Definition at line 25 of file MuonRoadTrajectoryBuilderESProducer.cc.

References _trajectorybuilder, edm::eventsetup::EventSetupRecord::get(), edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::getRecord(), measurementTrackerName, propagatorName, and pset_.

{
   using namespace edm::es;

   edm::ESHandle<MeasurementTracker>             measurementTrackerHandle;
   edm::ESHandle<Propagator> propagatorHandle;
   
   iRecord.get(measurementTrackerName,measurementTrackerHandle);
   iRecord.getRecord<TrackingComponentsRecord>().get(propagatorName,propagatorHandle);
   
   _trajectorybuilder = boost::shared_ptr<TrajectoryBuilder>(new  MuonRoadTrajectoryBuilder(pset_,
                                                                                            measurementTrackerHandle.product(),
                                                                                            propagatorHandle->magneticField(),
                                                                                            propagatorHandle.product())
                                                                   );
   return _trajectorybuilder;
}

Member Data Documentation

Definition at line 17 of file MuonRoadTrajectoryBuilderESProducer.h.

Referenced by produce().