ifw-daq
2.1.0-pre1
IFW Data Acquisition modules
|
Structure carrying context needed to start a Data Acquisition and construct a Data Product Specification needed to execute merge. More...
#include <daqContext.hpp>
Classes | |
struct | Source |
Public Member Functions | |
DaqContext ()=default | |
DaqContext (DaqContext const &)=default | |
DaqContext (DaqContext &&)=default | |
DaqContext & | operator= (DaqContext &&)=default |
DaqContext & | operator= (DaqContext const &)=default |
Public Attributes | |
std::string | id |
DAQ identfier, possibly provided by user. More... | |
std::string | file_id |
Data Product FileId as specified by OLAS ICD. More... | |
std::string | process_name |
User defined process name. More... | |
std::string | dp_name_prefix |
Data product file name prefix. More... | |
std::vector< Source > | prim_sources |
std::vector< Source > | meta_sources |
std::vector< daq::fits::KeywordVariant > | keywords |
Keyword list provided by OCM to Data Product. More... | |
std::chrono::milliseconds | await_interval = std::chrono::seconds(10) |
Interval (and thus duration) of the requests sent to primary sources to await end of recording. More... | |
DpParts | results |
Results from Data Acquisition (FITS files and keywords). More... | |
std::chrono::system_clock::time_point | creation_time |
Time when DAQ was created. More... | |
Structure carrying context needed to start a Data Acquisition and construct a Data Product Specification needed to execute merge.
This information can be serialized and deserialized to facilitate persitant storage.
In practice this means it must contain:
When creating a Data Product Specification consider:
results
contain files and keywords from data sources and keywords
the user-provided keywords via request/reply interface (StartDaq/UpdateKeywords). Both must be considered when creating the final Data Product Specification.results
is not sorted according.@important TODO At the moment FitsController will create a FITS file using keywords
and add those to results. This should be changed to simply provide the keywords "inline" with Data Product Specification (c.f. OcmDaqController::StopAsync).
@seealso daq::Status
Definition at line 48 of file daqContext.hpp.
struct daq::DaqContext::Source |
Definition at line 49 of file daqContext.hpp.
Class Members | ||
---|---|---|
string | name | |
string | rr_uri |
|
default |
|
default |
|
default |
|
default |
|
default |
std::chrono::milliseconds daq::DaqContext::await_interval = std::chrono::seconds(10) |
Interval (and thus duration) of the requests sent to primary sources to await end of recording.
Default is 10 seconds.
Definition at line 98 of file daqContext.hpp.
std::chrono::system_clock::time_point daq::DaqContext::creation_time |
Time when DAQ was created.
This should correspond to the exact time used for generating the file_id.
Definition at line 112 of file daqContext.hpp.
std::string daq::DaqContext::dp_name_prefix |
Data product file name prefix.
Definition at line 79 of file daqContext.hpp.
std::string daq::DaqContext::file_id |
Data Product FileId as specified by OLAS ICD.
Definition at line 69 of file daqContext.hpp.
std::string daq::DaqContext::id |
DAQ identfier, possibly provided by user.
If user does not provide an id for the DAQ when starting it is identical to file_id
.
Definition at line 64 of file daqContext.hpp.
std::vector<daq::fits::KeywordVariant> daq::DaqContext::keywords |
Keyword list provided by OCM to Data Product.
Keywords comes from:
Definition at line 91 of file daqContext.hpp.
std::vector<Source> daq::DaqContext::meta_sources |
Definition at line 81 of file daqContext.hpp.
std::vector<Source> daq::DaqContext::prim_sources |
Definition at line 80 of file daqContext.hpp.
std::string daq::DaqContext::process_name |
User defined process name.
Definition at line 74 of file daqContext.hpp.
DpParts daq::DaqContext::results |
Results from Data Acquisition (FITS files and keywords).
Definition at line 106 of file daqContext.hpp.