artdaq
v3_09_00
|
Configuration of the FragmentBuffer. May be used for parameter validation More...
#include <artdaq/DAQrate/FragmentBuffer.hh>
Public Attributes | |
fhicl::Atom< std::string > | generator_type {fhicl::Name{"generator"}, fhicl::Comment{"Name of the FragmentBuffer plugin to load"}} |
"generator" (REQUIRED) Name of the FragmentBuffer plugin to load | |
fhicl::Atom < Fragment::timestamp_t > | request_window_offset {fhicl::Name{"request_window_offset"}, fhicl::Comment{"Request messages contain a timestamp. For Window request mode, start the window this far before the timestamp in the request"}, 0} |
"request_window_offset" (Default: 0) : Request messages contain a timestamp. For Window request mode, start the window this far before the timestamp in the request | |
fhicl::Atom < Fragment::timestamp_t > | request_window_width {fhicl::Name{"request_window_width"}, fhicl::Comment{"For Window request mode, the window will be timestamp - offset to timestamp - offset + width"}, 0} |
"request_window_width" (Default: 0) : For Window request mode, the window will be timestamp - offset to timestamp - offset + width | |
fhicl::Atom < Fragment::timestamp_t > | stale_request_timeout {fhicl::Name{"stale_request_timeout"}, fhicl::Comment{"Fragments stored in the fragment generator which are older than the newest stored fragment by at least stale_request_timeout units of request timestamp ticks will get discarded"}, 0xFFFFFFFF} |
"stale_request_timeout" (Default: -1) : Fragments stored in the fragment generator which are older than the newest stored fragment by at least stale_request_timeout units of request timestamp ticks will get discarded | |
fhicl::Atom< bool > | buffer_mode_keep_latest {fhicl::Name{"buffer_mode_keep_latest"}, fhicl::Comment{"Keep the latest Fragment when running in Buffer mode, so that each response has at least one Fragment (Fragment will be discarded if new data arrives before next request)"}, false} |
"buffer_mode_keep_latest" (Default: false): Keep the latest Fragment when running in Buffer mode, so that each response has at least one Fragment (Fragment will be discarded if new data arrives before next request) | |
fhicl::Atom< Fragment::type_t > | expected_fragment_type {fhicl::Name{"expected_fragment_type"}, fhicl::Comment{"The type of Fragments this CFG will be generating. \"Empty\" will auto-detect type based on Fragments generated."}, Fragment::type_t(Fragment::EmptyFragmentType)} |
"expected_fragment_type" (Default: 231, EmptyFragmentType) : The type of Fragments this CFG will be generating. "Empty" will auto - detect type based on Fragments generated. | |
fhicl::Atom< bool > | request_windows_are_unique {fhicl::Name{"request_windows_are_unique"}, fhicl::Comment{"Whether Fragments should be removed from the buffer when matched to a request window"}, true} |
"request_windows_are_unique" (Default: true) : Whether Fragments should be removed from the buffer when matched to a request window | |
fhicl::Atom< size_t > | missing_request_window_timeout_us {fhicl::Name{"missing_request_window_timeout_us"}, fhicl::Comment{"How long to track missing requests in the \"out - of - order Windows\" list"}, 5000000} |
"missing_request_window_timeout_us" (Default: 5000000) : How long to track missing requests in the "out-of-order Windows" list | |
fhicl::Atom< size_t > | window_close_timeout_us {fhicl::Name{"window_close_timeout_us"}, fhicl::Comment{"How long to wait for the end of the data buffer to pass the end of a request window (measured from the time the request was received)"}, 2000000} |
"window_close_timeout_us" (Default: 2000000) : How long to wait for the end of the data buffer to pass the end of a request window(measured from the time the request was received) | |
fhicl::Atom< bool > | separate_data_thread {fhicl::Name{"separate_data_thread"}, fhicl::Comment{"Whether data collection should proceed on its own thread. Required for all data request processing"}, false} |
"separate_data_thread" (Default: false) : Whether data collection should proceed on its own thread.Required for all data request processing | |
fhicl::Atom< bool > | circular_buffer_mode {fhicl::Name{"circular_buffer_mode"}, fhicl::Comment{"Whether the data buffer should be treated as a circular buffer on the input side (i.e. old fragments are automatically discarded when the buffer is full to always call getNext_)."}, false} |
"circular_buffer_mode" (Default: false) : Whether the data buffer should be treated as a circular buffer on the input side (i.e. old fragments are automatically discarded when the buffer is full to always call getNext_). | |
fhicl::Atom< size_t > | sleep_on_no_data_us {fhicl::Name{"sleep_on_no_data_us"}, fhicl::Comment{"How long to sleep after calling getNext_ if no data is returned"}, 0} |
"sleep_on_no_data_us" (Default: 0 (no sleep)) : How long to sleep after calling getNext_ if no data is returned | |
fhicl::Atom< int > | data_buffer_depth_fragments {fhicl::Name{"data_buffer_depth_fragments"}, fhicl::Comment{"The max fragments which can be stored before dropping occurs"}, 1000} |
"data_buffer_depth_fragments" (Default: 1000) : The max fragments which can be stored before dropping occurs | |
fhicl::Atom< size_t > | data_buffer_depth_mb {fhicl::Name{"data_buffer_depth_mb"}, fhicl::Comment{"The max cumulative size in megabytes of the fragments which can be stored before dropping occurs"}, 1000} |
"data_buffer_depth_mb" (Default: 1000) : The max cumulative size in megabytes of the fragments which can be stored before dropping occurs | |
fhicl::Atom< bool > | separate_monitoring_thread {fhicl::Name{"separate_monitoring_thread"}, fhicl::Comment{"Whether a thread that calls the checkHWStatus_ method should be created"}, false} |
"separate_monitoring_thread" (Default: false) : Whether a thread that calls the checkHWStatus_ method should be created | |
fhicl::Atom< int64_t > | hardware_poll_interval_us {fhicl::Name{"hardware_poll_interval_us"}, fhicl::Comment{"If a separate monitoring thread is used, how often should it call checkHWStatus_"}, 0} |
"hardware_poll_interval_us" (Default: 0) : If a separate monitoring thread is used, how often should it call checkHWStatus_ | |
fhicl::Atom< int > | board_id {fhicl::Name{"board_id"}, fhicl::Comment{"The identification number for this FragmentBuffer"}} |
"board_id" (REQUIRED) : The identification number for this FragmentBuffer | |
fhicl::Sequence < Fragment::fragment_id_t > | fragment_ids {fhicl::Name("fragment_ids"), fhicl::Comment("A list of Fragment IDs created by this FragmentBuffer")} |
fhicl::Atom< int > | fragment_id {fhicl::Name{"fragment_id"}, fhicl::Comment{"The Fragment ID created by this FragmentBuffer"}, -99} |
fhicl::Atom< int > | sleep_on_stop_us {fhicl::Name{"sleep_on_stop_us"}, fhicl::Comment{"How long to sleep before returning when stop transition is called"}, 0} |
"sleep_on_stop_us" (Default: 0) : How long to sleep before returning when stop transition is called | |
fhicl::Atom< std::string > | request_mode {fhicl::Name{"request_mode"}, fhicl::Comment{"The mode by which the FragmentBuffer will process reqeusts"}, "ignored"} |
"request_mode" (Deafult: Ignored) : The mode by which the FragmentBuffer will process reqeusts Ignored : Request messages are ignored.This is a "push" FragmentBuffer Single : The FragmentBuffer responds to each request with the latest Fragment it has received Buffer : The FragmentBuffer responds to each request with all Fragments it has received since the last request Window : The FragmentBuffer searches its data buffer for all Fragments whose timestamp falls within the request window SequenceID: The FragmentBuffer responds to each request with all Fragments that match the sequence ID in the request More... | |
Configuration of the FragmentBuffer. May be used for parameter validation
Definition at line 88 of file FragmentBuffer.hh.
fhicl::Atom<int> artdaq::FragmentBuffer::Config::fragment_id {fhicl::Name{"fragment_id"}, fhicl::Comment{"The Fragment ID created by this FragmentBuffer"}, -99} |
"fragment_id" (Default: -99) : The Fragment ID created by this FragmentBuffer Note that only one of fragment_ids and fragment_id should be specified in the configuration
Definition at line 129 of file FragmentBuffer.hh.
fhicl::Sequence<Fragment::fragment_id_t> artdaq::FragmentBuffer::Config::fragment_ids {fhicl::Name("fragment_ids"), fhicl::Comment("A list of Fragment IDs created by this FragmentBuffer")} |
"fragment_ids" (Default: empty vector) : A list of Fragment IDs created by this FragmentBuffer Note that only one of fragment_ids and fragment_id should be specified in the configuration
Definition at line 126 of file FragmentBuffer.hh.
fhicl::Atom<std::string> artdaq::FragmentBuffer::Config::request_mode {fhicl::Name{"request_mode"}, fhicl::Comment{"The mode by which the FragmentBuffer will process reqeusts"}, "ignored"} |
"request_mode" (Deafult: Ignored) : The mode by which the FragmentBuffer will process reqeusts Ignored : Request messages are ignored.This is a "push" FragmentBuffer Single : The FragmentBuffer responds to each request with the latest Fragment it has received Buffer : The FragmentBuffer responds to each request with all Fragments it has received since the last request Window : The FragmentBuffer searches its data buffer for all Fragments whose timestamp falls within the request window SequenceID: The FragmentBuffer responds to each request with all Fragments that match the sequence ID in the request
Definition at line 140 of file FragmentBuffer.hh.