pflib v3.13.3-1-gf856638
Pretty Fine HGCROC Interaction Library
Loading...
Searching...
No Matches
zcu_trig.h
1#ifndef PFLIB_ZCU_TRIG_H_INCLUDED
2#define PFLIB_ZCU_TRIG_H_INCLUDED
3
4#include "pflib/TRIG.h"
5#include "pflib/logging/Logging.h"
6#include "pflib/zcu/UIO.h"
7
8namespace pflib {
9namespace zcu {
10
11class ZCUtrig : public TRIG {
12 public:
13 ZCUtrig();
14 void reset();
15 int n_elinks() const override { return nelinks_; }
16
17 void setup_alignment_capture(int delay) override;
18 int get_alignment_capture() override;
19
21
22 void set_bx_delay(int ilink, int delay) override;
23
24 int get_bx_delay(int ilink) override;
25
26 std::map<std::string, uint32_t> get_debug() override;
27
28 void setup_daq(int pipeline, int econ_id, int samples_per_l1a,
29 int presamples) override;
30
31 void get_daq_setup(int& pipeline, int& econ_id, int& samples_per_l1a,
32 int& presamples) override;
33
34 bool is_sample_available() override;
36
37 uint32_t get_decoder_lut(uint32_t addr);
38 void set_decoder_lut(uint32_t addr, uint32_t val);
39
40 void setup_algo(const std::vector<uint32_t>& parameters) override;
42 bool is_algo_output_available() override;
44
45 bool get_enable_single_shot() override;
46 int get_self_trigger_count() override;
47 void enable_single_shot(bool enable = true) override;
48 bool single_shot_fired() override;
49 void reset_single_shot() override;
50
51 private:
52 UIO uio_;
53 int nelinks_;
54 mutable logging::logger the_log_;
55};
56
57} // namespace zcu
58} // namespace pflib
59
60#endif // PFLIB_ZCU_TRIG_H_INCLUDED
Trigger path management interface.
Definition TRIG.h:20
Definition UIO.h:15
Definition zcu_trig.h:11
bool is_algo_output_available() override
Is there trigger algorithm output data?
Definition zcu_trig.cxx:200
bool is_sample_available() override
Is there a sample available?
Definition zcu_trig.cxx:116
void reset()
Reset the internals.
Definition zcu_trig.cxx:67
void get_daq_setup(int &pipeline, int &econ_id, int &samples_per_l1a, int &presamples) override
get the data collection setup
Definition zcu_trig.cxx:108
std::vector< uint32_t > read_capture_buffer(int ilink) override
Read the capture block for the given elink.
Definition zcu_trig.cxx:76
std::vector< uint32_t > read_sample() override
Read the next sample of raw trigger path data.
Definition zcu_trig.cxx:120
void setup_daq(int pipeline, int econ_id, int samples_per_l1a, int presamples) override
Setup the data collection of raw trigger data path.
Definition zcu_trig.cxx:100
std::vector< uint32_t > get_algo_setup() override
get the trigger algorithm configuration
Definition zcu_trig.cxx:187
std::vector< uint32_t > read_algo_output_sample() override
read the next sample of the output of the trigger algorithm
Definition zcu_trig.cxx:204
void set_bx_delay(int ilink, int delay) override
Set the BX delay for the given elink.
Definition zcu_trig.cxx:88
void setup_algo(const std::vector< uint32_t > &parameters) override
configure the trigger algorithm
Definition zcu_trig.cxx:163
int n_elinks() const override
How many elinks are there?
Definition zcu_trig.h:15
int get_alignment_capture() override
Get the alignment capture function.
Definition zcu_trig.cxx:72
int get_bx_delay(int ilink) override
Get the BX delay for the given elink.
Definition zcu_trig.cxx:94
void setup_alignment_capture(int delay) override
Set up the alignment capture function.
Definition zcu_trig.cxx:69
boost::log::sources::severity_channel_logger_mt< level, std::string > logger
our logger type
Definition Logging.h:39
This version of the fast control code interfaces with the CMS Fast control library which can be contr...
Definition Backend.cxx:3