artdaq  v3_02_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{"How long should request messages be retained"}, 0xFFFFFFFF }
 "stale_request_timeout" (Default: -1) : How long should request messages be retained
 
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< 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{"How many Fragments to store in the buffer"}, 1000 }
 "data_buffer_depth_fragments" (Default: 1000) : How many Fragments to store in the buffer
 
fhicl::Atom< size_t > data_buffer_depth_mb { fhicl::Name{"data_buffer_depth_mb" }, fhicl::Comment{"The maximum size of the data buffer in MB"}, 1000 }
 "data_buffer_depth_mb" (Default: 1000) : The maximum size of the data buffer in MB
 
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 126 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 123 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 136 of file CommandableFragmentGenerator.hh.


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