ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitEdm/Producers/src/HitDropperESProducer.cc
Revision: 1.3
Committed: Fri Mar 20 18:01:48 2009 UTC (16 years, 1 month ago) by loizides
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_009c, Mit_009b, Mit_009a, Mit_009, Mit_008
Changes since 1.2: +15 -6 lines
Log Message:
Cleanup

File Contents

# Content
1 // $Id: HitDropperESProducer.cc,v 1.2 2008/10/16 16:44:52 bendavid Exp $
2
3 #include "MitEdm/Producers/interface/HitDropperESProducer.h"
4 #include "Geometry/Records/interface/GlobalTrackingGeometryRecord.h"
5 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
6 #include "boost/mpl/vector.hpp"
7 #include "Geometry/CommonDetUnit/interface/GlobalTrackingGeometry.h"
8 #include "RecoTracker/TkDetLayers/interface/GeometricSearchTracker.h"
9 #include "RecoTracker/Record/interface/TrackerRecoGeometryRecord.h"
10 #include "TrackingTools/Records/interface/TransientTrackRecord.h"
11
12
13 #include "FWCore/Framework/interface/ESHandle.h"
14
15 #include <string>
16 #include <memory>
17
18 using namespace mitedm;
19 using namespace edm;
20
21 //--------------------------------------------------------------------------------------------------
22 HitDropperESProducer::HitDropperESProducer(const edm::ParameterSet &p)
23 {
24 // Constructor.
25
26 std::string myname = p.getParameter<std::string>("ComponentName");
27 pset_ = p;
28 setWhatProduced(this,myname);
29 }
30
31 //--------------------------------------------------------------------------------------------------
32 HitDropperESProducer::~HitDropperESProducer()
33 {
34 // Destructor.
35 }
36
37 //--------------------------------------------------------------------------------------------------
38 boost::shared_ptr<HitDropper>
39 HitDropperESProducer::produce(const HitDropperRecord &iRecord)
40 {
41 // Create hit dropper object.
42
43 //get tracker geometry
44 edm::ESHandle<TrackerGeometry> hTracker;
45 iRecord.getRecord<TrackerDigiGeometryRecord>().get(hTracker);
46 const TrackerGeometry *trackerGeo = hTracker.product();
47
48 //get transient track builder
49 edm::ESHandle<TransientTrackBuilder> hBuilder;
50 iRecord.getRecord<TransientTrackRecord>().get("TransientTrackBuilder",hBuilder);
51 const TransientTrackBuilder *builder = hBuilder.product();
52
53 //get tracker geometry navigator
54 edm::ESHandle<GeometricSearchTracker> hTrackerSearch;
55 iRecord.getRecord<TrackerRecoGeometryRecord>().get(hTrackerSearch);
56 const GeometricSearchTracker *trackerSearch = hTrackerSearch.product();
57
58 _dropper = boost::shared_ptr<HitDropper>(
59 new HitDropper(trackerGeo, builder, trackerSearch));
60
61 return _dropper;
62 }