artdaq  v3_04_01
artdaq::CommandableFragmentGenerator::Config Struct Reference

Configuration of the CommandableFragmentGenerator. May be used for parameter validation More...

#include <artdaq/Application/CommandableFragmentGenerator.hh>

Public Attributes

fhicl::Atom< std::string > generator_type { fhicl::Name{"generator" }, fhicl::Comment{"Name of the CommandableFragmentGenerator plugin to load"} }
 "generator" (REQUIRED) Name of the CommandableFragmentGenerator 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< 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 CommandableFragmentGenerator"} }
 "board_id" (REQUIRED) : The identification number for this CommandableFragmentGenerator
 
fhicl::Sequence
< Fragment::fragment_id_t > 
fragment_ids { fhicl::Name("fragment_ids" ), fhicl::Comment("A list of Fragment IDs created by this CommandableFragmentGenerator") }
 
fhicl::Atom< int > fragment_id { fhicl::Name{"fragment_id" }, fhicl::Comment{"The Fragment ID created by this CommandableFragmentGenerator"}, -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 CommandableFragmentGenerator will process reqeusts"}, "ignored" }
 "request_mode" (Deafult: Ignored) : The mode by which the CommandableFragmentGenerator will process reqeusts Ignored : Request messages are ignored.This is a "push" CommandableFragmentGenerator Single : The CommandableFragmentGenerator responds to each request with the latest Fragment it has received Buffer : The CommandableFragmentGenerator responds to each request with all Fragments it has received since the last request Window : The CommandableFragmentGenerator searches its data buffer for all Fragments whose timestamp falls within the request window More...
 
fhicl::TableFragment
< artdaq::RequestReceiver::Config
receiverConfig
 Configuration for the Request Receiver. See artdaq::RequestReceiver::Config.
 

Detailed Description

Configuration of the CommandableFragmentGenerator. May be used for parameter validation

Definition at line 89 of file CommandableFragmentGenerator.hh.

Member Data Documentation

fhicl::Atom<int> artdaq::CommandableFragmentGenerator::Config::fragment_id { fhicl::Name{"fragment_id" }, fhicl::Comment{"The Fragment ID created by this CommandableFragmentGenerator"}, -99 }

"fragment_id" (Default: -99) : The Fragment ID created by this CommandableFragmentGenerator Note that only one of fragment_ids and fragment_id should be specified in the configuration

Definition at line 128 of file CommandableFragmentGenerator.hh.

fhicl::Sequence<Fragment::fragment_id_t> artdaq::CommandableFragmentGenerator::Config::fragment_ids { fhicl::Name("fragment_ids" ), fhicl::Comment("A list of Fragment IDs created by this CommandableFragmentGenerator") }

"fragment_ids" (Default: empty vector) : A list of Fragment IDs created by this CommandableFragmentGenerator Note that only one of fragment_ids and fragment_id should be specified in the configuration

Definition at line 125 of file CommandableFragmentGenerator.hh.

fhicl::Atom<std::string> artdaq::CommandableFragmentGenerator::Config::request_mode { fhicl::Name{"request_mode" }, fhicl::Comment{"The mode by which the CommandableFragmentGenerator will process reqeusts"}, "ignored" }

"request_mode" (Deafult: Ignored) : The mode by which the CommandableFragmentGenerator will process reqeusts Ignored : Request messages are ignored.This is a "push" CommandableFragmentGenerator Single : The CommandableFragmentGenerator responds to each request with the latest Fragment it has received Buffer : The CommandableFragmentGenerator responds to each request with all Fragments it has received since the last request Window : The CommandableFragmentGenerator searches its data buffer for all Fragments whose timestamp falls within the request window

Definition at line 138 of file CommandableFragmentGenerator.hh.


The documentation for this struct was generated from the following file: