#ifndef IOPool_Streamer_StreamThingProducer_h
#define IOPool_Streamer_StreamThingProducer_h

/** \class ThingProducer
 *
 * \version   1st Version Apr. 6, 2005  

 *
 ************************************************************/

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

#include <string>
#include <vector>

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

    ~StreamThingProducer() override;

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

  private:
    int size_;
    int inst_count_;
    std::vector<std::string> names_;
    int start_count_;

    bool apply_bit_mask_;
    unsigned int bit_mask_;
  };
}  // namespace edmtest_thing
#endif
