pflib v3.9.5-8-gf71a60f
Pretty Fine HGCROC Interaction Library
Loading...
Searching...
No Matches
ECONDFormatter.h
1#pragma once
2#ifndef pflib_ECOND_Formatter_h_included
3#define pflib_ECOND_Formatter_h_included
4
5#include <stdint.h>
6
7#include <vector>
8
9namespace pflib::packing {
10
16 public:
17 ECONDFormatter(bool disable_zs);
18 void disableZS(bool disable = true);
19 void startEvent(int bx, int l1a, int orbit);
20 void finishEvent();
21 const std::vector<uint32_t>& getPacket() const { return packet_; }
22 void add_elink_packet(int ielink, const std::vector<uint32_t>& src);
23
24 private:
25 std::vector<uint32_t> format_elink(int ielink,
26 const std::vector<uint32_t>& src);
27 int zs_process(int ielink, int ic, uint32_t word);
28
32 bool disable_zs_{true};
33};
34
35} // namespace pflib::packing
36
37#endif // pflib_ECOND_Formatter_h_included
Helper class emulating the ECON-D's behavior for constructing an event packet.
Definition ECONDFormatter.h:15
std::vector< uint32_t > packet_
packet currently under construction
Definition ECONDFormatter.h:30
bool disable_zs_
whether zero-suppresion should be disabled or not
Definition ECONDFormatter.h:32
int zs_process(int ielink, int ic, uint32_t word)
Definition ECONDFormatter.cxx:139