File indexing completed on 2025-08-02 08:21:07
0001 #ifndef __RCDAQ_H__
0002 #define __RCDAQ_H__
0003
0004 #include <iostream>
0005 #include <pthread.h>
0006
0007 class daq_device;
0008
0009 void sig_handler(int i);
0010
0011
0012 void set_eventsizes();
0013
0014 void *writebuffers ( void * arg);
0015 void *EventLoop( void *arg);
0016
0017
0018 int Command( const int command);
0019
0020 char * obtain_pidfilename();
0021
0022 int switch_buffer();
0023 int device_init();
0024 int device_endrun();
0025 int readout(const int etype);
0026 int rearm(const int etype);
0027 int rcdaq_init(const int, pthread_mutex_t &M );
0028 int add_readoutdevice( daq_device *d);
0029
0030 int daq_begin(const int irun,std::ostream& os = std::cout );
0031 int daq_begin_immediate(const int irun, std::ostream& os);
0032 void * daq_begin_thread( void *arg);
0033
0034
0035 int daq_end_immediate(std::ostream& os = std::cout);
0036 int daq_end_interactive(std::ostream& os);
0037 int daq_end(std::ostream& os = std::cout);
0038
0039 int daq_fake_trigger (const int n, const int waitinterval);
0040
0041 int daq_write_runnumberfile(const int run);
0042
0043 int daq_set_runnumberfile(const char *file, const int flag);
0044 int daq_set_runnumberApp(const char *file, const int flag);
0045
0046 int daq_set_filerule(const char *rule, std::ostream& os = std::cout);
0047
0048 int daq_setruntype(const char *type, std::ostream& os = std::cout);
0049 int daq_getruntype(const int flag, std::ostream& os = std::cout);
0050 int daq_define_runtype(const char *type, const char * rule);
0051 int daq_list_runtypes(const int flag, std::ostream& os = std::cout );
0052 std::string& daq_get_filerule();
0053
0054
0055 int daq_open(std::ostream& os = std::cout);
0056 int daq_shutdown(const unsigned long servernumber, const unsigned long versionnumber, const int pid_fd,
0057 std::ostream& os = std::cout);
0058 std::string& get_current_filename();
0059 int daq_close (std::ostream& os = std::cout);
0060 int is_open();
0061
0062 int daq_set_server (const char *hostname, const int port, std::ostream& os = std::cout);
0063 int is_server_open();
0064 int daq_server_close (std::ostream& os = std::cout);
0065 int get_serverflag();
0066
0067 int daq_set_compression(const int flag, std::ostream& os = std::cout);
0068 int daq_set_md5enable (const int flag, std::ostream& os = std::cout);
0069 int daq_set_md5allowturnoff (const int flag, std::ostream& os = std::cout);
0070
0071
0072 int daq_set_name(const char *name);
0073 int daq_get_name(std::ostream& os = std::cout);
0074 std::string daq_get_myname();
0075
0076 int daq_set_mqtt_host(const char * host, const int port, std::ostream& os);
0077 int daq_get_mqtt_host(std::ostream& os);
0078
0079
0080
0081
0082
0083 int daq_generate_json (const int flag);
0084
0085 double daq_get_mb_per_second();
0086 double daq_get_events_per_second();
0087
0088 int daq_list_readlist(std::ostream& os = std::cout );
0089 int daq_clear_readlist(std::ostream& os = std::cout);
0090 std::string& get_current_filename();
0091 std::string& daq_get_filerule();
0092
0093 int daq_status(const int flag, std::ostream& os = std::cout );
0094 int daq_running();
0095 int daq_status_plugin(const int flag =0, std::ostream& os = std::cout );
0096
0097 int daq_setmaxevents (const int n, std::ostream& os);
0098 int daq_setmaxvolume (const int n_mb, std::ostream& os);
0099 int daq_setrolloverlimit (const int n_gb, std::ostream& os);
0100
0101 int daq_setmaxbuffersize (const int n_mb, std::ostream& os);
0102
0103 int daq_setadaptivebuffering (const int usecs, std::ostream& os);
0104
0105 int daq_set_eloghandler( const char *host, const int port, const char *logname);
0106
0107 int daq_load_plugin( const char *sharedlib, std::ostream& os);
0108
0109 int daq_wait_for_begin_done();
0110 int daq_wait_for_actual_end();
0111
0112
0113
0114 int daq_webcontrol(const int port,std::ostream& os = std::cout );
0115
0116 int daq_getlastfilename(std::ostream& os = std::cout );
0117 int daq_getlastevent_number(std::ostream& os = std::cout );
0118
0119
0120 int get_runnumber();
0121 int get_oldrunnumber();
0122 int get_eventnumber();
0123 double get_runvolume();
0124 int get_runduration();
0125 int get_openflag();
0126
0127 int daq_setEventFormat(const int f, std::ostream& os = std::cout );
0128 int daq_getEventFormat();
0129 int daq_setRunControlMode ( const int flag, std::ostream& os = std::cout );
0130 int daq_getRunControlMode (std::ostream& os = std::cout);
0131
0132 int getRunNumberFromApp();
0133
0134 int daq_set_uservalue ( const int index, const int value, std::ostream& os = std::cout );
0135 int daq_get_uservalue ( const int index, std::ostream& os = std::cout );
0136 int get_uservalue ( const int index);
0137
0138
0139
0140 #define MG_REQUEST_NAME 1
0141 #define MG_REQUEST_SPEED 2
0142
0143
0144
0145
0146 #endif