ifw-daq  1.0.0
IFW Data Acquisition modules
daqProperties.hpp
Go to the documentation of this file.
1 /**
2  * @file
3  * @ingroup daq_ocm_libdaq
4  * @copyright 2021 ESO - European Southern Observatory
5  *
6  * @brief Contains declaration of `daq::Properties`.
7  */
8 #ifndef OCM_DAQ_DAQ_PROPERTIES_HPP_
9 #define OCM_DAQ_DAQ_PROPERTIES_HPP_
10 
11 #include <chrono>
12 #include <string>
13 
14 #include "source.hpp"
15 
16 #include <daq/fits/keyword.hpp>
17 
18 namespace daq {
19 
20  /**
21  * Structure carrying properties needed to start a DataAcquisition.
22  *
23  * This information can be serialized and deserialized to facilitate persitant storage.
24  *
25  * @seealso daq::Status
26  * @ingroup daq_ocm_libdaq
27  */
28  struct DaqProperties {
29  DaqProperties() = default;
30  DaqProperties(DaqProperties const&) = default;
34 
35  std::string id;
36  /**
37  * User defined process name.
38  */
39  std::string process_name;
40 
41  /**
42  * Data product file name prefix
43  */
44  std::string dp_name_prefix;
45  /**
46  * Root directory for OCM data product part output
47  */
48  std::string ocm_dppart_root;
49  std::vector<PrimSource> prim_sources;
50  std::vector<MetaSource> meta_sources;
51  /**
52  * Initial list of keywords provided by user when starting data acquisitions.
53  */
54  std::vector<daq::fits::KeywordVariant> keywords;
55 
56  /**
57  * Interval (and thus duration) of the requests sent to primary sources
58  * to await end of recording.
59  * Default is 10 seconds.
60  */
61  std::chrono::milliseconds await_interval = std::chrono::seconds(10);
62  };
63 }
64 
65 #endif // #ifndef OCM_DAQ_DAQ_PROPERTIES_HPP_
daq::DaqProperties::dp_name_prefix
std::string dp_name_prefix
Data product file name prefix.
Definition: daqProperties.hpp:44
source.hpp
Declarations for daq::Source and related classes.
daq::DaqProperties::DaqProperties
DaqProperties(DaqProperties const &)=default
daq::DaqProperties
Structure carrying properties needed to start a DataAcquisition.
Definition: daqProperties.hpp:28
keyword.hpp
Contains data structure for FITS keywords.
daq::DaqProperties::meta_sources
std::vector< MetaSource > meta_sources
Definition: daqProperties.hpp:50
daq::DaqProperties::operator=
DaqProperties & operator=(DaqProperties &&)=default
daq::DaqProperties::operator=
DaqProperties & operator=(DaqProperties const &)=default
daq
Definition: daqController.cpp:18
daq::DaqProperties::id
std::string id
Definition: daqProperties.hpp:35
daq::DaqProperties::process_name
std::string process_name
User defined process name.
Definition: daqProperties.hpp:39
daq::DaqProperties::keywords
std::vector< daq::fits::KeywordVariant > keywords
Initial list of keywords provided by user when starting data acquisitions.
Definition: daqProperties.hpp:54
daq::DaqProperties::DaqProperties
DaqProperties(DaqProperties &&)=default
daq::DaqProperties::await_interval
std::chrono::milliseconds await_interval
Interval (and thus duration) of the requests sent to primary sources to await end of recording.
Definition: daqProperties.hpp:61
daq::DaqProperties::ocm_dppart_root
std::string ocm_dppart_root
Root directory for OCM data product part output.
Definition: daqProperties.hpp:48
daq::DaqProperties::DaqProperties
DaqProperties()=default
daq::DaqProperties::prim_sources
std::vector< PrimSource > prim_sources
Definition: daqProperties.hpp:49