ProducerWithPSetDesc

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
#ifndef Integration_ProducerWithPSetDesc_h
#define Integration_ProducerWithPSetDesc_h

// Used to test the ParameterSetDescription.
// This module has a description with many
// different types and values of parameters,
// including nested ParameterSets and vectors
// of them.

#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/global/EDProducer.h"

#include <memory>
#include <vector>

namespace edm {
  class ConfigurationDescriptions;
}

namespace edmtest {

  struct AnotherIntMakerBase;

  class ProducerWithPSetDesc : public edm::global::EDProducer<> {
  public:
    explicit ProducerWithPSetDesc(edm::ParameterSet const& ps);

    void produce(edm::StreamID, edm::Event& e, edm::EventSetup const& c) const override;

    static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);

  private:
    bool testingAutoGeneratedCfi;

    std::unique_ptr<AnotherIntMakerBase> pluginHelper_;
    std::unique_ptr<AnotherIntMakerBase> pluginHelper1_;
    std::vector<std::unique_ptr<AnotherIntMakerBase>> pluginHelpers2_;
    std::vector<std::unique_ptr<AnotherIntMakerBase>> pluginHelpers3_;
    std::unique_ptr<AnotherIntMakerBase> pluginHelper4_;
    std::vector<std::unique_ptr<AnotherIntMakerBase>> pluginHelpers5_;
  };
}  // namespace edmtest
#endif