Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
rcdaq.cc File Reference
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <signal.h>
#include <limits.h>
#include <errno.h>
#include <sys/file.h>
#include <pthread.h>
#include <iostream>
#include <iomanip>
#include <sstream>
#include <string.h>
#include <time.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/if_ether.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <net/if.h>
#include <sys/ioctl.h>
#include <netpacket/packet.h>
#include <netdb.h>
#include <vector>
#include <map>
#include <queue>
#include "getopt.h"
#include "daq_device.h"
#include "daqBuffer.h"
#include "eloghandler.h"
#include "TriggerHandler.h"
#include "rcdaq.h"
#include "rcdaq_rpc.h"
#include "md5.h"
+ Include dependency graph for rcdaq.cc:

Go to the source code of this file.

Macros

#define DAQ_TRIGGER   0x01
 
#define DAQ_COMMAND   0x02
 
#define DAQ_SPECIAL   0x04
 
#define COMMAND_INIT   1
 
#define COMMAND_BEGIN   2
 
#define COMMAND_END   3
 
#define COMMAND_FINISH   4
 
#define COMMAND_OPENP   5
 
#define DAQ_INIT   1
 
#define DAQ_READ   2
 
#define MAXEVENTID   32
 
#define MONITORINGPORT   9930
 

Typedefs

typedef std::vector< daq_device * > devicevector
 
typedef devicevector::iterator deviceiterator
 

Functions

int open_file_on_server (const int run_number)
 
int server_open_Connection ()
 
int open_serverSocket (const char *host_name, const int port)
 
int server_send_beginrun_sequence (const char *filename, const int runnumber, int fd)
 
int server_send_rollover_sequence (const char *filename, int fd)
 
int server_send_endrun_sequence (int fd)
 
int server_send_close_sequence (int fd)
 
void * mg_server (void *arg)
 
int mg_end ()
 
int request_mg_update (const int what)
 
char * obtain_pidfilename ()
 
int registerTriggerHandler (TriggerHandler *th)
 
int clearTriggerHandler ()
 
void sig_handler (int i)
 
int reset_deadtime ()
 
int enable_trigger ()
 
int disable_trigger ()
 
int daq_setmaxevents (const int n, std::ostream &os)
 
int daq_setmaxvolume (const int n_mb, std::ostream &os)
 
int daq_setRunControlMode (const int flag, std::ostream &os)
 
int daq_setrolloverlimit (const int n_gb, std::ostream &os)
 
int daq_setmaxbuffersize (const int n_kb, std::ostream &os)
 
int daq_setadaptivebuffering (const int usecs, std::ostream &os)
 
int daq_setEventFormat (const int f, std::ostream &os)
 
int daq_getEventFormat ()
 
int daq_getRunControlMode (std::ostream &os)
 
int daq_set_eloghandler (const char *host, const int port, const char *logname)
 
int readn (int fd, char *ptr, const int nbytes)
 
int writen (int fd, char *ptr, const int nbytes)
 
int open_file (const int run_number, int *fd)
 
void * daq_end_thread (void *arg)
 
void * shutdown_thread (void *arg)
 
void * monitorRequestwatcher_thread (void *arg)
 
void handler (int sig)
 
void * sendMonitorData (void *arg)
 
void * writebuffers (void *arg)
 
int switch_buffer ()
 
int daq_set_runnumberfile (const char *file, const int flag)
 
int daq_write_runnumberfile (const int run)
 
int daq_set_runnumberApp (const char *file, const int flag)
 
int getRunNumberFromApp ()
 
int daq_set_filerule (const char *rule)
 
int daq_set_name (const char *name)
 
int daq_setruntype (const char *type, std::ostream &os)
 
int daq_getruntype (const int flag, std::ostream &os)
 
int daq_define_runtype (const char *type, const char *rule)
 
int daq_status_runtypes (std::ostream &os)
 
int daq_list_runtypes (const int flag, std::ostream &os)
 
int daq_get_name (std::ostream &os)
 
std::string daq_get_myname ()
 
std::string & daq_get_filerule ()
 
std::string & get_current_filename ()
 
std::string & get_previous_filename ()
 
double daq_get_mb_per_second ()
 
double daq_get_events_per_second ()
 
void * daq_begin_thread (void *arg)
 
int daq_begin_immediate (const int irun, std::ostream &os)
 
int daq_begin (const int irun, std::ostream &os)
 
int daq_end_immediate (std::ostream &os)
 
int daq_wait_for_begin_done ()
 
int daq_wait_for_actual_end ()
 
int daq_end_interactive (std::ostream &os)
 
int daq_end (std::ostream &os)
 
int daq_fake_trigger (const int n, const int waitinterval)
 
void * EventLoop (void *arg)
 
int add_readoutdevice (daq_device *d)
 
int device_init ()
 
int device_endrun ()
 
int readout (const int etype)
 
int rearm (const int etype)
 
void set_eventsizes ()
 
int daq_open (std::ostream &os)
 
int daq_set_compression (const int flag, std::ostream &os)
 
int daq_set_server (const char *hostname, const int port, std::ostream &os)
 
int daq_shutdown (const unsigned long servernumber, const unsigned long versionnumber, const int pid_fd, std::ostream &os)
 
int is_open ()
 
int is_server_open ()
 
int daq_close (std::ostream &os)
 
int daq_server_close (std::ostream &os)
 
int daq_list_readlist (std::ostream &os)
 
int daq_clear_readlist (std::ostream &os)
 
int rcdaq_init (const int snumber, pthread_mutex_t &M)
 
int get_runnumber ()
 
int get_oldrunnumber ()
 
int get_eventnumber ()
 
double get_runvolume ()
 
int get_runduration ()
 
int get_openflag ()
 
int get_serverflag ()
 
int daq_status (const int flag, std::ostream &os)
 
int daq_webcontrol (const int port, std::ostream &os)
 
int daq_getlastfilename (std::ostream &os)
 
int daq_getlastevent_number (std::ostream &os)
 
int daq_running ()
 
int daq_generate_json (const int flag)
 

Variables

pthread_mutex_t WriteSem
 
pthread_mutex_t WriteProtectSem
 
pthread_mutex_t MonitoringRequestSem
 
pthread_mutex_t SendSem
 
pthread_mutex_t SendProtectSem
 
pthread_mutex_t FdManagementSem
 
char pidfilename [128]
 
int servernumber = 0
 
static std::map< string, string > RunTypes
 
static std::string TheFileRule = "rcdaq-%08d-%04d.evt"
 
static std::string TheRunType = " "
 
static std::string CurrentFilename = ""
 
static std::string PreviousFilename = ""
 
