DTUnpacker

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 DTUnpacker_h
#define DTUnpacker_h

/** \class DTUnpacker
 *  Base class for DT data unpackers
 *
 * \author M. Zanetti INFN Padova
 *  FR 060906
 */

#include <FWCore/Framework/interface/ESHandle.h>
#include <DataFormats/DTDigi/interface/DTDigiCollection.h>
#include <DataFormats/DTDigi/interface/DTLocalTriggerCollection.h>

class DTReadOutMapping;

class DTUnpacker {
public:
  /// Constructor
  DTUnpacker() {}

  /// Destructor
  virtual ~DTUnpacker() {}

  /// Unpacking method.
  /// index is the pointer to the beginning of the buffer.
  /// datasize is the size of the buffer in bytes

  virtual void interpretRawData(const unsigned int* index,
                                int datasize,
                                int dduID,
                                edm::ESHandle<DTReadOutMapping>& mapping,
                                std::unique_ptr<DTDigiCollection>& product,
                                std::unique_ptr<DTLocalTriggerCollection>& product2,
                                uint16_t rosList = 0) = 0;

protected:
};

#endif