CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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  mkfit::createPhase1TrackerGeometry(*trackerInfo, false);
51  return std::make_unique<MkFitGeometry>(
52  iRecord.get(geomToken_), iRecord.get(trackerToken_), iRecord.get(ttopoToken_), std::move(trackerInfo));
53 }
54 
void createPhase1TrackerGeometry(TrackerInfo &ti, bool verbose)
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:163
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
edm::ESGetToken< GeometricSearchTracker, TrackerRecoGeometryRecord > trackerToken_
MkFitGeometryESProducer(const edm::ParameterSet &iConfig)
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > ttopoToken_
def move
Definition: eostools.py:511
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
Definition: ModuleFactory.h:60
std::unique_ptr< MkFitGeometry > produce(const TrackerRecoGeometryRecord &iRecord)
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_