static std::string TheRunnumberfile
 
static int RunnumberfileIsSet = 0
 
static std::string TheRunnumberApp
 
static int RunnumberAppIsSet = 0
 
static std::string MyName = ""
 
static int daq_open_flag = 0
 
static int daq_server_flag = 0
 
static int daq_server_port = 0
 
static std::string daq_server_name = ""
 
static int file_is_open = 0
 
static int server_is_open = 0
 
static int current_filesequence = 0
 
static int outfile_fd
 
static md5_state_t md5state
 
static int RunControlMode = 0
 
static int CurrentEventType = 0
 
static ElogHandlerElogH =0
 
static TriggerHandlerTriggerH =0
 
static int Eventsize [MAXEVENTID]
 
int DAQ_RUNNING = 0
 
int DAQ_ENDREQUESTED = 0
 
int DAQ_BEGININPROGRESS =0
 
static daqBuffer Buffer1
 
static daqBuffer Buffer2
 
int Trigger_Todo
 
int Command_Todo
 
int TheRun = 0
 
time_t StartTime = 0
 
int Buffer_number
 
int Event_number
 
int Event_number_at_last_open = 0
 
int Event_number_at_last_write = 0
 
int Event_number_at_last_end = 0
 
int update_delta
 
static int TriggerControl = 0
 
int ThePort =8899
 
int TheServerFD = 0
 
daqBufferfillBuffer
 
daqBuffertransportBuffer
 
pthread_t ThreadId
 
pthread_t ThreadMon
 
pthread_t ThreadEvt
 
pthread_t ThreadWeb = 0
 
int * thread_arg
 
int end_thread = 0
 
pthread_mutex_t M_cout
 
struct sockaddr_in si_mine
 
devicevector DeviceList
 
int NumberWritten = 0
 
unsigned long long BytesInThisRun = 0
 
unsigned long long BytesInThisFile = 0
 
unsigned long long RolloverLimit = 0
 
unsigned long long run_volume
 
unsigned long long max_volume
 
int max_events
 
time_t last_speed_time = 0
 
int last_event_nr = 0
 
static time_t last_volume_time = 0
 
double last_volume = 0
 
int EvtId = 0
 
int max_seconds = 0
 
int verbose = 0
 
int runnumber =1
 
int packetid = 1001
 
int max_buffers =0
 
int adaptivebuffering = 15
 
int last_bufferwritetime = 0
 
int persistentErrorCondition = 0
 
std::string MyHostName
 
std::string shortHostName
 
std::queue< int > fd_queue
 

Macro Definition Documentation

#define COMMAND_BEGIN   2

Definition at line 97 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 97 of file rcdaq.cc

#define COMMAND_END   3

Definition at line 98 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 98 of file rcdaq.cc

#define COMMAND_FINISH   4

Definition at line 99 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 99 of file rcdaq.cc

#define COMMAND_INIT   1

Definition at line 96 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 96 of file rcdaq.cc

#define COMMAND_OPENP   5

Definition at line 100 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 100 of file rcdaq.cc

#define DAQ_COMMAND   0x02

Definition at line 91 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 91 of file rcdaq.cc

#define DAQ_INIT   1

Definition at line 104 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 104 of file rcdaq.cc

#define DAQ_READ   2

Definition at line 105 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 105 of file rcdaq.cc

Referenced by daq_fake_trigger().

#define DAQ_SPECIAL   0x04

Definition at line 92 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 92 of file rcdaq.cc

#define DAQ_TRIGGER   0x01

Definition at line 90 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 90 of file rcdaq.cc

#define MAXEVENTID   32

Definition at line 153 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 153 of file rcdaq.cc

Referenced by daq_begin(), readout(), rearm(), and set_eventsizes().

#define MONITORINGPORT   9930

Definition at line 211 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 211 of file rcdaq.cc

Referenced by monitorRequestwatcher_thread().

Typedef Documentation

typedef devicevector::iterator deviceiterator

Definition at line 151 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 151 of file rcdaq.cc

typedef std::vector<daq_device *> devicevector

Definition at line 150 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 150 of file rcdaq.cc

Function Documentation

int add_readoutdevice ( daq_device d)

Definition at line 1628 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1628 of file rcdaq.cc

References DeviceList.

Referenced by example_plugin::create_device(), gauss_plugin::create_device(), main(), and r_create_device_1_svc().

+ Here is the caller graph for this function:

int clearTriggerHandler ( )

Definition at line 262 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 262 of file rcdaq.cc

References TriggerH.

Referenced by daq_device_deadtime::~daq_device_deadtime(), daq_device_gauss::~daq_device_gauss(), daq_device_pluginexample::~daq_device_pluginexample(), and daq_device_random::~daq_device_random().

+ Here is the caller graph for this function:

int daq_begin ( const int  irun,
std::ostream &  os 
)
int daq_begin_immediate ( const int  irun,
std::ostream &  os 
)

Definition at line 1186 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1186 of file rcdaq.cc

References daq_begin_thread(), DAQ_BEGININPROGRESS, DAQ_RUNNING, MyHostName, utils::status, t, and TheRun.

Referenced by r_action_1_svc().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void* daq_begin_thread ( void *  arg)

Definition at line 1171 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1171 of file rcdaq.cc

References daq_begin(), DAQ_BEGININPROGRESS, and utils::status.

Referenced by daq_begin_immediate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int daq_clear_readlist ( std::ostream &  os)

Definition at line 1962 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1962 of file rcdaq.cc

References DAQ_RUNNING, DeviceList, and MyHostName.

Referenced by main(), and r_action_1_svc().

+ Here is the caller graph for this function:

int daq_close ( std::ostream &  os)

Definition at line 1913 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1913 of file rcdaq.cc

References daq_open_flag, DAQ_RUNNING, MyHostName, and persistentErrorCondition.

Referenced by daq_shutdown(), ev_handler(), and r_action_1_svc().

+ Here is the caller graph for this function:

int daq_define_runtype ( const char *  type,
const char *  rule 
)

Definition at line 1073 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1073 of file rcdaq.cc

References RunTypes, and parse_cmake_options::type.

Referenced by r_action_1_svc().

+ Here is the caller graph for this function:

int daq_end ( std::ostream &  os)

Definition at line 1472 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1472 of file rcdaq.cc

References Buffer_number, BytesInThisFile, BytesInThisRun, CurrentFilename, DAQ_ENDREQUESTED, daq_generate_json(), DAQ_RUNNING, daq_server_flag, device_endrun(), disable_trigger(), ElogH, ENDRUNEVENT, ElogHandler::EndrunLog(), Event_number, Event_number_at_last_end, Event_number_at_last_write, file_is_open, last_event_nr, last_speed_time, last_volume, last_volume_time, MG_REQUEST_SPEED, MyHostName, outfile_fd, PreviousFilename, readout(), request_mg_update(), run_volume, server_send_close_sequence(), server_send_endrun_sequence(), StartTime, switch_buffer(), TheRun, TheServerFD, Acts::Test::time, testSigmaEff::v, and WriteProtectSem.

Referenced by daq_end_thread(), ev_handler(), EventLoop(), and main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int daq_end_immediate ( std::ostream &  os)

Definition at line 1414 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1414 of file rcdaq.cc

References daq_end_thread(), DAQ_ENDREQUESTED, DAQ_RUNNING, MyHostName, os, utils::status, t, TheRun, and ambiguity_solver_full_chain::x.

Referenced by r_action_1_svc().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int daq_end_interactive ( std::ostream &  os)

Definition at line 1462 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1462 of file rcdaq.cc

References daq_end_thread(), os, and ambiguity_solver_full_chain::x.

Referenced by r_action_1_svc().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void* daq_end_thread ( void *  arg)

Definition at line 575 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 575 of file rcdaq.cc

References daq_end(), DAQ_ENDREQUESTED, disable_trigger(), os, and ThreadEvt.

Referenced by daq_end_immediate(), and daq_end_interactive().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int daq_fake_trigger ( const int  n,
const int  waitinterval 
)

Definition at line 1550 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1550 of file rcdaq.cc

References DAQ_READ, i, n, and Trigger_Todo.

Referenced by main(), and r_action_1_svc().

+ Here is the caller graph for this function:

int daq_generate_json ( const int  flag)

Definition at line 2650 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 2650 of file rcdaq.cc

References current_filesequence, CurrentFilename, Event_number_at_last_open, Event_number_at_last_write, i, md5_finish(), md5state, out, shortHostName, TheRun, TheRunType, and Acts::Test::time.

Referenced by daq_end(), open_file(), and switch_buffer().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double daq_get_events_per_second ( )

Definition at line 1159 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1159 of file rcdaq.cc

References Event_number, last_event_nr, last_speed_time, and Acts::Test::time.

Referenced by trigger_updates().

+ Here is the caller graph for this function:

std::string & daq_get_filerule ( )

Definition at line 1132 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1132 of file rcdaq.cc

References TheFileRule.

Referenced by daq_status().

+ Here is the caller graph for this function:

double daq_get_mb_per_second ( )

Definition at line 1147 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1147 of file rcdaq.cc

References last_volume, last_volume_time, run_volume, and Acts::Test::time.

Referenced by trigger_updates().

+ Here is the caller graph for this function:

std::string daq_get_myname ( )

Definition at line 1127 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1127 of file rcdaq.cc

References MyName.

Referenced by initial_ws_update(), and trigger_updates().

+ Here is the caller graph for this function:

int daq_get_name ( std::ostream &  os)

Definition at line 1121 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1121 of file rcdaq.cc

References MyName.

Referenced by r_action_1_svc().

+ Here is the caller graph for this function:

int daq_getEventFormat ( )

Definition at line 403 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 403 of file rcdaq.cc

References Buffer1, and daqBuffer::getEventFormat().

Referenced by daq_status(), daq_device_rtclock::put_data(), daq_device_filenumbers::put_data(), daq_device_file::put_data(), daq_device_deadtime::put_data(), and daq_device_random::put_data().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int daq_getlastevent_number ( std::ostream &  os)

Definition at line 2420 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 2420 of file rcdaq.cc

References Event_number_at_last_end.

Referenced by r_action_1_svc().

+ Here is the caller graph for this function:

int daq_getlastfilename ( std::ostream &  os)

Definition at line 2413 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 2413 of file rcdaq.cc

References get_previous_filename().

Referenced by r_action_1_svc().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int daq_getRunControlMode ( std::ostream &  os)

Definition at line 408 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 408 of file rcdaq.cc

References RunControlMode.

Referenced by r_action_1_svc().

+ Here is the caller graph for this function:

int daq_getruntype ( const int  flag,
std::ostream &  os 
)

Definition at line 1050 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1050 of file rcdaq.cc

References RunTypes, and TheFileRule.

Referenced by r_action_1_svc().

+ Here is the caller graph for this function:

int daq_list_readlist ( std::ostream &  os)

Definition at line 1948 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1948 of file rcdaq.cc

References DeviceList.

Referenced by main(), and r_action_1_svc().

+ Here is the caller graph for this function:

int daq_list_runtypes ( const int  flag,
std::ostream &  os 
)

Definition at line 1095 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1095 of file rcdaq.cc

References RunTypes.

Referenced by daq_status_runtypes(), and r_action_1_svc().

+ Here is the caller graph for this function:

int daq_open ( std::ostream &  os)

Definition at line 1761 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1761 of file rcdaq.cc

References daq_open_flag, DAQ_RUNNING, MyHostName, and persistentErrorCondition.

Referenced by ev_handler(), and r_action_1_svc().

+ Here is the caller graph for this function:

int daq_running ( )

Definition at line 2426 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 2426 of file rcdaq.cc

References DAQ_RUNNING.

Referenced by daq_setEventFormat(), get_loggingstring(), get_statusstring(), initial_ws_update(), mg_server(), r_create_device_1_svc(), send_ws_updates(), and trigger_updates().

+ Here is the caller graph for this function:

int daq_server_close ( std::ostream &  os)

Definition at line 1928 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1928 of file rcdaq.cc

References DAQ_RUNNING, daq_server_flag, MyHostName, server_send_close_sequence(), and TheServerFD.

+ Here is the call graph for this function:

int daq_set_compression ( const int  flag,
std::ostream &  os 
)

Definition at line 1782 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1782 of file rcdaq.cc

References Buffer1, Buffer2, DAQ_RUNNING, MyHostName, and daqBuffer::setCompression().

Referenced by r_action_1_svc().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int daq_set_eloghandler ( const char *  host,
const int  port,
const char *  logname 
)

Definition at line 415 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 415 of file rcdaq.cc

References ElogH, and str.

Referenced by r_action_1_svc().

+ Here is the caller graph for this function:

int daq_set_filerule ( const char *  rule)

Definition at line 969 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 969 of file rcdaq.cc

References TheFileRule.

Referenced by r_action_1_svc().

+ Here is the caller graph for this function:

int daq_set_name ( const char *  name)

Definition at line 975 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 975 of file rcdaq.cc

References MG_REQUEST_NAME, MyName, perf_headwind::name, request_mg_update(), servernumber, and to_string().

