pflib v3.14.3-4-g3289bd3
Pretty Fine HGCROC Interaction Library
Loading...
Searching...
No Matches
pflib::zcu::ZCUtrig Class Reference
Inheritance diagram for pflib::zcu::ZCUtrig:
[legend]
Collaboration diagram for pflib::zcu::ZCUtrig:
[legend]

Public Member Functions

void reset ()
 Reset the internals.
 
int n_elinks () const override
 How many elinks are there?
 
void reset_alignment () override
 reset the aligner block
 
void setup_alignment (int delay, uint16_t pattern, uint8_t elinks_to_ignore, bool bypass_match) override
 Set up the alignment.
 
void get_alignment_setup (int &delay, uint16_t &pattern, uint8_t &elinks_to_ignore, bool &bypass_match) override
 Get the alignment setup.
 
std::vector< uint32_t > read_capture_buffer (int ilink) override
 Read the capture block for the given elink.
 
std::map< std::string, uint32_t > get_debug () override
 
void setup_daq (int pipeline, int econ_id, int samples_per_l1a, int presamples) override
 Setup the data collection of raw trigger data path.
 
void get_daq_setup (int &pipeline, int &econ_id, int &samples_per_l1a, int &presamples) override
 get the data collection setup
 
bool is_sample_available () override
 Is there a sample available?
 
std::vector< uint32_t > read_sample () override
 Read the next sample of raw trigger path data.
 
uint32_t get_decoder_lut (uint16_t channel, uint16_t addr)
 
void set_decoder_lut (uint16_t channel, uint16_t addr, uint32_t val)
 
void setup_algo (const std::vector< uint32_t > &parameters) override
 configure the trigger algorithm
 
std::vector< uint32_t > get_algo_setup () override
 get the trigger algorithm configuration
 
bool is_algo_output_available () override
 Is there trigger algorithm output data?
 
std::vector< uint32_t > read_algo_output_sample () override
 read the next sample of the output of the trigger algorithm
 
bool get_enable_single_shot () override
 
int get_self_trigger_count () override
 
void enable_single_shot (bool enable=true) override
 
bool single_shot_fired () override
 
void reset_single_shot () override
 
- Public Member Functions inherited from pflib::TRIG
void set_l1a_per_ror (int l1a_per_ror)
 
int get_l1a_per_ror () const
 
std::vector< uint32_t > read_event ()
 Read l1a_per_ror() number of samples and concatenate them into the same buffer.
 
std::vector< uint32_t > read_algo_output ()
 read l1a_per_ror() number of samples of the algo output and concatenate them into the same buffer
 

Private Attributes

UIO uio_
 
int nelinks_
 
logging::logger the_log_
 

Member Function Documentation

◆ enable_single_shot()

void pflib::zcu::ZCUtrig::enable_single_shot ( bool enable = true)
overridevirtual

Implements pflib::TRIG.

◆ get_algo_setup()

std::vector< uint32_t > pflib::zcu::ZCUtrig::get_algo_setup ( )
overridevirtual

get the trigger algorithm configuration

Implements pflib::TRIG.

◆ get_alignment_setup()

void pflib::zcu::ZCUtrig::get_alignment_setup ( int & delay,
uint16_t & pattern,
uint8_t & elinks_to_ignore,
bool & bypass_pattern )
overridevirtual

Get the alignment setup.

Implements pflib::TRIG.

◆ get_daq_setup()

void pflib::zcu::ZCUtrig::get_daq_setup ( int & pipeline,
int & econ_id,
int & samples_per_l1a,
int & presamples )
overridevirtual

get the data collection setup

Implements pflib::TRIG.

◆ get_debug()

std::map< std::string, uint32_t > pflib::zcu::ZCUtrig::get_debug ( )
overridevirtual

Reimplemented from pflib::TRIG.

◆ get_enable_single_shot()

bool pflib::zcu::ZCUtrig::get_enable_single_shot ( )
overridevirtual

Implements pflib::TRIG.

◆ get_self_trigger_count()

int pflib::zcu::ZCUtrig::get_self_trigger_count ( )
overridevirtual

Implements pflib::TRIG.

◆ is_algo_output_available()

bool pflib::zcu::ZCUtrig::is_algo_output_available ( )
overridevirtual

Is there trigger algorithm output data?

Implements pflib::TRIG.

◆ is_sample_available()

bool pflib::zcu::ZCUtrig::is_sample_available ( )
overridevirtual

Is there a sample available?

Implements pflib::TRIG.

◆ n_elinks()

int pflib::zcu::ZCUtrig::n_elinks ( ) const
inlineoverridevirtual

How many elinks are there?

Implements pflib::TRIG.

◆ read_algo_output_sample()

std::vector< uint32_t > pflib::zcu::ZCUtrig::read_algo_output_sample ( )
overridevirtual

read the next sample of the output of the trigger algorithm

Implements pflib::TRIG.

◆ read_capture_buffer()

std::vector< uint32_t > pflib::zcu::ZCUtrig::read_capture_buffer ( int ilink)
overridevirtual

Read the capture block for the given elink.

Implements pflib::TRIG.

◆ read_sample()

std::vector< uint32_t > pflib::zcu::ZCUtrig::read_sample ( )
overridevirtual

Read the next sample of raw trigger path data.

Implements pflib::TRIG.

◆ reset()

void pflib::zcu::ZCUtrig::reset ( )
virtual

Reset the internals.

Reimplemented from pflib::TRIG.

◆ reset_alignment()

void pflib::zcu::ZCUtrig::reset_alignment ( )
overridevirtual

reset the aligner block

Implements pflib::TRIG.

◆ reset_single_shot()

void pflib::zcu::ZCUtrig::reset_single_shot ( )
overridevirtual

Implements pflib::TRIG.

◆ setup_algo()

void pflib::zcu::ZCUtrig::setup_algo ( const std::vector< uint32_t > & parameters)
overridevirtual

configure the trigger algorithm

The implementation defines which indices correspond to which parameters since it depends on the target and firmware that is in use.

the current simple trigger has the following parameters 0 -> history veto mask (1 byte) 1 -> threshold for ECON-T1 STC0 (1 byte) 2 -> threshold for ECON-T1 STC1 ... and so on up to index 15 (ECON-T2 STC7)

Implements pflib::TRIG.

◆ setup_alignment()

void pflib::zcu::ZCUtrig::setup_alignment ( int delay,
uint16_t pattern,
uint8_t elinks_to_ignore,
bool bypass_pattern )
overridevirtual

Set up the alignment.

Implements pflib::TRIG.

◆ setup_daq()

void pflib::zcu::ZCUtrig::setup_daq ( int pipeline,
int econ_id,
int samples_per_l1a,
int presamples )
overridevirtual

Setup the data collection of raw trigger data path.

Parameters
[in]pipelinehow far back in time (in BX) we should start the capture
[in]econ_idid number for ECON-T we are capturing from
[in]samples_per_l1ahow many samples to caputre per L1A
[in]presamplesnumber of samples before the BX of interest (i.e. index of sample of interest)

Implements pflib::TRIG.

◆ single_shot_fired()

bool pflib::zcu::ZCUtrig::single_shot_fired ( )
overridevirtual

Implements pflib::TRIG.


The documentation for this class was generated from the following files: