Orion
high-rate readout
encoder.hpp
Go to the documentation of this file.
1 
5 #pragma once
6 
7 #include "enccore.hpp"
8 
9 
10 namespace itk::itkpix::endec {
11 
12 namespace intf {
13 
16 template<typename T>
17 class Encoder {
18 public:
19  // struct Factory : public itk::Factory<Encoder> {
20  // virtual Encoder* operator()(Options opt) = 0;
21  // };
22 
24  virtual ~Encoder() = default;
25 
27  virtual void initialize() = 0;
28 
30  virtual void finalize() = 0;
31 
32  // virtual void encode(uint8_t tag, const datafmt::HitMap &hmap) = 0;
33  // virtual void encode(uint8_t tag, const datafmt::PixelVec &hvec) = 0;
34  // virtual void encode(uint8_t tag, const datafmt::QCoreVec &qvec) = 0;
35 
37  virtual void set_stream(std::vector<uint64_t>* stream) = 0;
38  virtual std::vector<uint64_t>* get_stream() = 0;
39 }; // Encoder
40 
41 } // intf
42 
43 } // itk::itkpix::encoder
Templated Encoder.
Definition: encoder.hpp:17
virtual void initialize()=0
Initialize Encoder.
virtual ~Encoder()=default
Destructor.
virtual void set_stream(std::vector< uint64_t > *stream)=0
properties
virtual void finalize()=0
Finalize Encoder.
Implementation for ITkPix Encoder.