Referenced by r_action_1_svc().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int daq_set_runnumberApp ( const char *  file,
const int  flag 
)

Definition at line 930 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 930 of file rcdaq.cc

References file, RunnumberAppIsSet, and TheRunnumberApp.

Referenced by r_action_1_svc().

+ Here is the caller graph for this function:

int daq_set_runnumberfile ( const char *  file,
const int  flag 
)

Definition at line 887 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 887 of file rcdaq.cc

References fclose(), file, physmon_track_finding_ttbar::r, RunnumberfileIsSet, utils::status, TheRun, and TheRunnumberfile.

Referenced by r_action_1_svc().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int daq_set_server ( const char *  hostname,
const int  port,
std::ostream &  os 
)

Definition at line 1805 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1805 of file rcdaq.cc

References DAQ_RUNNING, daq_server_flag, daq_server_name, daq_server_port, and MyHostName.

Referenced by r_action_1_svc().

+ Here is the caller graph for this function:

int daq_setadaptivebuffering ( const int  usecs,
std::ostream &  os 
)

Definition at line 374 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 374 of file rcdaq.cc

References adaptivebuffering.

Referenced by r_action_1_svc().

+ Here is the caller graph for this function:

int daq_setEventFormat ( const int  f,
std::ostream &  os 
)

Definition at line 382 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 382 of file rcdaq.cc

References Buffer1, Buffer2, daq_running(), DeviceList, daqBuffer::setEventFormat(), and utils::status.

Referenced by r_action_1_svc().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int daq_setmaxbuffersize ( const int  n_kb,
std::ostream &  os 
)

Definition at line 361 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 361 of file rcdaq.cc

References Buffer1, Buffer2, DAQ_RUNNING, and daqBuffer::setMaxSize().

Referenced by r_action_1_svc().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int daq_setmaxevents ( const int  n,
std::ostream &  os 
)

Definition at line 321 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 321 of file rcdaq.cc

References max_events, and n.

Referenced by r_action_1_svc().

+ Here is the caller graph for this function:

int daq_setmaxvolume ( const int  n_mb,
std::ostream &  os 
)

Definition at line 329 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 329 of file rcdaq.cc

References max_volume, and ambiguity_solver_full_chain::x.

Referenced by r_action_1_svc().

+ Here is the caller graph for this function:

int daq_setrolloverlimit ( const int  n_gb,
std::ostream &  os 
)

Definition at line 349 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 349 of file rcdaq.cc

References DAQ_RUNNING, and RolloverLimit.

Referenced by r_action_1_svc().

+ Here is the caller graph for this function:

int daq_setRunControlMode ( const int  flag,
std::ostream &  os 
)

Definition at line 337 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 337 of file rcdaq.cc

References DAQ_RUNNING, and RunControlMode.

Referenced by r_action_1_svc().

+ Here is the caller graph for this function:

int daq_setruntype ( const char *  type,
std::ostream &  os 
)

Definition at line 1033 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1033 of file rcdaq.cc

References RunTypes, TheFileRule, TheRunType, and parse_cmake_options::type.

Referenced by r_action_1_svc().

+ Here is the caller graph for this function:

int daq_shutdown ( const unsigned long  servernumber,
const unsigned long  versionnumber,
const int  pid_fd,
std::ostream &  os 
)

Definition at line 1866 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1866 of file rcdaq.cc

References daq_close(), DAQ_RUNNING, daq_server_flag, MyHostName, pid_fd, servernumber, shutdown_thread(), utils::status, and t.

Referenced by r_shutdown_1_svc().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int daq_status ( const int  flag,
std::ostream &  os 
)

Definition at line 2138 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 2138 of file rcdaq.cc

References adaptivebuffering, Buffer1, daq_get_filerule(), daq_getEventFormat(), daq_open_flag, DAQ_RUNNING, daq_server_flag, daq_server_name, daq_server_port, daq_status_plugin(), daq_status_runtypes(), ElogH, Event_number, get_current_filename(), daqBuffer::getCompression(), ElogHandler::getHost(), ElogHandler::getLogbookName(), daqBuffer::getMaxSize(), ElogHandler::getPort(), max_events, max_volume, MyHostName, MyName, RolloverLimit, run_volume, RunControlMode, StartTime, ThePort, TheRun, Acts::Test::time, and TriggerH.

Referenced by r_action_1_svc().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int daq_status_runtypes ( std::ostream &  os)

Definition at line 1089 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1089 of file rcdaq.cc

References daq_list_runtypes().

Referenced by daq_status().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int daq_wait_for_actual_end ( )

Definition at line 1451 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1451 of file rcdaq.cc

References DAQ_ENDREQUESTED.

Referenced by r_action_1_svc().

+ Here is the caller graph for this function:

int daq_wait_for_begin_done ( )

Definition at line 1444 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1444 of file rcdaq.cc

References DAQ_BEGININPROGRESS.

Referenced by r_action_1_svc().

+ Here is the caller graph for this function:

int daq_webcontrol ( const int  port,
std::ostream &  os 
)

Definition at line 2375 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 2375 of file rcdaq.cc

References mg_end(), mg_server(), MyHostName, servernumber, utils::status, ThePort, and ThreadWeb.

Referenced by r_action_1_svc(), and rcdaq_init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int daq_write_runnumberfile ( const int  run)

Definition at line 914 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 914 of file rcdaq.cc

References fclose(), fprintf(), RunControlMode, RunnumberfileIsSet, and TheRunnumberfile.

Referenced by daq_begin().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int device_endrun ( )

Definition at line 1651 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1651 of file rcdaq.cc

References DeviceList.

Referenced by daq_end().

+ Here is the caller graph for this function:

int device_init ( )

Definition at line 1636 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1636 of file rcdaq.cc

References DeviceList.

Referenced by daq_begin().

+ Here is the caller graph for this function:

int disable_trigger ( )

Definition at line 312 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 312 of file rcdaq.cc

References TriggerHandler::disable(), TriggerControl, and TriggerH.

Referenced by daq_end(), and daq_end_thread().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int enable_trigger ( )

Definition at line 288 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 288 of file rcdaq.cc

References TriggerHandler::enable(), EventLoop(), TriggerHandler::rearm(), utils::status, ThreadEvt, TriggerControl, and TriggerH.

Referenced by daq_begin().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void* EventLoop ( void *  arg)

Definition at line 1569 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1569 of file rcdaq.cc

References coutfl, CurrentEventType, daq_end(), DAQ_RUNNING, DATAEVENT, depth, Acts::UnitConstants::e, EventMap, Event::getEvtSequence(), Eventiterator::getNextEvent(), Event::getRunNumber(), go_on, Eventiterator::identify(), Event::identify(), identify, it, MapSem, old_runnumber, readout(), rearm(), reset_deadtime(), sleeptime, TriggerControl, TriggerH, verbose, and TriggerHandler::wait_for_trigger().

+ Here is the call graph for this function:

std::string & get_current_filename ( )

Definition at line 1137 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1137 of file rcdaq.cc

References CurrentFilename.

Referenced by daq_begin(), daq_status(), get_loggingstring(), and initial_ws_update().

+ Here is the caller graph for this function:

int get_eventnumber ( )

Definition at line 2111 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 2111 of file rcdaq.cc

References DAQ_RUNNING, and Event_number.

Referenced by initial_ws_update(), mg_server(), send_updates(), and send_ws_updates().

+ Here is the caller graph for this function:

int get_oldrunnumber ( )

Definition at line 2106 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 2106 of file rcdaq.cc

References TheRun.

Referenced by get_statusstring().

+ Here is the caller graph for this function:

int get_openflag ( )

Definition at line 2128 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 2128 of file rcdaq.cc

References daq_open_flag.

Referenced by get_loggingstring(), initial_ws_update(), mg_server(), and trigger_updates().

+ Here is the caller graph for this function:

std::string& get_previous_filename ( )

Definition at line 1142 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1142 of file rcdaq.cc

References PreviousFilename.

Referenced by daq_getlastfilename().

+ Here is the caller graph for this function:

int get_runduration ( )

Definition at line 2122 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 2122 of file rcdaq.cc

References DAQ_RUNNING, StartTime, and Acts::Test::time.

Referenced by get_statusstring(), initial_ws_update(), and mg_server().

+ Here is the caller graph for this function:

int get_runnumber ( )

Definition at line 2100 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 2100 of file rcdaq.cc

References DAQ_RUNNING, and TheRun.

Referenced by initial_ws_update(), mg_server(), and trigger_updates().

+ Here is the caller graph for this function:

double get_runvolume ( )

Definition at line 2116 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 2116 of file rcdaq.cc

References DAQ_RUNNING, run_volume, and testSigmaEff::v.

Referenced by initial_ws_update(), mg_server(), send_updates(), and send_ws_updates().

+ Here is the caller graph for this function:

int get_serverflag ( )

Definition at line 2132 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 2132 of file rcdaq.cc

References daq_server_flag.

Referenced by get_loggingstring(), initial_ws_update(), mg_server(), and trigger_updates().

+ Here is the caller graph for this function:

int getRunNumberFromApp ( )

Definition at line 944 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 944 of file rcdaq.cc

References in, pclose(), utils::run, RunnumberAppIsSet, physmon_simulation::s, and TheRunnumberApp.

Referenced by daq_begin().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void handler ( int  sig)

Definition at line 695 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 695 of file rcdaq.cc

References SendProtectSem.

int is_open ( )

Definition at line 1903 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1903 of file rcdaq.cc

References daq_open_flag.

Referenced by gzstreambuf::close(), and gzstreambuf::open().

+ Here is the caller graph for this function:

int is_server_open ( )

Definition at line 1908 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1908 of file rcdaq.cc

References daq_server_flag.

int mg_end ( )

Definition at line 50 of file rcdaq_mg_server.cc.

View newest version in sPHENIX GitHub at line 50 of file rcdaq_mg_server.cc

References end_web_thread.

Referenced by daq_webcontrol().

+ Here is the caller graph for this function:

void * mg_server ( void *  arg)

Definition at line 497 of file rcdaq_mg_server.cc.

View newest version in sPHENIX GitHub at line 497 of file rcdaq_mg_server.cc

References daq_running(), mg_serve_http_opts::document_root, mg_serve_http_opts::enable_directory_listing, end_web_thread, geant4_parallel::ends, ev_handler(), get_eventnumber(), get_openflag(), get_runduration(), get_runnumber(), get_runvolume(), get_serverflag(), mg_serve_http_opts::index_files, last_eventnumber, last_openflag, last_runduration, last_runnumber, last_runstate, last_runvolume, last_serverflag, M_ws_send, mg_bind(), mg_mgr_init(), mg_mgr_poll(), mg_set_protocol_http_websocket(), rcdaqname_request_flag, s_http_server_opts, send_ws_updates(), speed_request_flag, speed_update_interval, Acts::Test::time, and trigger_updates().

Referenced by daq_webcontrol().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void* monitorRequestwatcher_thread ( void *  arg)

Definition at line 627 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 627 of file rcdaq.cc

References dd_fd, fd_queue, FdManagementSem, M_cout, MONITORINGPORT, MonitoringRequestSem, out, servernumber, sockfd, and utils::status.

Referenced by rcdaq_init().

+ Here is the caller graph for this function:

char* obtain_pidfilename ( )

Definition at line 249 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 249 of file rcdaq.cc

References pidfilename.

Referenced by main(), and sig_handler().

+ Here is the caller graph for this function:

int open_file ( const int  run_number,
int *  fd 
)

Definition at line 498 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 498 of file rcdaq.cc

References current_filesequence, CurrentFilename, daq_generate_json(), Event_number, Event_number_at_last_open, Event_number_at_last_write, file_is_open, M_cout, md5_init(), md5state, Acts::open, PreviousFilename, run_number, and TheFileRule.

+ Here is the call graph for this function:

int open_file_on_server ( const int  run_number)

Definition at line 546 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 546 of file rcdaq.cc

References current_filesequence, CurrentFilename, file_is_open, PreviousFilename, run_number, server_open_Connection(), server_send_beginrun_sequence(), utils::status, TheFileRule, and TheServerFD.

Referenced by daq_begin().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int open_serverSocket ( const char *  host_name,
const int  port 
)

Definition at line 2442 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 2442 of file rcdaq.cc

References physmon_simulation::s, sockfd, and utils::status.

Referenced by server_open_Connection().

+ Here is the caller graph for this function:

int rcdaq_init ( const int  snumber,
pthread_mutex_t &  M 
)

Definition at line 1985 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1985 of file rcdaq.cc

References Buffer1, Buffer2, daq_webcontrol(), DAQPRDFFORMAT, FdManagementSem, fillBuffer, M_cout, md5state, MonitoringRequestSem, monitorRequestwatcher_thread(), MyHostName, MyName, outfile_fd, sendMonitorData(), SendProtectSem, SendSem, servernumber, daqBuffer::setEventFormat(), daqBuffer::setMD5State(), shortHostName, utils::status, ThePort, ThreadEvt, ThreadId, ThreadMon, to_string(), transportBuffer, writebuffers(), WriteProtectSem, and WriteSem.

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int readn ( int  fd,
char *  ptr,
const int  nbytes 
)

Definition at line 432 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 432 of file rcdaq.cc

References ActsExamples::JsonSurfacesReader::read().

+ Here is the call graph for this function:

int readout ( const int  etype)

Definition at line 1667 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1667 of file rcdaq.cc

References adaptivebuffering, daqBuffer::addSubevent(), DAQ_RUNNING, DATAEVENT, DeviceList, Event_number, Event_number_at_last_end, Eventsize, EVTHEADERLENGTH, fillBuffer, last_bufferwritetime, max_events, max_volume, MAXEVENTID, daqBuffer::nextEvent(), run_volume, utils::status, switch_buffer(), and Acts::Test::time.

Referenced by daq_begin(), daq_end(), and EventLoop().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int rearm ( const int  etype)

Definition at line 1724 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1724 of file rcdaq.cc

References DeviceList, and MAXEVENTID.

Referenced by EventLoop().

+ Here is the caller graph for this function:

int registerTriggerHandler ( TriggerHandler th)

Definition at line 254 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 254 of file rcdaq.cc

References TriggerH.

Referenced by daq_device_deadtime::daq_device_deadtime(), daq_device_gauss::daq_device_gauss(), daq_device_pluginexample::daq_device_pluginexample(), and daq_device_random::daq_device_random().

+ Here is the caller graph for this function:

int request_mg_update ( const int  what)

Definition at line 56 of file rcdaq_mg_server.cc.

View newest version in sPHENIX GitHub at line 56 of file rcdaq_mg_server.cc

References MG_REQUEST_NAME, MG_REQUEST_SPEED, rcdaqname_request_flag, and speed_request_flag.

Referenced by daq_begin(), daq_end(), and daq_set_name().

+ Here is the caller graph for this function:

int reset_deadtime ( )

Definition at line 282 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 282 of file rcdaq.cc

References TriggerHandler::rearm(), and TriggerH.

Referenced by EventLoop().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void* sendMonitorData ( void *  arg)

Definition at line 703 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 703 of file rcdaq.cc

References end_thread, fd, fd_queue, FdManagementSem, readn(), daqBuffer::sendData(), SendProtectSem, SendSem, utils::status, and transportBuffer.

Referenced by rcdaq_init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int server_open_Connection ( )

Definition at line 1832 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1832 of file rcdaq.cc

References daq_server_flag, daq_server_name, daq_server_port, open_serverSocket(), persistentErrorCondition, and TheServerFD.

Referenced by open_file_on_server().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int server_send_beginrun_sequence ( const char *  filename,
const int  runnumber,
int  fd 
)

Definition at line 2503 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 2503 of file rcdaq.cc

References CTRL_BEGINRUN, CTRL_REMOTESUCCESS, CTRL_SENDFILENAME, readn(), utils::status, and writen().

Referenced by open_file_on_server().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int server_send_close_sequence ( int  fd)

Definition at line 2609 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 2609 of file rcdaq.cc

References CTRL_CLOSE, utils::status, and writen().

Referenced by daq_end(), and daq_server_close().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int server_send_endrun_sequence ( int  fd)

Definition at line 2588 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 2588 of file rcdaq.cc

References CTRL_ENDRUN, CTRL_REMOTESUCCESS, readn(), utils::status, and writen().

Referenced by daq_end().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int server_send_rollover_sequence ( const char *  filename,
int  fd 
)

Definition at line 2557 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 2557 of file rcdaq.cc

References CTRL_REMOTESUCCESS, CTRL_ROLLOVER, readn(), utils::status, and writen().

Referenced by switch_buffer().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void set_eventsizes ( )

Definition at line 1739 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 1739 of file rcdaq.cc

References DeviceList, Eventsize, EVTHEADERLENGTH, i, MAXEVENTID, and size.

Referenced by daq_begin().

+ Here is the caller graph for this function:

void* shutdown_thread ( void *  arg)

Definition at line 598 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 598 of file rcdaq.cc

References M_cout, pid_fd, pidfilename, TriggerControl, and TriggerH.

Referenced by daq_shutdown().

+ Here is the caller graph for this function:

void sig_handler ( int  i)

Definition at line 269 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 269 of file rcdaq.cc

int switch_buffer ( )

Definition at line 810 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 810 of file rcdaq.cc

References daqBuffer::addEoB(), Buffer_number, BytesInThisFile, current_filesequence, CurrentFilename, daq_generate_json(), daq_open_flag, daq_server_flag, Event_number, Event_number_at_last_open, Event_number_at_last_write, file_is_open, fillBuffer, daqBuffer::getLength(), MyHostName, open_file(), outfile_fd, daqBuffer::prepare_next(), RolloverLimit, SendProtectSem, SendSem, server_send_rollover_sequence(), utils::status, TheFileRule, TheRun, TheServerFD, transportBuffer, WriteProtectSem, and WriteSem.

Referenced by daq_end(), and readout().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void * writebuffers ( void *  arg)

Definition at line 777 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 777 of file rcdaq.cc

Referenced by handle_this_child(), and rcdaq_init().

+ Here is the caller graph for this function:

int writen ( int  fd,
char *  ptr,
const int  nbytes 
)

Definition at line 462 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 462 of file rcdaq.cc

References write().

+ Here is the call graph for this function:

Variable Documentation

int adaptivebuffering = 15

Definition at line 241 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 241 of file rcdaq.cc

Referenced by daq_setadaptivebuffering(), daq_status(), and readout().

daqBuffer Buffer1
static

Definition at line 171 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 171 of file rcdaq.cc

Referenced by daq_getEventFormat(), daq_set_compression(), daq_setEventFormat(), daq_setmaxbuffersize(), daq_status(), and rcdaq_init().

daqBuffer Buffer2
static

Definition at line 172 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 172 of file rcdaq.cc

Referenced by daq_set_compression(), daq_setEventFormat(), daq_setmaxbuffersize(), and rcdaq_init().

int Buffer_number

Definition at line 179 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 179 of file rcdaq.cc

Referenced by daq_begin(), daq_end(), and switch_buffer().

unsigned long long BytesInThisFile = 0

Definition at line 220 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 220 of file rcdaq.cc

Referenced by daq_begin(), daq_end(), switch_buffer(), and writebuffers().

unsigned long long BytesInThisRun = 0

Definition at line 219 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 219 of file rcdaq.cc

Referenced by daq_begin(), daq_end(), and writebuffers().

int Command_Todo

Definition at line 175 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 175 of file rcdaq.cc

int current_filesequence = 0
static

Definition at line 131 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 131 of file rcdaq.cc

Referenced by daq_begin(), daq_generate_json(), open_file(), open_file_on_server(), and switch_buffer().

int CurrentEventType = 0
static

Definition at line 144 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 144 of file rcdaq.cc

Referenced by EventLoop().

std::string CurrentFilename = ""
static

Definition at line 113 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 113 of file rcdaq.cc

Referenced by daq_begin(), daq_end(), daq_generate_json(), get_current_filename(), open_file(), open_file_on_server(), and switch_buffer().

int DAQ_BEGININPROGRESS =0

Definition at line 169 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 169 of file rcdaq.cc

Referenced by daq_begin_immediate(), daq_begin_thread(), and daq_wait_for_begin_done().

int DAQ_ENDREQUESTED = 0

Definition at line 168 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 168 of file rcdaq.cc

Referenced by daq_begin(), daq_end(), daq_end_immediate(), daq_end_thread(), and daq_wait_for_actual_end().

int daq_open_flag = 0
static

Definition at line 124 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 124 of file rcdaq.cc

Referenced by daq_begin(), daq_close(), daq_open(), daq_status(), get_openflag(), is_open(), switch_buffer(), and writebuffers().

int daq_server_flag = 0
static

Definition at line 125 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 125 of file rcdaq.cc

Referenced by daq_begin(), daq_end(), daq_server_close(), daq_set_server(), daq_shutdown(), daq_status(), get_serverflag(), is_server_open(), server_open_Connection(), switch_buffer(), and writebuffers().

std::string daq_server_name = ""
static

Definition at line 127 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 127 of file rcdaq.cc

Referenced by daq_set_server(), daq_status(), and server_open_Connection().

int daq_server_port = 0
static

Definition at line 126 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 126 of file rcdaq.cc

Referenced by daq_set_server(), daq_status(), and server_open_Connection().

devicevector DeviceList

Definition at line 214 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 214 of file rcdaq.cc

Referenced by add_readoutdevice(), daq_clear_readlist(), daq_list_readlist(), daq_setEventFormat(), device_endrun(), device_init(), readout(), rearm(), and set_eventsizes().

ElogHandler* ElogH =0
static

Definition at line 146 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 146 of file rcdaq.cc

Referenced by daq_begin(), daq_end(), daq_set_eloghandler(), and daq_status().

int end_thread = 0

Definition at line 204 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 204 of file rcdaq.cc

Referenced by sendMonitorData(), and writebuffers().

int Event_number

Definition at line 181 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 181 of file rcdaq.cc

Referenced by daq_begin(), daq_end(), daq_get_events_per_second(), daq_status(), get_eventnumber(), open_file(), readout(), and switch_buffer().

int Event_number_at_last_end = 0

Definition at line 184 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 184 of file rcdaq.cc

Referenced by daq_begin(), daq_end(), daq_getlastevent_number(), and readout().

int Event_number_at_last_open = 0

Definition at line 182 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 182 of file rcdaq.cc

Referenced by daq_begin(), daq_generate_json(), open_file(), and switch_buffer().

int Event_number_at_last_write = 0

Definition at line 183 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 183 of file rcdaq.cc

Referenced by daq_begin(), daq_end(), daq_generate_json(), open_file(), and switch_buffer().

int Eventsize[MAXEVENTID]
static

Definition at line 154 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 154 of file rcdaq.cc

Referenced by daq_begin(), readout(), and set_eventsizes().

int EvtId = 0

Definition at line 232 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 232 of file rcdaq.cc

Referenced by G4EvtGenDecayer::ImportDecayProducts().

std::queue<int> fd_queue

Definition at line 624 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 624 of file rcdaq.cc

Referenced by monitorRequestwatcher_thread(), and sendMonitorData().

pthread_mutex_t FdManagementSem

Definition at line 81 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 81 of file rcdaq.cc

Referenced by monitorRequestwatcher_thread(), rcdaq_init(), and sendMonitorData().

int file_is_open = 0
static

Definition at line 129 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 129 of file rcdaq.cc

Referenced by daq_end(), open_file(), open_file_on_server(), and switch_buffer().

daqBuffer* fillBuffer

Definition at line 195 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 195 of file rcdaq.cc

Referenced by daq_begin(), rcdaq_init(), readout(), and switch_buffer().

int last_bufferwritetime = 0

Definition at line 242 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 242 of file rcdaq.cc

Referenced by daq_begin(), readout(), and writebuffers().

int last_event_nr = 0

Definition at line 227 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 227 of file rcdaq.cc

Referenced by daq_begin(), daq_end(), and daq_get_events_per_second().

time_t last_speed_time = 0

Definition at line 226 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 226 of file rcdaq.cc

Referenced by daq_begin(), daq_end(), and daq_get_events_per_second().

double last_volume = 0

Definition at line 230 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 230 of file rcdaq.cc

Referenced by daq_begin(), daq_end(), and daq_get_mb_per_second().

time_t last_volume_time = 0
static

Definition at line 229 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 229 of file rcdaq.cc

Referenced by daq_begin(), daq_end(), and daq_get_mb_per_second().

pthread_mutex_t M_cout

Definition at line 206 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 206 of file rcdaq.cc

Referenced by handle_this_child(), main(), monitorRequestwatcher_thread(), open_file(), rcdaq_init(), shutdown_thread(), and sig_handler().

int max_buffers =0

Definition at line 239 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 239 of file rcdaq.cc

int max_events

Definition at line 224 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 224 of file rcdaq.cc

Referenced by daq_setmaxevents(), daq_status(), and readout().

int max_seconds = 0

Definition at line 235 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 235 of file rcdaq.cc

unsigned long long max_volume

Definition at line 223 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 223 of file rcdaq.cc

Referenced by daq_setmaxvolume(), daq_status(), and readout().

md5_state_t md5state
static

Definition at line 140 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 140 of file rcdaq.cc

Referenced by daq_begin(), daq_generate_json(), daqBuffer::daqBuffer(), open_file(), rcdaq_init(), and daqBuffer::setMD5State().

pthread_mutex_t MonitoringRequestSem

Definition at line 77 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 77 of file rcdaq.cc

Referenced by monitorRequestwatcher_thread(), and rcdaq_init().

std::string MyName = ""
static

Definition at line 122 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 122 of file rcdaq.cc

Referenced by daq_get_myname(), daq_get_name(), daq_set_name(), daq_status(), and rcdaq_init().

int NumberWritten = 0

Definition at line 218 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 218 of file rcdaq.cc

Referenced by writebuffers().

int outfile_fd
static

