pflib v3.12.0-1-g716e801
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 setup_alignment_capture (int delay) override
 Set up the alignment capture function.
 
int get_alignment_capture () override
 Get the alignment capture function.
 
std::vector< uint32_t > read_capture_buffer (int ilink) override
 Read the capture block for the given elink.
 
void set_bx_delay (int ilink, int delay) override
 Set the BX delay for the given elink.
 
int get_bx_delay (int ilink) override
 Get the BX delay for the given elink.
 
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.
 
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_capture()

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

Get the alignment capture function.

Implements pflib::TRIG.

◆ get_bx_delay()

int pflib::zcu::ZCUtrig::get_bx_delay ( int ilink)
overridevirtual

Get the BX delay for the given elink.

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_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_single_shot()

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

Implements pflib::TRIG.

◆ set_bx_delay()

void pflib::zcu::ZCUtrig::set_bx_delay ( int ilink,
int delay )
overridevirtual

Set the BX delay for the given elink.

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 STC0 (1 byte) 2 -> threshold for STC1 ... and so on up to index 8 (STC7)

Implements pflib::TRIG.

◆ setup_alignment_capture()

void pflib::zcu::ZCUtrig::setup_alignment_capture ( int delay)
overridevirtual

Set up the alignment capture function.

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: