pflib v3.12.0-1-g716e801
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 void setup_daq(int pipeline, int econ_id, int samples_per_l1a,
27 int presamples) override;
28
29 void get_daq_setup(int& pipeline, int& econ_id, int& samples_per_l1a,
30 int& presamples) override;
31
32 bool is_sample_available() override;
34
35 void setup_algo(const std::vector<uint32_t>& parameters) override;
37 bool is_algo_output_available() override;
39
40 bool get_enable_single_shot() override;
41 int get_self_trigger_count() override;
42 void enable_single_shot(bool enable = true) override;
43 bool single_shot_fired() override;
44 void reset_single_shot() override;
45
46 private:
47 UIO uio_;
48 int nelinks_;
49 mutable logging::logger the_log_;
50};
51
52} // namespace zcu
53} // namespace pflib
54
55#endif // PFLIB_ZCU_TRIG_H_INCLUDED
Trigger path management interface.
Definition TRIG.h:18
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:178
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:165
std::vector< uint32_t > read_algo_output_sample() override
read the next sample of the output of the trigger algorithm
Definition zcu_trig.cxx:182
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:141
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