Skip to content

Commit

Permalink
Removed inappropriate use of delegating constructor
Browse files Browse the repository at this point in the history
The call to setWhatProduced happens before the base class has
been initialized. The problem was found by clang.
  • Loading branch information
Dr15Jones committed May 29, 2019
1 parent d3c8c6f commit bece13b
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,9 @@

using namespace edm;

TransientTrackBuilderESProducer::TransientTrackBuilderESProducer(const edm::ParameterSet& p)
: TransientTrackBuilderESProducer(setWhatProduced(this, p.getParameter<std::string>("ComponentName"))) {}

TransientTrackBuilderESProducer::TransientTrackBuilderESProducer(edm::ESConsumesCollector&& c)
: magToken_(c.consumesFrom<MagneticField, IdealMagneticFieldRecord>()),
geomToken_(c.consumesFrom<GlobalTrackingGeometry, GlobalTrackingGeometryRecord>()) {}
TransientTrackBuilderESProducer::TransientTrackBuilderESProducer(const edm::ParameterSet& p) {
setWhatProduced(this, p.getParameter<std::string>("ComponentName")).setConsumes(magToken_).setConsumes(geomToken_);
}

std::unique_ptr<TransientTrackBuilder> TransientTrackBuilderESProducer::produce(const TransientTrackRecord& iRecord) {
return std::make_unique<TransientTrackBuilder>(&iRecord.get(magToken_), iRecord.getHandle(geomToken_));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,8 @@ class TransientTrackBuilderESProducer : public edm::ESProducer {
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions);

private:
TransientTrackBuilderESProducer(edm::ESConsumesCollector &&c);

const edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> magToken_;
const edm::ESGetToken<GlobalTrackingGeometry, GlobalTrackingGeometryRecord> geomToken_;
edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> magToken_;
edm::ESGetToken<GlobalTrackingGeometry, GlobalTrackingGeometryRecord> geomToken_;
};

#endif

0 comments on commit bece13b

Please sign in to comment.