CMS 3D CMS Logo

TSCBLBuilderWithPropagatorESProducer.cc
Go to the documentation of this file.
1 //
2 // Original Author: Matt Rudolph
3 // Created: Sat Mar 28 20:13:08 CET 2009
4 //
5 //
6 
7 
8 // system include files
9 #include <memory>
10 
11 // user include files
15 
19 
20 
21 //
22 // class decleration
23 //
24 
26  public:
29 
30  typedef std::unique_ptr<TrajectoryStateClosestToBeamLineBuilder> ReturnType;
31 
32  ReturnType produce(const TrackingComponentsRecord&);
33  private:
34  // ----------member data ---------------------------
36 };
37 
38 //
39 // constants, enums and typedefs
40 //
41 
42 //
43 // static data member definitions
44 //
45 
46 //
47 // constructors and destructor
48 //
50 {
51  //the following line is needed to tell the framework what
52  // data is being produced
53  std::string myName = p.getParameter<std::string>("ComponentName");
54  pset_ = p;
55  setWhatProduced(this,myName);
56 
57  //now do what ever other initialization is needed
58 }
59 
60 
62 {
63 
64  // do anything here that needs to be done at desctruction time
65  // (e.g. close files, deallocate resources etc.)
66 
67 }
68 
69 
70 //
71 // member functions
72 //
73 
74 // ------------ method called to produce the data ------------
77 {
78  using namespace edm::es;
79  std::string propname = pset_.getParameter<std::string>("Propagator");
80 
82  iRecord.get(propname, theProp);
83 
84  const Propagator * pro = theProp.product();
85 
86  auto pTSCBLBuilderWithPropagator = std::make_unique<TSCBLBuilderWithPropagator>(*pro) ;
87 
88 
89  return pTSCBLBuilderWithPropagator ;
90 }
91 
92 //define this as a plug-in
T getParameter(std::string const &) const
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:124
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
Definition: ModuleFactory.h:60
ReturnType produce(const TrackingComponentsRecord &)
std::unique_ptr< TrajectoryStateClosestToBeamLineBuilder > ReturnType