CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CkfTrajectoryBuilderESProducer.cc
Go to the documentation of this file.
3 
8 
15 
19 
21 #include <string>
22 #include <memory>
23 
24 using namespace edm;
25 
27 {
28  std::string myName = p.getParameter<std::string>("ComponentName");
29  pset_ = p;
30  setWhatProduced(this,myName);
31 }
32 
34 
35 boost::shared_ptr<TrajectoryBuilder>
37 {
38  std::string updatorName = pset_.getParameter<std::string>("updator");
39  std::string propagatorAlongName = pset_.getParameter<std::string>("propagatorAlong");
40  std::string propagatorOppositeName = pset_.getParameter<std::string>("propagatorOpposite");
41  std::string estimatorName = pset_.getParameter<std::string>("estimator");
42  std::string recHitBuilderName = pset_.getParameter<std::string>("TTRHBuilder");
43  std::string filterName = pset_.getParameter<std::string>("trajectoryFilterName");
44 
45 
47  edm::ESHandle<Propagator> propagatorAlongHandle;
48  edm::ESHandle<Propagator> propagatorOppositeHandle;
52 
53  iRecord.getRecord<TrackingComponentsRecord>().get(updatorName,updatorHandle);
54  iRecord.getRecord<TrackingComponentsRecord>().get(propagatorAlongName,propagatorAlongHandle);
55  iRecord.getRecord<TrackingComponentsRecord>().get(propagatorOppositeName,propagatorOppositeHandle);
56  iRecord.getRecord<TrackingComponentsRecord>().get(estimatorName,estimatorHandle);
57  iRecord.getRecord<TransientRecHitRecord>().get(recHitBuilderName,recHitBuilderHandle);
58  iRecord.get(filterName, filterHandle);
59 
60  _trajectoryBuilder =
61  boost::shared_ptr<TrajectoryBuilder>(new CkfTrajectoryBuilder(pset_,
62  updatorHandle.product(),
63  propagatorAlongHandle.product(),
64  propagatorOppositeHandle.product(),
65  estimatorHandle.product(),
66  recHitBuilderHandle.product(),
67  filterHandle.product()) );
68  return _trajectoryBuilder;
69 }
70 
71 
T getParameter(std::string const &) const
boost::shared_ptr< TrajectoryBuilder > produce(const CkfComponentsRecord &)
void get(HolderT &iHolder) const
CkfTrajectoryBuilderESProducer(const edm::ParameterSet &p)
T const * product() const
Definition: ESHandle.h:62