Definition at line 132 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 132 of file rcdaq.cc

Referenced by daq_begin(), daq_end(), rcdaq_init(), switch_buffer(), and writebuffers().

int persistentErrorCondition = 0

Definition at line 244 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 244 of file rcdaq.cc

Referenced by daq_begin(), daq_close(), daq_open(), and server_open_Connection().

char pidfilename[128]

Definition at line 83 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 83 of file rcdaq.cc

Referenced by main(), obtain_pidfilename(), shutdown_thread(), and sig_handler().

std::string PreviousFilename = ""
static

Definition at line 114 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 114 of file rcdaq.cc

Referenced by daq_end(), get_previous_filename(), open_file(), and open_file_on_server().

unsigned long long RolloverLimit = 0

Definition at line 221 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 221 of file rcdaq.cc

Referenced by daq_setrolloverlimit(), daq_status(), and switch_buffer().

unsigned long long run_volume

Definition at line 223 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 223 of file rcdaq.cc

Referenced by daq_begin(), daq_end(), daq_get_mb_per_second(), daq_status(), get_runvolume(), and readout().

int RunControlMode = 0
static

Definition at line 143 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 143 of file rcdaq.cc

Referenced by daq_begin(), daq_getRunControlMode(), daq_setRunControlMode(), daq_status(), and daq_write_runnumberfile().

int RunnumberAppIsSet = 0
static

Definition at line 120 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 120 of file rcdaq.cc

Referenced by daq_begin(), daq_set_runnumberApp(), and getRunNumberFromApp().

int RunnumberfileIsSet = 0
static

Definition at line 117 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 117 of file rcdaq.cc

Referenced by daq_set_runnumberfile(), and daq_write_runnumberfile().

std::map<string,string> RunTypes
static

Definition at line 109 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 109 of file rcdaq.cc

Referenced by daq_define_runtype(), daq_getruntype(), daq_list_runtypes(), and daq_setruntype().

pthread_mutex_t SendProtectSem

Definition at line 79 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 79 of file rcdaq.cc

Referenced by handler(), rcdaq_init(), sendMonitorData(), and switch_buffer().

pthread_mutex_t SendSem

Definition at line 78 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 78 of file rcdaq.cc

Referenced by rcdaq_init(), sendMonitorData(), and switch_buffer().

int server_is_open = 0
static

Definition at line 130 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 130 of file rcdaq.cc

int servernumber = 0

Definition at line 88 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 88 of file rcdaq.cc

Referenced by command_execute(), daq_set_name(), daq_shutdown(), daq_webcontrol(), main(), monitorRequestwatcher_thread(), and rcdaq_init().

std::string shortHostName

Definition at line 247 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 247 of file rcdaq.cc

Referenced by daq_generate_json(), and rcdaq_init().

struct sockaddr_in si_mine

Definition at line 209 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 209 of file rcdaq.cc

time_t StartTime = 0

Definition at line 178 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 178 of file rcdaq.cc

Referenced by daq_begin(), daq_end(), daq_status(), and get_runduration().

std::string TheFileRule = "rcdaq-%08d-%04d.evt"
static

Definition at line 111 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 111 of file rcdaq.cc

Referenced by daq_begin(), daq_get_filerule(), daq_getruntype(), daq_set_filerule(), daq_setruntype(), open_file(), open_file_on_server(), and switch_buffer().

int ThePort =8899

Definition at line 191 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 191 of file rcdaq.cc

Referenced by daq_status(), daq_webcontrol(), and rcdaq_init().

int TheRun = 0

Definition at line 177 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 177 of file rcdaq.cc

Referenced by daq_begin(), daq_begin_immediate(), daq_end(), daq_end_immediate(), daq_generate_json(), daq_set_runnumberfile(), daq_status(), get_oldrunnumber(), get_runnumber(), and switch_buffer().

std::string TheRunnumberApp
static

Definition at line 119 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 119 of file rcdaq.cc

Referenced by daq_begin(), daq_set_runnumberApp(), and getRunNumberFromApp().

std::string TheRunnumberfile
static

Definition at line 116 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 116 of file rcdaq.cc

Referenced by daq_set_runnumberfile(), and daq_write_runnumberfile().

std::string TheRunType = " "
static

Definition at line 112 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 112 of file rcdaq.cc

Referenced by daq_generate_json(), and daq_setruntype().

int TheServerFD = 0

Definition at line 193 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 193 of file rcdaq.cc

Referenced by daq_end(), daq_server_close(), open_file_on_server(), server_open_Connection(), switch_buffer(), and writebuffers().

int* thread_arg

Definition at line 202 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 202 of file rcdaq.cc

pthread_t ThreadEvt

Definition at line 199 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 199 of file rcdaq.cc

Referenced by daq_begin(), daq_end_thread(), enable_trigger(), main(), and rcdaq_init().

pthread_t ThreadId

Definition at line 197 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 197 of file rcdaq.cc

Referenced by handle_this_child(), pinit(), and rcdaq_init().

pthread_t ThreadMon

Definition at line 198 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 198 of file rcdaq.cc

Referenced by rcdaq_init().

pthread_t ThreadWeb = 0

Definition at line 200 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 200 of file rcdaq.cc

Referenced by daq_webcontrol().

daqBuffer * transportBuffer

Definition at line 195 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 195 of file rcdaq.cc

Referenced by daq_begin(), rcdaq_init(), sendMonitorData(), switch_buffer(), and writebuffers().

int Trigger_Todo

Definition at line 174 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 174 of file rcdaq.cc

Referenced by daq_fake_trigger().

int TriggerControl = 0
static

Definition at line 189 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 189 of file rcdaq.cc

Referenced by disable_trigger(), enable_trigger(), EventLoop(), shutdown_thread(), and sig_handler().

TriggerHandler* TriggerH =0
static

Definition at line 147 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 147 of file rcdaq.cc

Referenced by clearTriggerHandler(), daq_status(), disable_trigger(), enable_trigger(), EventLoop(), registerTriggerHandler(), reset_deadtime(), and shutdown_thread().

int update_delta

Definition at line 187 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 187 of file rcdaq.cc

int verbose = 0

Definition at line 236 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 236 of file rcdaq.cc

pthread_mutex_t WriteProtectSem

Definition at line 75 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 75 of file rcdaq.cc

Referenced by daq_end(), rcdaq_init(), switch_buffer(), and writebuffers().

pthread_mutex_t WriteSem

Definition at line 74 of file rcdaq.cc.

View newest version in sPHENIX GitHub at line 74 of file rcdaq.cc

Referenced by rcdaq_init(), switch_buffer(), and writebuffers().