CMS 3D CMS Logo

MkFitGeometryESProducer.cc
Go to the documentation of this file.
3 
10 
12 
14 
15 // mkFit includes
16 #include "ConfigWrapper.h"
17 #include "TrackerInfo.h"
18 #include "mkFit/IterationConfig.h"
19 
20 #include <atomic>
21 
23 public:
25 
26  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
27 
28  std::unique_ptr<MkFitGeometry> produce(const TrackerRecoGeometryRecord& iRecord);
29 
30 private:
34 };
35 
37  auto cc = setWhatProduced(this);
38  geomToken_ = cc.consumes();
39  trackerToken_ = cc.consumes();
40  ttopoToken_ = cc.consumes();
41 }
42 
45  descriptions.addWithDefaultLabel(desc);
46 }
47 
48 std::unique_ptr<MkFitGeometry> MkFitGeometryESProducer::produce(const TrackerRecoGeometryRecord& iRecord) {
49  auto trackerInfo = std::make_unique<mkfit::TrackerInfo>();
50  auto iterationsInfo = std::make_unique<mkfit::IterationsInfo>();
51  mkfit::createPhase1TrackerGeometry(*trackerInfo, *iterationsInfo, false);
52  return std::make_unique<MkFitGeometry>(iRecord.get(geomToken_),
53  iRecord.get(trackerToken_),
54  iRecord.get(ttopoToken_),
55  std::move(trackerInfo),
56  std::move(iterationsInfo));
57 }
58 
TrackerGeometry.h
createPhase1TrackerGeometry.h
edm::ESProducer::setWhatProduced
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:163
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
ESProducer.h
TrackerRecoGeometryRecord.h
TrackerRecoGeometryRecord
Definition: TrackerRecoGeometryRecord.h:14
GeometricSearchTracker.h
TrackerTopology.h
MkFitGeometryESProducer::geomToken_
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
Definition: MkFitGeometryESProducer.cc:31
TrackerTopologyRcd.h
mkfit::createPhase1TrackerGeometry
void createPhase1TrackerGeometry(TrackerInfo &ti, IterationsInfo &ii, bool verbose)
Definition: createPhase1TrackerGeometry.cc:179
edm::eventsetup::DependentRecordImplementation::get
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
Definition: DependentRecordImplementation.h:109
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
MkFitGeometryESProducer::produce
std::unique_ptr< MkFitGeometry > produce(const TrackerRecoGeometryRecord &iRecord)
Definition: MkFitGeometryESProducer.cc:48
TrackerDigiGeometryRecord.h
edm::ParameterSet
Definition: ParameterSet.h:47
MkFitGeometryESProducer::MkFitGeometryESProducer
MkFitGeometryESProducer(const edm::ParameterSet &iConfig)
Definition: MkFitGeometryESProducer.cc:36
MkFitGeometryESProducer
Definition: MkFitGeometryESProducer.cc:22
cc
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord >
MkFitGeometryESProducer::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: MkFitGeometryESProducer.cc:43
ModuleFactory.h
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
eostools.move
def move(src, dest)
Definition: eostools.py:511
DEFINE_FWK_EVENTSETUP_MODULE
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
Definition: ModuleFactory.h:60
MkFitGeometryESProducer::trackerToken_
edm::ESGetToken< GeometricSearchTracker, TrackerRecoGeometryRecord > trackerToken_
Definition: MkFitGeometryESProducer.cc:32
edm::ESProducer
Definition: ESProducer.h:104
MkFitGeometryESProducer::ttopoToken_
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > ttopoToken_
Definition: MkFitGeometryESProducer.cc:33
edm::ConfigurationDescriptions::addWithDefaultLabel
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:87
MkFitGeometry.h