Back to home page

sPhenix code displayed by LXR

 
 

    


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 //int daq_end();
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 //int daq_open_sqlstream(const char *name);
0080 //int daq_close_sqlstream();
0081 //int get_sqlfd();
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 // functions for the webserver
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 // more defs to come in the future
0143 
0144 
0145 
0146 #endif