RPCAMCUnpacker

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
#ifndef EventFilter_RPCRawToDigi_RPCAMCUnpacker_h
#define EventFilter_RPCRawToDigi_RPCAMCUnpacker_h

#include <map>
#include <vector>

#include "CondFormats/RPCObjects/interface/RPCAMCLink.h"
#include "EventFilter/RPCRawToDigi/interface/RPCAMC13Record.h"
#include "FWCore/Framework/interface/ProducesCollector.h"
#include "FWCore/Framework/interface/ConsumesCollector.h"

namespace edm {
  class Event;
  class EventSetup;
  class ParameterSet;
  class ParameterSetDescription;
  class Run;
}  // namespace edm

class RPCAMCUnpacker {
public:
  RPCAMCUnpacker(edm::ParameterSet const&, edm::ConsumesCollector, edm::ProducesCollector);
  virtual ~RPCAMCUnpacker();

  static void fillDescription(edm::ParameterSetDescription& desc);

  virtual void beginRun(edm::Run const& run, edm::EventSetup const& setup);
  virtual void produce(edm::Event& event,
                       edm::EventSetup const& setup,
                       std::map<RPCAMCLink, rpcamc13::AMCPayload> const& amc_payload);

  std::vector<int> const& getFeds() const;

protected:
  std::vector<int> feds_;
};

inline std::vector<int> const& RPCAMCUnpacker::getFeds() const { return feds_; }

#endif  // EventFilter_RPCRawToDigi_RPCAMCUnpacker_h