Psyllid
v1.12.4
Project 8 Data Acquisisition Software
|
Responsible for starting files. Holds pointer to monarch. More...
#include <butterfly_house.hh>
Classes | |
struct | file_info |
Public Member Functions | |
snake_case_mv_accessible (double, max_file_size_mb) | |
void | register_file (unsigned a_file_num, const std::string &a_filename, const std::string &a_description, unsigned a_duration_ms) |
void | prepare_files (const scarab::param_node &a_files_config) |
void | start_files () |
void | finish_files () |
void | register_writer (egg_writer *a_writer, unsigned a_file_num) |
void | unregister_writer (egg_writer *a_writer) |
void | set_filename (const std::string &a_filename, unsigned a_file_num=0) |
const std::string & | get_filename (unsigned a_file_num) |
void | set_description (const std::string &a_desc, unsigned a_file_num=0) |
const std::string & | get_description (unsigned a_file_num) |
![]() | |
control_access () | |
virtual | ~control_access () |
Private Types | |
typedef std::vector< file_info > | file_infos_t |
typedef file_infos_t::const_iterator | file_infos_cit |
typedef file_infos_t::iterator | file_infos_it |
Private Member Functions | |
butterfly_house () | |
virtual | ~butterfly_house () |
Private Attributes | |
file_infos_t | f_file_infos |
std::vector< monarch_wrap_ptr > | f_mw_ptrs |
std::multimap< egg_writer *, unsigned > | f_writers |
std::mutex | f_house_mutex |
Friends | |
class | scarab::singleton< butterfly_house > |
class | scarab::destroyer< butterfly_house > |
Additional Inherited Members | |
![]() | |
typedef std::shared_ptr< daq_control > | dc_ptr_t |
![]() | |
static void | set_daq_control (std::weak_ptr< daq_control > a_daq_control) |
![]() | |
dc_ptr_t | use_daq_control () |
bool | daq_control_expired () |
![]() | |
static std::weak_ptr< daq_control > | f_daq_control = std::weak_ptr< daq_control >() |
Responsible for starting files. Holds pointer to monarch.
Holds one monarch pointer per file. Registers the writer and creates, prepares, starts and finishes egg files via monarch3_wrapper. butterfly_house gets the file size from the psyllid config file and the filename, run duration and description from daq_control. It adds this information to the file header.
Definition at line 56 of file butterfly_house.hh.
|
private |
Definition at line 87 of file butterfly_house.hh.
|
private |
Definition at line 88 of file butterfly_house.hh.
|
private |
Definition at line 86 of file butterfly_house.hh.
|
private |
Definition at line 24 of file butterfly_house.cc.
|
privatevirtual |
Definition at line 35 of file butterfly_house.cc.
void finish_files | ( | ) |
Definition at line 131 of file butterfly_house.cc.
const std::string & get_description | ( | unsigned | a_file_num | ) |
Definition at line 211 of file butterfly_house.cc.
const std::string & get_filename | ( | unsigned | a_file_num | ) |
Definition at line 196 of file butterfly_house.cc.
void prepare_files | ( | const scarab::param_node & | a_files_config | ) |
Definition at line 40 of file butterfly_house.cc.
void register_file | ( | unsigned | a_file_num, |
const std::string & | a_filename, | ||
const std::string & | a_description, | ||
unsigned | a_duration_ms | ||
) |
void register_writer | ( | egg_writer * | a_writer, |
unsigned | a_file_num | ||
) |
Definition at line 153 of file butterfly_house.cc.
void set_description | ( | const std::string & | a_desc, |
unsigned | a_file_num = 0 |
||
) |
Definition at line 203 of file butterfly_house.cc.
void set_filename | ( | const std::string & | a_filename, |
unsigned | a_file_num = 0 |
||
) |
Definition at line 188 of file butterfly_house.cc.
snake_case_mv_accessible | ( | double | , |
max_file_size_mb | |||
) |
void start_files | ( | ) |
Definition at line 70 of file butterfly_house.cc.
void unregister_writer | ( | egg_writer * | a_writer | ) |
Definition at line 180 of file butterfly_house.cc.
|
friend |
Definition at line 98 of file butterfly_house.hh.
|
friend |
Definition at line 97 of file butterfly_house.hh.
|
private |
Definition at line 89 of file butterfly_house.hh.
|
mutableprivate |
Definition at line 94 of file butterfly_house.hh.
|
private |
Definition at line 91 of file butterfly_house.hh.
|
private |
Definition at line 92 of file butterfly_house.hh.