Jpp
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Types | Protected Attributes | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
KM3NETDAQ::JDataFilter Class Reference

Main class for real-time filtering of data. More...

Inheritance diagram for KM3NETDAQ::JDataFilter:
KM3NETDAQ::JDAQClient JDAQStateMachine KM3NETDAQ::JDAQClient_t JDAQCHSM

Classes

struct  JCircularBuffer_t
 Circular buffer. More...
 

Public Types

typedef JSocketInputChannel< JDAQAbstractPreambleJSocketInputChannel_t
 
typedef std::vector< JSocketInputChannel_tJChannelList_t
 
typedef double hit_type
 
typedef JSuperFrame1D< hit_typeJSuperFrame1D_t
 
typedef JSuperFrame2D< hit_typeJSuperFrame2D_t
 
typedef JTimeslice< hit_typeJTimeslice_t
 
typedef JBuildL1< hit_typeJBuildL1_t
 
typedef JBuildL2< hit_typeJBuildL2_t
 

Public Member Functions

 JDataFilter (const std::string &name, const std::string &server, const std::string &hostname, JLogger *logger, const int level, const int port, const int backlog, const int buffer_size, const std::string &path)
 Constructor. More...
 
virtual void actionEnter ()
 Interface methods for actions corresponding to state transitions. More...
 
virtual void actionExit ()
 
virtual void actionInit (int length, const char *buffer)
 
virtual void actionConfigure (int length, const char *buffer)
 
virtual void actionStart (int length, const char *buffer)
 
virtual void actionPause (int length, const char *buffer)
 
virtual void actionContinue (int length, const char *buffer)
 
virtual void actionStop (int length, const char *buffer)
 
virtual void actionReset (int length, const char *buffer)
 
virtual void actionQuit (int length, const char *buffer)
 
virtual void setSelect (JFileDescriptorMask &mask) const
 Set the file descriptor mask for the select call. More...
 
virtual void actionSelect (const JFileDescriptorMask &mask)
 Action method following last select call. More...
 
virtual void actionRunning ()
 This method is repeatedly called when this client machine is in state Running and the clock interval time is non-zero. More...
 
void updateFrameQueue (const JChannelList_t::const_iterator channel)
 Update queue with data frames. More...
 
void processTimeSlice (const JDAQTimesliceL0 &timeslice)
 Process time slice. More...
 
void typeout ()
 Report status to message logger. More...
 
virtual void actionTagged (const JTag &tag, int length, const char *buffer)
 Tagged action to handle alerts. More...
 
virtual bool enter (const JArgs &args)
 Enter the state machine. More...
 
virtual bool enter ()
 Enter the state machine. More...
 
virtual bool exit ()
 Exit the state machine. More...
 
bool isRunning () const
 Check if this client is in runnig state. More...
 
void replaceEvent (const JTag &oldTag, const JTag &newTag, JDAQEvent_t &event)
 Replace tag of given event in event table. More...
 
JDAQEvent_tfindEvent (const JTag &tag, const std::string &event_name)
 Find event in event table. More...
 
void addSubscription (const JSubscription &subscription)
 Add custom subscription. More...
 
template<class T >
void addParameter (const char option, T &parameter)
 Add parameter to parser used in method enter(). More...
 
template<class T >
void addParameter (const char option, T &parameter, const T &value)
 Add parameter to parser used in method enter(). More...
 
void setSelect ()
 Set the file descriptor mask for the select call. More...
 
virtual void actionInput (int length, const char *buffer)
 This method is called at ev_input. More...
 
virtual bool filter (const JTag &tag, int length, const char *buffer)
 Filter message. More...
 
void run ()
 Run as run control client following command messages via JNET::JControlHost. More...
 
void run (const int port)
 Run for ever. More...
 
void run (std::istream &in)
 Run client with commands from input stream (e.g. More...
 
void A1 (CHSM_ns_alias::event const &)
 
void A2 (CHSM_ns_alias::event const &)
 
void A3 (CHSM_ns_alias::event const &)
 
void A4 (CHSM_ns_alias::event const &)
 
void A5 (CHSM_ns_alias::event const &)
 
void A6 (CHSM_ns_alias::event const &)
 
void A7 (CHSM_ns_alias::event const &)
 
void A8 (CHSM_ns_alias::event const &)
 
void A9 (CHSM_ns_alias::event const &)
 
void A10 (CHSM_ns_alias::event const &)
 
void A11 (CHSM_ns_alias::event const &)
 
void A12 (CHSM_ns_alias::event const &)
 
void A13 (CHSM_ns_alias::event const &)
 
void A14 (CHSM_ns_alias::event const &)
 
void EAM4root (CHSM_ns_alias::state const &, CHSM_ns_alias::event const &)
 
void XAM4root (CHSM_ns_alias::state const &, CHSM_ns_alias::event const &)
 
const std::string & getName () const
 Get name of state machine. More...
 
int getDetectorID () const
 Get detector identifier. More...
 
int getRunNumber () const
 Get run number. More...
 
virtual void actionError ()
 
virtual void actionRecover (int, const char *)
 
const std::string & getHostname () const
 Get hostname. More...
 
const std::string & getFullName () const
 Get full name of this run control client. More...
 
const JTaggetUniqueTag () const
 Get unique tag of this run control client. More...
 
long long int getClockDelay () const
 Get total delay time. More...
 
long long int getClockInterval () const
 Get interval time. More...
 
void setClockInterval (const long long int interval_us)
 Set interval time. More...
 
void resetClock ()
 Reset clock. More...
 
int getEventNumber () const
 Get last event number. More...
 
void setEventNumber (const int event_number)
 Set last event number. More...
 

Static Public Member Functions

static bool processIndexSorter (const JDAQProcess &first, const JDAQProcess &second)
 Sort DAQ process by index. More...
 

Public Attributes

JMeta meta
 meta data More...
 
JDAQStateMachine::state_root root
 
JDAQStateMachine::state_Main Main
 
JDAQStateMachine::ev_daq_event ev_daq
 
char ev_daq_param_block [sizeof(ev_daq_event::param_block)]
 
JDAQStateMachine::ev_init_event ev_init
 
char ev_init_param_block [sizeof(ev_init_event::param_block)]
 
JDAQStateMachine::ev_configure_event ev_configure
 
char ev_configure_param_block [sizeof(ev_configure_event::param_block)]
 
JDAQStateMachine::ev_start_event ev_start
 
char ev_start_param_block [sizeof(ev_start_event::param_block)]
 
JDAQStateMachine::ev_pause_event ev_pause
 
char ev_pause_param_block [sizeof(ev_pause_event::param_block)]
 
JDAQStateMachine::ev_continue_event ev_continue
 
char ev_continue_param_block [sizeof(ev_continue_event::param_block)]
 
JDAQStateMachine::ev_stop_event ev_stop
 
char ev_stop_param_block [sizeof(ev_stop_event::param_block)]
 
JDAQStateMachine::ev_reset_event ev_reset
 
char ev_reset_param_block [sizeof(ev_reset_event::param_block)]
 
JDAQStateMachine::ev_quit_event ev_quit
 
char ev_quit_param_block [sizeof(ev_quit_event::param_block)]
 
JDAQStateMachine::ev_off_event ev_off
 
char ev_off_param_block [sizeof(ev_off_event::param_block)]
 
JDAQStateMachine::ev_check_event ev_check
 
char ev_check_param_block [sizeof(ev_check_event::param_block)]
 
JDAQStateMachine::ev_input_event ev_input
 
char ev_input_param_block [sizeof(ev_input_event::param_block)]
 
JDAQStateMachine::ev_recover_event ev_recover
 
char ev_recover_param_block [sizeof(ev_recover_event::param_block)]
 
JDAQStateMachine::ev_error_event ev_error
 
char ev_error_param_block [sizeof(ev_error_event::param_block)]
 

Static Public Attributes

static const int MAXIMUM_FILE_NUMBER = 100
 maximum file number for overwrite protection. More...
 
static const int TIMEOUT_S = 1
 time out of update [s] More...
 

Protected Types

typedef void(JDAQCHSM::* action) (int, const char *)
 Type definition of action method. More...
 

Protected Attributes

JSharedPointer< JControlHostserver
 message server More...
 
JMessageLogger logger
 message logger More...
 
std::string name
 
int detector_id
 
int run_number
 
JEventTable eventTable
 event table More...
 
std::string fullname
 
JTag unique_tag
 
JTimekeeper clock
 central clock More...
 
int event_number
 number of last event More...
 

Private Types

typedef JControlHostObjectOutput< JDAQTypes_tJControlHost_t
 

Private Member Functions

template<class T >
bool put (const T &object)
 Auxiliary method to send object to data server. More...
 
void update ()
 Update state machine. More...
 
void update (const JTag &tag, int length, const char *buffer)
 Update state machine. More...
 
void configure ()
 Configure client. More...
 
std::string getMessage (const CHSM::state &state, const CHSM::event &event) const
 Get event message. More...
 
virtual void enterState (const CHSM::state &state, const CHSM::event &event)
 Action when entering state. More...
 
virtual void actionCheck (int length, const char *buffer)
 This method is called at ev_check and reports a system check by mimicing an enter state action. More...
 
void execute (action __action, const CHSM::event &__event)
 The method to execute the action. More...
 
const CHSM::state * getState () const
 Get current state. More...
 

Private Attributes

JSinglePointer< JControlHost_tdatawriter
 controlhost of data server (to which data writer should be connected) More...
 
std::string hostname
 host name of data server More...
 
int port
 server socket port More...
 
int backlog
 
int buffer_size
 
JSinglePointer< JServerSocketserversocket
 server for data queue connections More...
 
JChannelList_t channelList
 connections to data queue More...
 
JTimer timer
 
JQuantile Qt
 
std::list< JDAQTimesliceL0timeslices
 buffer with pending time slice data More...
 
int current_slice_index
 
unsigned int frames_per_slice
 
unsigned int maximum_frames_per_slice
 
JTriggerParameters parameters
 
JSinglePointer< JTimesliceRoutertimesliceRouter
 
JDetector detector
 
JSinglePointer< JModuleRoutermoduleRouter
 
JSinglePointer< JBuildL1_tbuildL1
 
JSinglePointer< JBuildL2_tbuildL2
 
JSinglePointer< JBuildL2_tbuildSN
 
JSinglePointer< JTrigger3DMuontrigger3DMuon
 
JSinglePointer< JTrigger3DShowertrigger3DShower
 
JSinglePointer< JTriggerMXShowertriggerMXShower
 
JMessageScheduler logErrorRun
 
JMessageScheduler logErrorDetector
 
JMessageScheduler logErrorIndex
 
JMessageScheduler logErrorIncomplete
 
std::vector< JDAQProcessdataFilters
 
std::vector< JDAQProcessdataQueues
 
long long int totalCPURAM
 
unsigned int maxQueueDepth
 
long long int maxQueueSize
 
long long int queueSize
 
bool reporting
 
long long int numberOfEvents
 
long long int numberOfBytes
 
long long int numberOfTimeslicesProcessed
 
long long int numberOfIncompleteTimeslicesProcessed
 
int minFrameNumber
 
int maxFrameNumber
 
long long int number_of_packets_received
 
long long int number_of_packets_discarded
 
long long int number_of_reads
 
long long int number_of_bytes_received
 
JCircularBuffer_t c_buffer
 
std::string path
 directory for writing circular buffer More...
 
JSelectReader select
 select call More...
 
JParser parser
 parser method enter() More...
 
JSubscriptionList subscription
 custom subscription More...
 
CHSM_ns_alias::state * state_ [11]
 
const CHSM_ns_alias::event * taken_ [14]
 
CHSM_ns_alias::state * target_ [14]
 

Static Private Attributes

static const int ev_daq_transitions []
 
static const int ev_init_transitions []
 
static const int ev_configure_transitions []
 
static const int ev_start_transitions []
 
static const int ev_pause_transitions []
 
static const int ev_continue_transitions []
 
static const int ev_stop_transitions []
 
static const int ev_reset_transitions []
 
static const int ev_quit_transitions []
 
static const int ev_off_transitions []
 
static const int ev_check_transitions []
 
static const int ev_input_transitions []
 
static const int ev_recover_transitions []
 
static const int ev_error_transitions []
 
static const CHSM_ns_alias::transition transition_ []
 

Detailed Description

Main class for real-time filtering of data.

This class implements the action methods for each transition of the state machine.
When the state machine is entered, data are continually collected using custom implementation of virtual methods JDataFilter::setSelect and JDataFilter::actionSelect.

In state Running, all incoming data are buffered, referred to as "queue".
When a JDAQTimeslice is complete, it processed in the same way as applications JTriggerProcessor.cc and JTriggerEfficiency.cc.
The completeness of a time slice is defined by the parameter frames_per_slice which, together with other parameters, is parsed in method JDataFilter::actionConfigure.

  numberOfFramesPerSlice = frames_per_slice = 1;

Note that this parameter can change during operation (see below).

A timeout may occur when the total amount of data or the number of incomplete time slices in the queue exceeds the corresponding pre-set limit:

  queueSize  = <maximal queue size [B]>;
  queueDepth = <maximal queue depth>;

Note that these values apply per JDataFilter.
When a timeout occurs, the parameter frames_per_slice< is set to the number of frames in the oldest time slice.
When data are received with a frame index below the current frame index, the parameter frames_per_slice is incremented by one, upto the original value set at JDataFilter::actionConfigure.
In addition, a circular buffer based on a ROOT TTree for each JDAQTimeslice type can be maintained.
The following parameters can be used to configure the circular buffer.

  path     = <write directory for circular buffer>;
  c_sizeL0 = <L0 buffer size>;
  c_sizeL1 = <L1 buffer size>;
  c_sizeL2 = <L2 buffer size>;
  c_sizeSN = <SN buffer size>;

Note that when path is set to a valid director:

After closure of the file, a new file will be opened if path is set;

In this, YYYY, MM and DD are the year, month and day at the time of the configuration or alert and <tag> corresponds to the unique JTag of the JDataFilter process.
The <index> is optional and will only be used to prevent overwriting of an existing file (e.g. when there is more than one alert on a given day).

The application/script JConvert.cc/JConvert.sh can be used to readily convert multiple input files to a single output file.

The script JDOMandDataFilter.sh can be used to test this application.

Definition at line 144 of file JDataFilter.cc.

Member Typedef Documentation

◆ JSocketInputChannel_t

Definition at line 149 of file JDataFilter.cc.

◆ JChannelList_t

Definition at line 150 of file JDataFilter.cc.

◆ hit_type

Definition at line 152 of file JDataFilter.cc.

◆ JSuperFrame1D_t

Definition at line 153 of file JDataFilter.cc.

◆ JSuperFrame2D_t

Definition at line 154 of file JDataFilter.cc.

◆ JTimeslice_t

Definition at line 155 of file JDataFilter.cc.

◆ JBuildL1_t

Definition at line 156 of file JDataFilter.cc.

◆ JBuildL2_t

Definition at line 157 of file JDataFilter.cc.

◆ JControlHost_t

Definition at line 1140 of file JDataFilter.cc.

◆ action

typedef void(JDAQCHSM::* JDAQCHSM::action) (int, const char *)
protectedinherited

Type definition of action method.

Definition at line 152 of file JDAQCHSM.hh.

Constructor & Destructor Documentation

◆ JDataFilter()

KM3NETDAQ::JDataFilter::JDataFilter ( const std::string &  name,
const std::string &  server,
const std::string &  hostname,
JLogger logger,
const int  level,
const int  port,
const int  backlog,
const int  buffer_size,
const std::string &  path 
)
inline

Constructor.

Parameters
namename of client
servername of command message server
hostnamename of data server
loggerpointer to logger
leveldebug level
portserver port
backlogserver backlog
buffer_sizeserver buffer
pathdirectory for writing circular buffer

replace tag to receive dfilter specific messages in configure

Definition at line 288 of file JDataFilter.cc.

296  :
297  JDAQClient (name,server,logger,level),
298  hostname (hostname),
299  port (port),
300  backlog (backlog),
302  path (path)
303  {
304  replaceEvent(RC_CMD, RC_DFILTER, ev_configure); /// replace tag to receive dfilter specific messages in configure
305 
307 
308  totalCPURAM = getRAM();
309  current_slice_index = -1;
310  reporting = false;
311  }

Member Function Documentation

◆ processIndexSorter()

static bool KM3NETDAQ::JDataFilter::processIndexSorter ( const JDAQProcess first,
const JDAQProcess second 
)
inlinestatic

Sort DAQ process by index.

Parameters
firstfirst DAQ process
secondsecond DAQ process
Returns
true if index of first DAQ process less than that of second; else false

Definition at line 269 of file JDataFilter.cc.

270  {
271  return first.index < second.index;
272  }

◆ actionEnter()

virtual void KM3NETDAQ::JDataFilter::actionEnter ( )
inlinevirtual

Interface methods for actions corresponding to state transitions.

Reimplemented from JDAQCHSM.

Definition at line 314 of file JDataFilter.cc.

315  {}

◆ actionExit()

virtual void KM3NETDAQ::JDataFilter::actionExit ( )
inlinevirtual

Reimplemented from JDAQCHSM.

Definition at line 318 of file JDataFilter.cc.

319  {
320  if (c_buffer.is_open()) {
321 
322  JNoticeStream(logger) << "Close circular buffer " << c_buffer;
323 
324  c_buffer.close();
325  }
326 
327  datawriter.reset();
328  }

◆ actionInit()

virtual void KM3NETDAQ::JDataFilter::actionInit ( int  length,
const char *  buffer 
)
inlinevirtual

Reimplemented from JDAQCHSM.

Definition at line 331 of file JDataFilter.cc.

332  {
333  JDebugStream(logger) << "actionInit() " << std::string(buffer,length);
334 
335  try {
336 
337  JDebugStream(logger) << "Start server.";
338 
340  }
341  catch(const std::exception& error) {
342  JErrorStream(logger) << "Error \"" << error.what() << "\"; trigger ev_error.";
343  ev_error();
344  }
345  }

◆ actionConfigure()

virtual void KM3NETDAQ::JDataFilter::actionConfigure ( int  length,
const char *  buffer 
)
inlinevirtual

Reimplemented from JDAQCHSM.

Definition at line 348 of file JDataFilter.cc.

349  {
350  using namespace std;
351 
352  JDebugStream(logger) << "actionConfigure() " << endl << std::string(buffer,length);
353 
354  long long int update_s = 10;
355  long long int logger_s = 5;
356 
357  parameters .reset();
358  dataFilters.clear();
359  dataQueues .clear();
360 
361  reporting = false;
362 
363  JProperties properties(JEquationParameters("=", ";", "", ""), 0);
364 
365  properties["dataWriter"] = hostname;
366  properties["numberOfFramesPerSlice"] = frames_per_slice = 1;
367  properties["detector"] = detector;
368  properties["triggerParameters"] = parameters;
369  properties["queueSize"] = maxQueueSize = (totalCPURAM - GIGABYTE); // leave 1 GB left ...
370  properties["queueDepth"] = maxQueueDepth = 20; // to be optimized
371  properties["logger_s"] = logger_s;
372  properties["update_s"] = update_s;
373  properties["JDataFilter"] = dataFilters;
374  properties["DataQueue"] = dataQueues;
375  properties["path"] = path;
376  properties["c_sizeL0"] = c_buffer.sizeL0;
377  properties["c_sizeL1"] = c_buffer.sizeL1;
378  properties["c_sizeL2"] = c_buffer.sizeL2;
379  properties["c_sizeSN"] = c_buffer.sizeSN;
380 
381  try {
382  properties.read(string(buffer, length));
383  }
384  catch(const exception& error) {
385  JErrorStream(logger) << error.what();
386  }
387 
388  if (update_s <= 0) { update_s = 1; }
389  if (logger_s <= 0) { logger_s = 1; }
390 
391  setClockInterval(update_s * 1000000LL);
392 
394 
395  if (hostname != "")
397  else
398  throw JException("Undefined data writer host name.");
399 
401 
402  // process processlist
403 
404  if (dataFilters.empty()) {
405  JNoticeStream(logger) << "No DataFilters in process list, or no process list. "
406  << "Assuming that this process is the only process on this CPU and setting parameters accordingly.";
407  }
408 
409  sort(dataFilters.begin(), dataFilters.end(), processIndexSorter);
410 
411  unsigned int numberOfDataFiltersOnThisMachine = 0;
412  vector<JDAQProcess>::iterator thisProcess = dataFilters.end();
413 
415 
416  {
417  JNoticeStream notice(logger);
418 
419  notice << "My IP addresses:";
420 
421  for (vector<string>::const_iterator i = IP.begin(); i != IP.end(); ++i) {
422  notice << ' ' << *i;
423  }
424  }
425 
426  for (vector<JDAQProcess>::iterator i = dataFilters.begin(); i != dataFilters.end(); ++i) {
427 
428  JDebugStream(logger) << "Test IP address \"" << i->hostname << "\" " << (find(IP.begin(), IP.end(), i->hostname) != IP.end());
429 
430  if (find(IP.begin(), IP.end(), i->hostname) != IP.end()) {
431 
432  numberOfDataFiltersOnThisMachine++;
433 
434  if (i->port == this->port) {
435  thisProcess = i;
436  }
437  }
438  }
439 
440  if (numberOfDataFiltersOnThisMachine == 0) {
441  JNoticeStream(logger) << "Zero data filters on this machine according to process list (if it exists). "
442  << "Assuming one datafilter on this machine.";
443  numberOfDataFiltersOnThisMachine = 1;
444  }
445 
446  if (thisProcess == dataFilters.end()) {
447  JErrorStream(logger) << "This process cannot be found in the process list. Why do I exist?";
448  }
449 
450  if (thisProcess != dataFilters.end() && thisProcess->index != getName()) {
451  JErrorStream(logger) << "Mismatch between given process names: "
452  << "I am called " << getName()
453  << ", but in the process list I am referred to as " << thisProcess->index;
454  }
455 
456  if (dataFilters.begin() == thisProcess || dataFilters.empty()) { // set reporting
457  reporting = true;
458  }
459 
460  if (maxQueueSize > (totalCPURAM-GIGABYTE)/(numberOfDataFiltersOnThisMachine)) { // check maximum size of queue
461 
462  maxQueueSize = (totalCPURAM-GIGABYTE)/(numberOfDataFiltersOnThisMachine);
463 
464  JNoticeStream(logger) << "Maximum queue size is too large given the number of processes on this machine. "
465  << "Queue size reduced to "
466  << maxQueueSize << " bytes." ;
467  }
468 
469  // trigger parameters
470 
472 
476 
478 
479  if (reporting) {
480  JNoticeStream(logger) << "This data filter process will report.";
481  JNoticeStream(logger) << "Number of modules: " << (*moduleRouter)->size();
482  JDebugStream (logger) << "Trigger parameters: " << parameters;
483  JDebugStream (logger) << "Detector description: " << endl << detector;
484  JNoticeStream(logger) << "Update period [s]: " << getClockInterval();
485  }
486 
488 
489  // set L1, L2 and SN builders
490 
494 
495  if (buildL1.get() == NULL) { JErrorStream(logger) << "Failed to allocate buildL1."; }
496  if (buildL2.get() == NULL) { JErrorStream(logger) << "Failed to allocate buildL2."; }
497  if (buildSN.get() == NULL) { JErrorStream(logger) << "Failed to allocate buildSN."; }
498 
499  logErrorRun = JMessageScheduler(logger, JTimekeeper(logger_s * 1000000LL));
500  logErrorDetector = JMessageScheduler(logger, JTimekeeper(logger_s * 1000000LL));
501  logErrorIndex = JMessageScheduler(logger, JTimekeeper(logger_s * 1000000LL));
502  logErrorIncomplete = JMessageScheduler(logger, JTimekeeper(logger_s * 1000000LL));
503 
504  if (c_buffer.is_enabled()) {
505 
506  if (!c_buffer.is_open()) {
507 
509 
510  if (c_buffer.is_open()) {
511 
512  JNoticeStream(logger) << "Created circular buffer " << c_buffer;
513 
515 
516  } else {
517 
518  JErrorStream (logger) << "Failed to create circular buffer in directory <" << path << ">; disable functionality.";
519 
520  c_buffer.disable();
521  }
522 
523  } else {
524 
525  JNoticeStream(logger) << "Continue using circular buffer " << c_buffer;
526  }
527 
528  if (c_buffer.sizeL0 > 0) { static_cast<JTreeWriterObjectOutput<JDAQTimesliceL0>&>(c_buffer).SetCircular(c_buffer.sizeL0); }
529  if (c_buffer.sizeL1 > 0) { static_cast<JTreeWriterObjectOutput<JDAQTimesliceL1>&>(c_buffer).SetCircular(c_buffer.sizeL1); }
530  if (c_buffer.sizeL2 > 0) { static_cast<JTreeWriterObjectOutput<JDAQTimesliceL2>&>(c_buffer).SetCircular(c_buffer.sizeL2); }
531  if (c_buffer.sizeSN > 0) { static_cast<JTreeWriterObjectOutput<JDAQTimesliceSN>&>(c_buffer).SetCircular(c_buffer.sizeSN); }
532 
533  } else {
534 
535  if (c_buffer.is_open()) {
536  c_buffer.close();
537  }
538  }
539  }

◆ actionStart()

virtual void KM3NETDAQ::JDataFilter::actionStart ( int  length,
const char *  buffer 
)
inlinevirtual

Reimplemented from JDAQCHSM.

Definition at line 542 of file JDataFilter.cc.

543  {
544  using namespace std;
545 
546  if (reporting) {
547  JNoticeStream(logger) << "Start run " << getRunNumber();
548  }
549 
550  timeslices.clear();
551 
552  current_slice_index = -1;
553  queueSize = 0;
554 
555  numberOfEvents = 0;
556  numberOfBytes = 0;
559 
563  number_of_reads = 0;
564 
565  minFrameNumber = numeric_limits<int>::max();
566  maxFrameNumber = numeric_limits<int>::min();
567 
568  // Reset global trigger counter.
569 
571 
572  logErrorRun .reset();
574  logErrorIndex .reset();
576 
577  timer.reset();
578  timer.start();
579 
580  Qt.reset();
581 
582  // send trigger parameters to the datawriter
583 
584  ostringstream os;
585 
586  os << getRunNumber() << ' ' << parameters;
587 
588  datawriter->PutFullString(IO_TRIGGER_PARAMETERS, os.str());
589  }

◆ actionPause()

virtual void KM3NETDAQ::JDataFilter::actionPause ( int  length,
const char *  buffer 
)
inlinevirtual

Reimplemented from JDAQCHSM.

Definition at line 592 of file JDataFilter.cc.

593  {
594  using namespace std;
595 
596  if (!timeslices.empty()) {
597 
598  JNoticeStream(logger) << "Flushing " << timeslices.size() << " slices.";
599 
600  for (list<JDAQTimesliceL0>::const_iterator i = timeslices.begin(); i != timeslices.end(); ++i) {
601  queueSize -= getSizeof(*i);
602  }
603 
604  timeslices.clear();
605  }
606 
607  { // force clearance of memory
608 
610 
611  timeslices.swap(buffer);
612  }
613 
614  if (queueSize != 0) {
615  JWarningStream(logger) << "Pending data in queue " << queueSize << " [B]";
616  }
617 
618  current_slice_index = -1;
619  queueSize = 0;
620 
621  timer.stop();
622  }

◆ actionContinue()

virtual void KM3NETDAQ::JDataFilter::actionContinue ( int  length,
const char *  buffer 
)
inlinevirtual

Reimplemented from JDAQCHSM.

Definition at line 625 of file JDataFilter.cc.

626  {
627  timer.start();
628  }

◆ actionStop()

virtual void KM3NETDAQ::JDataFilter::actionStop ( int  length,
const char *  buffer 
)
inlinevirtual

Reimplemented from JDAQCHSM.

Definition at line 631 of file JDataFilter.cc.

632  {
633  typeout();
634 
635  datawriter.reset();
636  }

◆ actionReset()

virtual void KM3NETDAQ::JDataFilter::actionReset ( int  length,
const char *  buffer 
)
inlinevirtual

Reimplemented from JDAQCHSM.

Definition at line 639 of file JDataFilter.cc.

640  {
642  }

◆ actionQuit()

virtual void KM3NETDAQ::JDataFilter::actionQuit ( int  length,
const char *  buffer 
)
inlinevirtual

Reimplemented from JDAQCHSM.

Definition at line 645 of file JDataFilter.cc.

646  {
647  datawriter.reset();
648  }

◆ setSelect() [1/2]

virtual void KM3NETDAQ::JDataFilter::setSelect ( JFileDescriptorMask mask) const
inlinevirtual

Set the file descriptor mask for the select call.

This implementation does nothing but may be redefined by the derived class.

Parameters
maskfile descriptor mask

Reimplemented from KM3NETDAQ::JDAQClient.

Definition at line 651 of file JDataFilter.cc.

652  {
653  if (serversocket.is_valid()) {
654  mask.set(*serversocket);
655  }
656 
657  for (JChannelList_t::const_iterator channel = channelList.begin(); channel != channelList.end(); ++channel) {
658  if (!channel->isReady()) {
659  mask.set(channel->getFileDescriptor());
660  }
661  }
662  }

◆ actionSelect()

virtual void KM3NETDAQ::JDataFilter::actionSelect ( const JFileDescriptorMask mask)
inlinevirtual

Action method following last select call.

This implementation does nothing but may be redefined by the derived class.

Parameters
maskfile descriptor mask

Reimplemented from KM3NETDAQ::JDAQClient.

Definition at line 665 of file JDataFilter.cc.

666  {
667  using namespace std;
668 
669  for (JChannelList_t::iterator channel = channelList.begin(); channel != channelList.end(); ) {
670 
671  try {
672 
673  if (mask.has(channel->getFileDescriptor())) {
674  channel->read();
675  }
676 
677  if (channel->isReady()) {
678 
680  number_of_reads += channel->getCounter();
681  number_of_bytes_received += channel->size();
682 
683  if (isRunning()) {
684 
685  updateFrameQueue(channel);
686 
687  } else {
688 
689  JErrorStream(logErrorRun) << "Receiving data while not running.";
690 
692  }
693 
694  channel->reset();
695  }
696 
697  ++channel;
698  }
699  catch(const JSocketException& error) {
700 
701  JNoticeStream(logger) << "Disconnecting channel " << channel->getFileDescriptor() << ' ' << error.what();
702 
703  channel->shutdown();
704 
705  channel = channelList.erase(channel);
706  }
707  }
708 
709 
710  if (serversocket.is_valid()) {
711 
712  if (mask.has(*serversocket)) {
713 
714  JSocket socket;
715 
717 
718  //socket.setSendBufferSize (buffer_size);
720 
721  socket.setKeepAlive (true);
722  socket.setNonBlocking(true);
723 
724  JNoticeStream(logger) << "New channel" << '[' << socket.getFileDescriptor() << ']';
725 
726  channelList.push_back(JSocketInputChannel_t(socket));
727  }
728  }
729 
730 
731  if (!timeslices.empty() && (timeslices.front().size() >= frames_per_slice ||
732  timeslices.size() >= maxQueueDepth ||
733  queueSize >= maxQueueSize)) {
734 
735  const JDAQTimesliceL0& pending_slice = timeslices.front();
736  queueSize -= getSizeof(pending_slice);
737 
738  current_slice_index = pending_slice.getFrameIndex();
739  minFrameNumber = min(minFrameNumber, pending_slice.getFrameIndex());
740  maxFrameNumber = max(maxFrameNumber, pending_slice.getFrameIndex());
741 
742  if (pending_slice.size() > frames_per_slice) {
743 
744  JErrorStream(logger) << "More frames in timeslice than expected "
745  << pending_slice.size() << " > " << frames_per_slice;
746 
747  if (pending_slice.size() <= maximum_frames_per_slice) {
748 
749  JErrorStream(logger) << "Adjusting expected frames per timeslice to " << pending_slice.size();
750 
751  frames_per_slice = pending_slice.size();
752  }
753  }
754 
755  if (!pending_slice.empty()) {
756 
757  const localtime_t t0 = getLocalTime();
758 
759  processTimeSlice(pending_slice);
760 
761  const localtime_t t1 = getLocalTime();
762 
764 
765  Qt.put(t1 - t0);
766 
767  if (pending_slice.size() < frames_per_slice) {
768 
770 
771  JErrorStream(logErrorIncomplete) << "Timeout -> processed incomplete timeslice: "
772  << "Frame index = " << pending_slice.getFrameIndex() << ';'
773  << "Size of timeslice = " << pending_slice.size() << ';'
774  << "Queue depth = " << timeslices.size() << ';'
775  << "Queue size = " << queueSize;
776 
777  if (!timeslices.empty()) {
778 
779  JErrorStream(logger) << "Adjusting expected frames per timeslice from " << frames_per_slice << " to " << pending_slice.size();
780 
781  frames_per_slice = pending_slice.size();
782  }
783  }
784  }
785 
786  timeslices.pop_front();
787  }
788  }

◆ actionRunning()

virtual void KM3NETDAQ::JDataFilter::actionRunning ( )
inlinevirtual

This method is repeatedly called when this client machine is in state Running and the clock interval time is non-zero.

This implementation does nothing but may be redefined by the derived class. Care has to be taken so that the time needed to execute this method should be less than the specified clock interval time (see method setClockInterval()).

Reimplemented from KM3NETDAQ::JDAQClient.

Definition at line 791 of file JDataFilter.cc.

792  {
793  if (reporting) {
794  typeout();
795  }
796  }

◆ updateFrameQueue()

void KM3NETDAQ::JDataFilter::updateFrameQueue ( const JChannelList_t::const_iterator  channel)
inline

Update queue with data frames.

Note that any discarded data will be reported.

Parameters
channelincoming data channel

Definition at line 806 of file JDataFilter.cc.

807  {
808  using namespace std;
809 
810  JByteArrayReader in(channel->data(), channel->size());
811 
812  JDAQPreamble preamble;
813  JDAQSuperFrameHeader header;
814 
815  in >> preamble;
816  in >> header;
817 
818  if (preamble.getLength() != channel->size()) {
819 
820  JErrorStream(logErrorRun) << "Size of received data does not match size reported by preamble: "
821  << "preamble.getLength() = " << preamble.getLength() << ';'
822  << "channel->size(): " << channel->size() << ';';
823 
825 
826  return;
827  }
828 
829  if (header.getRunNumber() != getRunNumber()) {
830 
831  JErrorStream(logErrorRun) << "Run number " << header.getRunNumber()
832  << " unequal to current run " << getRunNumber()
833  << " -> Dropping frame.";
834 
836 
837  return;
838  }
839 
840  if (header.getFrameIndex() <= current_slice_index) {
841 
842  JErrorStream(logErrorIndex) << "Frame index " << header.getFrameIndex() << " <= " << current_slice_index
843  << " -> Dropping frame.";
844 
846 
848 
850 
851  JErrorStream(logErrorIndex) << "Increase number of frames expected to: " << frames_per_slice;
852  }
853 
854  return;
855  }
856 
857  list<JDAQTimesliceL0>::iterator timesliceIterator = timeslices.begin();
858 
859  while (timesliceIterator != timeslices.end() && timesliceIterator->getFrameIndex() < header.getFrameIndex()) {
860  ++timesliceIterator;
861  }
862 
863  if (timesliceIterator != timeslices.end() && timesliceIterator->getFrameIndex() == header.getFrameIndex()) {
864 
865  // The corresponding time slice already exists
866 
867  } else {
868 
869  // This is the first frame of this time slice; insert a new time slice in the buffer at the right position in the list
870 
871  timesliceIterator = timeslices.insert(timesliceIterator, JDAQTimesliceL0());
872 
873  timesliceIterator->setDAQChronometer(header.getDAQChronometer());
874 
875  queueSize += getSizeof(*timesliceIterator);
876  }
877 
878  timesliceIterator->push_back(JDAQSuperFrame(header));
879 
880  in >> static_cast<JDAQFrame&>(*(timesliceIterator->rbegin()));
881 
882  queueSize += getSizeof(*timesliceIterator->rbegin());
883  }

◆ processTimeSlice()

void KM3NETDAQ::JDataFilter::processTimeSlice ( const JDAQTimesliceL0 timeslice)
inline

Process time slice.

Parameters
timeslicetime slice

Definition at line 891 of file JDataFilter.cc.

892  {
893  using namespace std;
894 
895  try {
896 
897  if (parameters.writeSummary()) {
898  this->put(JDAQSummaryslice(timeslice));
899  }
900 
908  c_buffer.is_enabled()) {
909 
910  timesliceRouter->configure(timeslice);
911 
912  JTimeslice_t timesliceL0(timeslice.getDAQChronometer());
913  JTimeslice_t timesliceL1(timeslice.getDAQChronometer());
914  JTimeslice_t timesliceL2(timeslice.getDAQChronometer());
915  JTimeslice_t timesliceSN(timeslice.getDAQChronometer());
916  JDAQTimeslice timesliceTX(timeslice.getDAQChronometer());
917 
918  for (JDAQTimesliceL0::const_iterator frame = timeslice.begin(); frame != timeslice.end(); ++frame) {
919 
920  if (moduleRouter->hasModule(frame->getModuleID())) {
921 
922  if (!checksum(*frame)) {
923 
924  JErrorStream(logger) << "Invalid data at "
925  << "run = " << timeslice.getRunNumber() << ";"
926  << "frame index = " << timeslice.getFrameIndex() << ";"
927  << "module = " << frame->getModuleID() << ";"
928  << "discard and dump";
929 
930  timesliceTX.push_back(*frame);
931 
932  continue;
933  }
934 
935  const JModule& module = moduleRouter->getModule(frame->getModuleID());
936  JSuperFrame2D_t& buffer = JSuperFrame2D_t::demultiplex(*frame, module);
937 
938  // Apply high-rate veto
939 
940  buffer.applyHighRateVeto(parameters.highRateVeto_Hz);
941 
942  // L0
943 
944  timesliceL0.push_back(JSuperFrame1D_t(buffer));
945 
946  // L1
947 
948  timesliceL1.push_back(JSuperFrame1D_t(frame->getDAQChronometer(),
949  frame->getModuleIdentifier(),
950  module.getPosition()));
951 
952  (*buildL1)(*timesliceL0.rbegin(), back_inserter(*timesliceL1.rbegin()));
953 
954  // L2
955 
956  timesliceL2.push_back(JSuperFrame1D_t(frame->getDAQChronometer(),
957  frame->getModuleIdentifier(),
958  module.getPosition()));
959 
960  (*buildL2)(buffer, *timesliceL1.rbegin(), back_inserter(*timesliceL2.rbegin()));
961 
962  // SN
963 
964  timesliceSN.push_back(JSuperFrame1D_t(frame->getDAQChronometer(),
965  frame->getModuleIdentifier(),
966  module.getPosition()));
967 
968  (*buildSN)(buffer, *timesliceL1.rbegin(), back_inserter(*timesliceSN.rbegin()));
969 
970  } else {
971 
972  JErrorStream(logErrorDetector) << "No detector information for module " << frame->getModuleID();
973  }
974  }
975 
976  if (!timesliceTX.empty()) {
977  this->put(timesliceTX);
978  }
979 
980  // Trigger
981 
982  JTriggerInput trigger_input(timesliceL2);
983  JTriggerOutput trigger_output;
984 
985  (*trigger3DMuon) (trigger_input, back_inserter(trigger_output));
986  (*trigger3DShower)(trigger_input, back_inserter(trigger_output));
987  (*triggerMXShower)(trigger_input, timesliceL0, back_inserter(trigger_output));
988 
989  trigger_output.merge(JEventOverlap(parameters.TMaxEvent_ns));
990 
991  for (JTriggerOutput::const_iterator event = trigger_output.begin(); event != trigger_output.end(); ++event) {
992 
994 
995  if (this->put(object)) {
996  numberOfEvents += 1;
997  }
998  }
999 
1000  if (parameters.writeL1() || c_buffer.sizeL1 > 0) {
1001 
1003 
1004  if (parameters.writeL1) { this->put(object); }
1005  if (c_buffer.sizeL1 > 0) { c_buffer.put(object); }
1006  }
1007 
1008  if (parameters.writeL2() || c_buffer.sizeL2 > 0) {
1009 
1011 
1012  if (parameters.writeL2) { this->put(object); }
1013  if (c_buffer.sizeL2 > 0) { c_buffer.put(object); }
1014  }
1015 
1016  if (parameters.writeSN() || c_buffer.sizeSN > 0) {
1017 
1019 
1020  if (parameters.writeSN) { this->put(object); }
1021  if (c_buffer.sizeSN > 0) { c_buffer.put(object); }
1022  }
1023 
1024  if (parameters.writeL0() || c_buffer.sizeL0 > 0) {
1025 
1026  if (parameters.writeL0) { this->put(timeslice); }
1027  if (c_buffer.sizeL0 > 0) { c_buffer.put(timeslice); }
1028  }
1029  }
1030 
1031  } catch(const JTriggerException& error) {
1032  JErrorStream(logger) << "Error = " << error.what() << ";"
1033  << "run = " << timeslice.getRunNumber() << ";"
1034  << "frame index = " << timeslice.getFrameIndex() << ";"
1035  << "time slicee not correctly processed!";
1036  }
1037  }

◆ typeout()

void KM3NETDAQ::JDataFilter::typeout ( )
inline

Report status to message logger.

Definition at line 1043 of file JDataFilter.cc.

1044  {
1045  timer.stop();
1046 
1047  const double T_us = (double) timer.usec_wall;
1048 
1049  JNoticeStream(logger) << "Elapsed real (wall) time [s] " << T_us / 1e6;
1050  JNoticeStream(logger) << "Elapsed user CPU time [s] " << (double) timer.usec_ucpu/ 1e6;
1051  JNoticeStream(logger) << "Elapsed system CPU time [s] " << (double) timer.usec_scpu/ 1e6;
1052  try {
1053  JNoticeStream(logger) << "Elapsed real time per time slice [ms] " << Qt.getMean() * 1.0e-3 << " +/- " << Qt.getDeviation() * 1.0e-3;
1054  }
1055  catch(const std::exception&) {}
1056  JNoticeStream(logger) << "Number of packets received/discarded " << number_of_packets_received << "/" << number_of_packets_discarded;
1057  JNoticeStream(logger) << "Number of events/MB sent " << numberOfEvents << "/" << numberOfBytes/1e6;
1058 
1059  if (number_of_packets_received > 0) {
1060  JNoticeStream(logger) << "Number of reads/packet " << (double) number_of_reads / (double) number_of_packets_received;
1061  }
1062 
1063  JNoticeStream(logger) << "Current queue depth/size " << timeslices.size() << "/" << queueSize;
1064  JNoticeStream(logger) << "Current number of frames per slice expected: " << frames_per_slice;
1065 
1066  JNoticeStream(logger) << "Number of timeslices processed total/incomplete " << numberOfTimeslicesProcessed << "/" << numberOfIncompleteTimeslicesProcessed;
1067 
1068  if (numberOfTimeslicesProcessed > 0) {
1069  JNoticeStream(logger) << "Real time per timeslice [ms] " << timer.usec_wall / 1000 / numberOfTimeslicesProcessed;
1070  JNoticeStream(logger) << "User CPU time per timeslice [ms] " << timer.usec_ucpu / 1000 / numberOfTimeslicesProcessed;
1071  JNoticeStream(logger) << "System CPU time per timeslice [ms] " << timer.usec_scpu / 1000 / numberOfTimeslicesProcessed;
1072  }
1073 
1074  const double processedSlicesTime_us = numberOfTimeslicesProcessed * getFrameTime() / 1000;
1075  const double processedDetectorTime_us = (maxFrameNumber - minFrameNumber) * getFrameTime() / 1000;
1076 
1077  if (processedSlicesTime_us > 0) {
1078  JNoticeStream(logger) << "Performance factor (inaccurate estimate): " << T_us / processedSlicesTime_us;
1079  }
1080  if (processedDetectorTime_us > 0) {
1081  JNoticeStream(logger) << "Performance factor whole detector (inaccurate estimate): " << T_us / processedDetectorTime_us;
1082  }
1083 
1084  timer.start();
1085  }

◆ actionTagged()

virtual void KM3NETDAQ::JDataFilter::actionTagged ( const JTag tag,
int  length,
const char *  buffer 
)
inlinevirtual

Tagged action to handle alerts.

Parameters
tagtag
lengthnumber of characters
buffermessage

Reimplemented from KM3NETDAQ::JDAQClient.

Definition at line 1095 of file JDataFilter.cc.

1096  {
1097  using namespace std;
1098 
1099  JDebugStream(logger) << "Received message <" << tag.toString() << "> \"" << string(buffer, length) << "\"";
1100 
1101  if (tag == RC_ALERT) {
1102 
1103  if (c_buffer.is_open()) {
1104 
1105  JNoticeStream(logger) << "Close circular buffer " << c_buffer;
1106 
1107  c_buffer.close();
1108  }
1109 
1110  if (c_buffer.is_enabled()) {
1111 
1113 
1114  if (c_buffer.is_open()) {
1115 
1116  JNoticeStream(logger) << "Created circular buffer " << c_buffer;
1117 
1119 
1120  } else {
1121 
1122  JErrorStream (logger) << "Failed to create circular buffer in directory <" << path << ">; disable functionality.";
1123 
1124  c_buffer.disable();
1125  }
1126  }
1127 
1128  } else {
1129 
1130  JWarningStream(logger) << "Tag <" << tag.toString() << "> not implemented";
1131  }
1132  }

◆ put()

template<class T >
bool KM3NETDAQ::JDataFilter::put ( const T &  object)
inlineprivate

Auxiliary method to send object to data server.

Parameters
objectobject to be sent
Returns
true if sent; else false

Definition at line 1151 of file JDataFilter.cc.

1152  {
1153  try {
1154 
1155  datawriter->put(object);
1156 
1157  numberOfBytes += getSizeof(object);
1158 
1159  return true;
1160  }
1161  catch(const JControlHostException& error) {
1162  JErrorStream(logger) << error;
1163  }
1164 
1165  return false;
1166  }

◆ enter() [1/2]

virtual bool KM3NETDAQ::JDAQClient::enter ( const JArgs args)
inlinevirtualinherited

Enter the state machine.

This overloaded method enter reproduces the constructor. All necessary input is parsed from the list of arguments. In case of an error, the state machine is not entered.

Parameters
argsarray of command line arguments
Returns
true if okay; else false

Definition at line 363 of file JDAQClient.hh.

364  {
365  using namespace std;
366 
367  string server;
368  string logger;
369  int level;
370  bool use_cout;
371 
372  try {
373 
374  parser['H'] = make_field(server) = "localhost";
375  parser['M'] = make_field(logger) = "localhost";
376  parser['d'] = make_field(level) = 0;
377  parser['c'] = make_field(use_cout);
378 
379  if (parser.read(args) != 0) {
380  return false;
381  }
382  }
383  catch(const exception &error) {
384  cerr << error.what() << endl;
385  return false;
386  }
387 
388  try {
389 
390  JLogger* out = NULL;
391 
392  if (use_cout)
393  out = new JStreamLogger(cout);
394  else
395  out = new JControlHostLogger(logger);
396 
397  this->logger = JMessageLogger(out, getName(), level);
398 
399  this->server.reset(new JControlHost(server));
400 
401  return enter();
402  }
403  catch(const JControlHostException& error) {
404  cerr << error << endl;
405  return false;
406  }
407  }

◆ enter() [2/2]

virtual bool KM3NETDAQ::JDAQClient::enter ( )
inlinevirtualinherited

Enter the state machine.

This method activates the subscription to JNET::JControlHost messages. In case of an error, the state machine is not entered.

Returns
true if okay; else false

Reimplemented in KM3NETDAQ::JDAQDriver.

Definition at line 418 of file JDAQClient.hh.

419  {
420  using namespace std;
421  using namespace JPP;
422 
423  if (server.is_valid() && logger.is_valid()) {
424 
425  const JSubscriptionList buffer = getSubscription(eventTable) + subscription;
426 
427  try {
428 
429  server->Subscribe(buffer);
430  server->SendMeAlways();
431  server->MyId(getFullName());
432 
433  JNoticeStream(logger) << "Nick name \"" << getFullName() << "\" subscription: " << buffer.toString();
434 
435  return CHSM::machine::enter();
436  }
437  catch(const JControlHostException& error) {
438  JErrorStream(logger) << error;
439  }
440 
441  } else {
442  cerr << "Message server or logger not properly initialised." << endl;
443  }
444 
445  return false;
446  }

◆ exit()

virtual bool KM3NETDAQ::JDAQClient::exit ( )
inlinevirtualinherited

Exit the state machine.

This method releases the various resources.

Returns
true if okay; else false

Definition at line 456 of file JDAQClient.hh.

457  {
458  try {
459  if (server.is_valid()) { server.reset(NULL); }
460  }
461  catch(const JControlHostException& error) {
462  }
463 
464  try {
465  if (logger.is_valid()) { logger.reset(NULL); }
466  }
467  catch(const JControlHostException& error) {
468  }
469 
470  return CHSM::machine::exit();
471  }

◆ isRunning()

bool KM3NETDAQ::JDAQClient::isRunning ( ) const
inlineinherited

Check if this client is in runnig state.

Returns
true if running; else false

Definition at line 479 of file JDAQClient.hh.

480  {
481  return Main.RunControl.Operational.Running.active();
482  }

◆ replaceEvent()

void KM3NETDAQ::JDAQClient::replaceEvent ( const JTag oldTag,
const JTag newTag,
JDAQEvent_t event 
)
inlineinherited

Replace tag of given event in event table.

Parameters
oldTagold tag
newTagnew tag
eventevent

Definition at line 492 of file JDAQClient.hh.

495  {
496  eventTable.replace(oldTag, newTag, event);
497  }

◆ findEvent()

JDAQEvent_t* KM3NETDAQ::JDAQClient::findEvent ( const JTag tag,
const std::string &  event_name 
)
inlineinherited

Find event in event table.

Parameters
tagtag
event_nameevent name
Returns
pointer to event or NULL

Definition at line 507 of file JDAQClient.hh.

508  {
509  JEventTable::const_iterator i = eventTable.find(tag, event_name);
510 
511  if (i != eventTable.end())
512  return i->second;
513  else
514  return NULL;
515  }

◆ addSubscription()

void KM3NETDAQ::JDAQClient::addSubscription ( const JSubscription subscription)
inlineinherited

Add custom subscription.

Parameters
subscriptionsubscription

Definition at line 523 of file JDAQClient.hh.

524  {
526  }

◆ addParameter() [1/2]

template<class T >
void KM3NETDAQ::JDAQClient::addParameter ( const char  option,
T &  parameter 
)
inlineinherited

Add parameter to parser used in method enter().

Parameters
optionoption
parameterparameter

Definition at line 536 of file JDAQClient.hh.

537  {
538  parser[option] = make_field(parameter);
539  }

◆ addParameter() [2/2]

template<class T >
void KM3NETDAQ::JDAQClient::addParameter ( const char  option,
T &  parameter,
const T &  value 
)
inlineinherited

Add parameter to parser used in method enter().

Parameters
optionoption
parameterparameter
valuedefault value

Definition at line 550 of file JDAQClient.hh.

551  {
552  parser[option] = make_field(parameter) = value;
553  }

◆ setSelect() [2/2]

void KM3NETDAQ::JDAQClient::setSelect ( )
inlineinherited

Set the file descriptor mask for the select call.

Definition at line 559 of file JDAQClient.hh.

560  {
561  select.reset();
562 
564 
566  }

◆ actionInput()

virtual void KM3NETDAQ::JDAQClient::actionInput ( int  length,
const char *  buffer 
)
inlinevirtualinherited

This method is called at ev_input.

Parameters
lengthlength of data
bufferpointer to data

Reimplemented from JDAQCHSM.

Reimplemented in KM3NETDAQ::DataQueue, and AcousticDataFilter.

Definition at line 606 of file JDAQClient.hh.

607  {
608  using namespace std;
609 
610  JProperties properties(JEquationParameters("=", ";", "", ""), 1);
611 
612  int level = this->logger.getLevel();
613 
614  properties["debug"] = level;
615 
616  properties.read(string(buffer, length));
617 
618  this->logger.setLevel(level);
619  }

◆ filter()

virtual bool KM3NETDAQ::JDAQClient::filter ( const JTag tag,
int  length,
const char *  buffer 
)
inlinevirtualinherited

Filter message.

The filter method can be overwritten so that a specific action is made before the corresponding message is processed by the state machine. The message is ignored if true is returned, else it is normally processed.

Parameters
tagtag
lengthnumber of characters
buffermessage
Returns
skip message or not

Definition at line 633 of file JDAQClient.hh.

634  {
635  return false;
636  }

◆ run() [1/3]

void KM3NETDAQ::JDAQClient::run ( )
inlineinherited

Run as run control client following command messages via JNET::JControlHost.

This method can be called once the state machine is entered. It returns when the state machine is exited. If the clock interval is non-zero, the method actionRunning() is repeatedly called when this client machine is in state Running. The file descriptor mask can be set to interrupt the timeout of the select call and clock method wait() in this calling sequence (see methods setSelect() and actionSelect()).

Definition at line 661 of file JDAQClient.hh.

662  {
663  using namespace std;
664 
665  while (active()) {
666 
667  try {
668 
669  setSelect();
670 
671  if (select(JTimeval(TIMEOUT_S,0)) > 0) {
672 
673  if (select.hasReaderMask(*server)) {
674  update();
675  }
676 
678 
679  } else {
680 
681  continue;
682  }
683 
684 
685  if (isRunning() && clock.getInterval() != 0LL) {
686 
687  long long int numberOfCalls = 0;
688 
689  clock.reset();
690 
691  do {
692 
693  ++numberOfCalls;
694 
695  setSelect();
696 
697  if (clock.wait(select.getReaderMask())) {
698 
699  if (select.hasReaderMask(*server)) {
700  update();
701  }
702 
704 
705  } else {
706 
707  try {
708  actionRunning();
709  }
710  catch(const exception& error) {
711  logger.error(error.what());
712  }
713  }
714 
715  } while (isRunning());
716 
717  if (numberOfCalls != 0) {
718  JNoticeStream(logger) << "Delay per call " << clock.getDelay() / numberOfCalls / 1000 << " ms";
719  }
720  }
721  }
722  catch(const exception& error) {
723  JErrorStream(logger) << "method run(): " << error.what();
724  }
725  }
726  }

◆ run() [2/3]

void KM3NETDAQ::JDAQClient::run ( const int  port)
inlineinherited

Run for ever.

This method can be used when the run control client is started before the run control (e.g. at boot time of the host processor). This method should be called before the state machine is entered. It launches a server which accepts a JNET::JControlHost connection from a designated application e.g. the JDAQClientStarter.cc program. The state machine is entered using the available data in the JNET::JControlHost message. After the state machine is exited, it accepts a new a JNET::JControlHost connection.

Parameters
portport number

Definition at line 741 of file JDAQClient.hh.

742  {
743  JControlHostServer local_server(port);
744 
745  for ( ; ; ) {
746 
747  JControlHost* ps = local_server.AcceptClient();
748 
749  ps->Connected();
750 
751  JNET::JPrefix prefix;
752 
753  ps->WaitHead(prefix);
754 
755  const int length = prefix.getSize();
756 
757  char* buffer = new char[length];
758 
759  ps->GetFullData(buffer, length);
760  ps->PutFullData(prefix.toString(), buffer, length);
761 
762  delete ps;
763 
764  enter(JArgs(std::string(buffer, length)));
765 
766  delete [] buffer;
767 
768  run();
769 
770  exit();
771  }
772  }

◆ run() [3/3]

void KM3NETDAQ::JDAQClient::run ( std::istream &  in)
inlineinherited

Run client with commands from input stream (e.g.

for debugging).

Example input format:

<tag> <event name>[#data];
<tag> <event name>[#data];
Parameters
ininput stream

Definition at line 786 of file JDAQClient.hh.

787  {
788  using namespace std;
789 
790  string tag;
791  string buffer;
792 
793  while (in >> tag && in >> skipws && getline(in, buffer, ';')) {
794  update(tag, buffer.length(), buffer.data());
795  }
796  }

◆ update() [1/2]

void KM3NETDAQ::JDAQClient::update ( )
inlineprivateinherited

Update state machine.

This method waits for a message from JNET::JControlHost server.

Definition at line 808 of file JDAQClient.hh.

809  {
810  JNET::JPrefix prefix;
811 
812  server->WaitHead(prefix);
813 
814  const int length = prefix.getSize();
815 
816  char* buffer = new char[length];
817 
818  server->GetFullData(buffer, length);
819 
820  update(prefix.getTag(), length, buffer);
821 
822  delete [] buffer;
823  }

◆ update() [2/2]

void KM3NETDAQ::JDAQClient::update ( const JTag tag,
int  length,
const char *  buffer 
)
inlineprivateinherited

Update state machine.

Parameters
tagtag
lengthnumber of characters
buffermessage

Definition at line 833 of file JDAQClient.hh.

834  {
835  using namespace std;
836  using namespace JPP;
837 
838  if (filter(tag, length, buffer)) {
839  return;
840  }
841 
842  if (getSubscription(eventTable)->count(JSubscriptionAny(tag)) == 0 &&
843  getSubscription(eventTable)->count(JSubscriptionAll(tag)) == 0) {
844 
845  actionTagged(tag, length, buffer);
846 
847  return;
848  }
849 
850 
851  string::size_type pos = 0;
852 
853  while (pos != (string::size_type) length && TOKEN_DELIMETER.find(*(buffer + pos)) == string::npos) {
854  ++pos;
855  }
856 
857  const JEvent_t event = JEvent_t::toValue(string(buffer, pos));
858 
859  setEventNumber(event.getNumber());
860 
861  while (pos != (string::size_type) length && TOKEN_DELIMETER.find(*(buffer + pos)) != string::npos) {
862  ++pos;
863  }
864 
865 
866  JEventTable::const_iterator i = eventTable.find(tag, event.getName());
867 
868  if (i != eventTable.end()) {
869 
870  const CHSM::state* const s0 = getState();
871 
872  if (!i->second->active()) {
873 
874  JWarningStream(logger) << "Event " << i->second->name() << " not active (" << (s0 != NULL ? s0->name() : "") << ")";
875 
876  if (server.is_valid() && s0 != NULL) {
877  server->PutFullString(RC_FAIL, getMessage(*s0, *i->second));
878  }
879  }
880 
881  // redirect all I/O
882 
883  {
885  JErrorStream error(logger);
886 
887  JRedirectStream redirect[] = { JRedirectStream(cin, JLANG::null),
888  JRedirectStream(cout, debug),
889  JRedirectStream(cerr, error) };
890 
891  if (redirect[0] &&
892  redirect[1] &&
893  redirect[2]) {
894 
895  (*(i->second))(length - pos, buffer + pos);
896  }
897  }
898 
899  const CHSM::state* const s1 = getState();
900 
901  JStatusStream(logger) << "Transition "
902  << (s0 != NULL ? s0->name() : "")
903  << "->(" << i->second->name() << ")->"
904  << (s1 != NULL ? s1->name() : "");
905  } else {
906 
907  JErrorStream(logger) << "Unknown key <" << tag << "," << event.getName() << ">";
908  }
909  }

◆ configure()

void KM3NETDAQ::JDAQClient::configure ( )
inlineprivateinherited

Configure client.

This method is used to setup the event table.

Definition at line 916 of file JDAQClient.hh.

917  {
918  }

◆ getMessage()

std::string KM3NETDAQ::JDAQClient::getMessage ( const CHSM::state &  state,
const CHSM::event &  event 
) const
inlineprivateinherited

Get event message.

Parameters
statestate
eventevent
Returns
message

Definition at line 928 of file JDAQClient.hh.

929  {
930  std::ostringstream os;
931 
932  os << getFullName()
933  << getTokenDelimeter()
934  << JEvent_t(event.name(), event_number)
935  << getTokenDelimeter()
936  << getStateName(state.name());
937 
938  return os.str();
939  }

◆ enterState()

virtual void KM3NETDAQ::JDAQClient::enterState ( const CHSM::state &  state,
const CHSM::event &  event 
)
inlineprivatevirtualinherited

Action when entering state.

This method provides for the hand shaking with the run control program.

Parameters
stateentered state
eventevent that triggered transition

Implements JDAQCHSM.

Reimplemented in KM3NETDAQ::JDAQDriver.

Definition at line 949 of file JDAQClient.hh.

950  {
951  if (server.is_valid()) {
952  server->PutFullString(RC_REPLY, getMessage(state, event));
953  }
954  }

◆ actionCheck()

virtual void KM3NETDAQ::JDAQClient::actionCheck ( int  length,
const char *  buffer 
)
inlineprivatevirtualinherited

This method is called at ev_check and reports a system check by mimicing an enter state action.

Parameters
lengthnumber of characters
buffermessage

Reimplemented from JDAQCHSM.

Definition at line 963 of file JDAQClient.hh.

964  {
965  if (Main.RunControl.Error.active()) {
966 
968 
969  } else {
970 
971  for (CHSM::parent::iterator state = Main.RunControl.Operational.begin(); state != Main.RunControl.Operational.end(); ++state) {
972 
973  if (state->active()) {
974 
975  // mimic enter state
976 
977  enterState(*state, ev_check);
978  }
979  }
980  }
981  }

◆ execute()

void KM3NETDAQ::JDAQClient::execute ( action  __action,
const CHSM::event &  __event 
)
inlineprivatevirtualinherited

The method to execute the action.

Parameters
__actionpointer to action method
__eventevent that triggered the action

Implements JDAQCHSM.

Definition at line 990 of file JDAQClient.hh.

991  {
992  try {
993 
994  const JDAQStateMachine::ev_daq_event& event = dynamic_cast<const JDAQStateMachine::ev_daq_event&>(__event);
995 
996  (this->*__action)(event->length, event->buffer);
997  }
998  catch(const std::exception& error) {
999  JErrorStream(logger) << "Error at event " << __event.name() << " \"" << error.what() << "\"; trigger ev_error.";
1000  ev_error();
1001  }
1002  }

◆ getState()

const CHSM::state* KM3NETDAQ::JDAQClient::getState ( ) const
inlineprivateinherited

Get current state.

Returns
state

Definition at line 1010 of file JDAQClient.hh.

1011  {
1012  for (CHSM::parent::const_iterator state = Main.RunControl.Operational.begin(); state != Main.RunControl.Operational.end(); ++state) {
1013  if (state->active()) {
1014  return &(*state);
1015  }
1016  }
1017 
1018  if (Main.RunControl.Error.active()) {
1019  return &Main.RunControl.Error;
1020  }
1021 
1022  return NULL;
1023  }

◆ A1()

void JDAQStateMachine::A1 ( CHSM_ns_alias::event const &  event)
inherited

Definition at line 344 of file JDAQCHSM.cc.

344 { actionError(); }

◆ A2()

void JDAQStateMachine::A2 ( CHSM_ns_alias::event const &  event)
inherited

Definition at line 346 of file JDAQCHSM.cc.

◆ A3()

void JDAQStateMachine::A3 ( CHSM_ns_alias::event const &  event)
inherited

Definition at line 348 of file JDAQCHSM.cc.

348 { JDAQCHSM::exit(); }

◆ A4()

void JDAQStateMachine::A4 ( CHSM_ns_alias::event const &  event)
inherited

Definition at line 350 of file JDAQCHSM.cc.

◆ A5()

void JDAQStateMachine::A5 ( CHSM_ns_alias::event const &  event)
inherited

Definition at line 352 of file JDAQCHSM.cc.

◆ A6()

void JDAQStateMachine::A6 ( CHSM_ns_alias::event const &  event)
inherited

Definition at line 354 of file JDAQCHSM.cc.

354  {
355 
356  std::istringstream is(std::string(ev_start->buffer, ev_start->length));
357 
358  is >> run_number >> detector_id;
359 
361 
362  }

◆ A7()

void JDAQStateMachine::A7 ( CHSM_ns_alias::event const &  event)
inherited

Definition at line 364 of file JDAQCHSM.cc.

◆ A8()

void JDAQStateMachine::A8 ( CHSM_ns_alias::event const &  event)
inherited

Definition at line 366 of file JDAQCHSM.cc.

◆ A9()

void JDAQStateMachine::A9 ( CHSM_ns_alias::event const &  event)
inherited

Definition at line 368 of file JDAQCHSM.cc.

◆ A10()

void JDAQStateMachine::A10 ( CHSM_ns_alias::event const &  event)
inherited

Definition at line 370 of file JDAQCHSM.cc.

◆ A11()

void JDAQStateMachine::A11 ( CHSM_ns_alias::event const &  event)
inherited

Definition at line 372 of file JDAQCHSM.cc.

◆ A12()

void JDAQStateMachine::A12 ( CHSM_ns_alias::event const &  event)
inherited

Definition at line 374 of file JDAQCHSM.cc.

374 { JDAQCHSM::exit(); }

◆ A13()

void JDAQStateMachine::A13 ( CHSM_ns_alias::event const &  event)
inherited

Definition at line 376 of file JDAQCHSM.cc.

◆ A14()

void JDAQStateMachine::A14 ( CHSM_ns_alias::event const &  event)
inherited

Definition at line 378 of file JDAQCHSM.cc.

◆ EAM4root()

void JDAQStateMachine::EAM4root ( CHSM_ns_alias::state const &  chsm_state_,
CHSM_ns_alias::event const &  event 
)
inherited

Definition at line 337 of file JDAQCHSM.cc.

337  {
338 #line 164 "JDAQCHSM.chsm"
339  CHSM_ns_alias::cluster const &state = (CHSM_ns_alias::cluster const&)chsm_state_; actionEnter(); }

◆ XAM4root()

void JDAQStateMachine::XAM4root ( CHSM_ns_alias::state const &  chsm_state_,
CHSM_ns_alias::event const &  event 
)
inherited

Definition at line 340 of file JDAQCHSM.cc.

340  {
341 #line 165 "JDAQCHSM.chsm"
342  CHSM_ns_alias::cluster const &state = (CHSM_ns_alias::cluster const&)chsm_state_; actionExit(); }

◆ getName()

const std::string& JDAQCHSM::getName ( ) const
inlineinherited

Get name of state machine.

Returns
name

Definition at line 89 of file JDAQCHSM.hh.

90  {
91  return name;
92  }

◆ getDetectorID()

int JDAQCHSM::getDetectorID ( ) const
inlineinherited

Get detector identifier.

Returns
detector identifier.

Definition at line 100 of file JDAQCHSM.hh.

101  {
102  return detector_id;
103  }

◆ getRunNumber()

int JDAQCHSM::getRunNumber ( ) const
inlineinherited

Get run number.

Returns
run number

Definition at line 111 of file JDAQCHSM.hh.

112  {
113  return run_number;
114  }

◆ actionError()

virtual void JDAQCHSM::actionError ( )
inlinevirtualinherited

Definition at line 135 of file JDAQCHSM.hh.

135 {}

◆ actionRecover()

virtual void JDAQCHSM::actionRecover ( int  ,
const char *   
)
inlinevirtualinherited

Definition at line 136 of file JDAQCHSM.hh.

136 {}

◆ getHostname()

const std::string& KM3NETDAQ::JDAQClient_t::getHostname ( ) const
inlineinherited

Get hostname.

Returns
host name

Definition at line 108 of file JDAQClient.hh.

109  {
110  return hostname;
111  }

◆ getFullName()

const std::string& KM3NETDAQ::JDAQClient_t::getFullName ( ) const
inlineinherited

Get full name of this run control client.

Returns
full name

Definition at line 119 of file JDAQClient.hh.

120  {
121  return fullname;
122  }

◆ getUniqueTag()

const JTag& KM3NETDAQ::JDAQClient_t::getUniqueTag ( ) const
inlineinherited

Get unique tag of this run control client.

Returns
unique tag

Definition at line 130 of file JDAQClient.hh.

131  {
132  return unique_tag;
133  }

◆ getClockDelay()

long long int KM3NETDAQ::JDAQClient_t::getClockDelay ( ) const
inlineinherited

Get total delay time.

Returns
delay time [us]

Definition at line 141 of file JDAQClient.hh.

142  {
143  return clock.getDelay();
144  }

◆ getClockInterval()

long long int KM3NETDAQ::JDAQClient_t::getClockInterval ( ) const
inlineinherited

Get interval time.

Returns
interval time [us]

Definition at line 153 of file JDAQClient.hh.

154  {
155  return clock.getInterval();
156  }

◆ setClockInterval()

void KM3NETDAQ::JDAQClient_t::setClockInterval ( const long long int  interval_us)
inlineinherited

Set interval time.

Parameters
interval_usinterval time [us]

Definition at line 164 of file JDAQClient.hh.

165  {
166  clock.setInterval(interval_us);
167  }

◆ resetClock()

void KM3NETDAQ::JDAQClient_t::resetClock ( )
inlineinherited

Reset clock.

Definition at line 173 of file JDAQClient.hh.

174  {
175  clock.reset();
176  }

◆ getEventNumber()

int KM3NETDAQ::JDAQClient_t::getEventNumber ( ) const
inlineinherited

Get last event number.

Returns
event number

Definition at line 184 of file JDAQClient.hh.

185  {
186  return event_number;
187  }

◆ setEventNumber()

void KM3NETDAQ::JDAQClient_t::setEventNumber ( const int  event_number)
inlineinherited

Set last event number.

Parameters
event_numberevent number

Definition at line 195 of file JDAQClient.hh.

196  {
197  this->event_number = event_number;
198  }

Member Data Documentation

◆ meta

JMeta KM3NETDAQ::JDataFilter::meta

meta data

Definition at line 1134 of file JDataFilter.cc.

◆ MAXIMUM_FILE_NUMBER

const int KM3NETDAQ::JDataFilter::MAXIMUM_FILE_NUMBER = 100
static

maximum file number for overwrite protection.

Definition at line 1136 of file JDataFilter.cc.

◆ datawriter

JSinglePointer<JControlHost_t> KM3NETDAQ::JDataFilter::datawriter
private

controlhost of data server (to which data writer should be connected)

Definition at line 1141 of file JDataFilter.cc.

◆ hostname

std::string KM3NETDAQ::JDataFilter::hostname
private

host name of data server

Definition at line 1142 of file JDataFilter.cc.

◆ port

int KM3NETDAQ::JDataFilter::port
private

server socket port

Definition at line 1169 of file JDataFilter.cc.

◆ backlog

int KM3NETDAQ::JDataFilter::backlog
private

Definition at line 1170 of file JDataFilter.cc.

◆ buffer_size

int KM3NETDAQ::JDataFilter::buffer_size
private

Definition at line 1171 of file JDataFilter.cc.

◆ serversocket

JSinglePointer<JServerSocket> KM3NETDAQ::JDataFilter::serversocket
private

server for data queue connections

Definition at line 1173 of file JDataFilter.cc.

◆ channelList

JChannelList_t KM3NETDAQ::JDataFilter::channelList
private

connections to data queue

Definition at line 1174 of file JDataFilter.cc.

◆ timer

JTimer KM3NETDAQ::JDataFilter::timer
private

Definition at line 1176 of file JDataFilter.cc.

◆ Qt

JQuantile KM3NETDAQ::JDataFilter::Qt
private

Definition at line 1177 of file JDataFilter.cc.

◆ timeslices

std::list<JDAQTimesliceL0> KM3NETDAQ::JDataFilter::timeslices
private

buffer with pending time slice data

Definition at line 1179 of file JDataFilter.cc.

◆ current_slice_index

int KM3NETDAQ::JDataFilter::current_slice_index
private

Definition at line 1180 of file JDataFilter.cc.

◆ frames_per_slice

unsigned int KM3NETDAQ::JDataFilter::frames_per_slice
private

Definition at line 1181 of file JDataFilter.cc.

◆ maximum_frames_per_slice

unsigned int KM3NETDAQ::JDataFilter::maximum_frames_per_slice
private

Definition at line 1182 of file JDataFilter.cc.

◆ parameters

JTriggerParameters KM3NETDAQ::JDataFilter::parameters
private

Definition at line 1186 of file JDataFilter.cc.

◆ timesliceRouter

JSinglePointer<JTimesliceRouter> KM3NETDAQ::JDataFilter::timesliceRouter
private

Definition at line 1187 of file JDataFilter.cc.

◆ detector

JDetector KM3NETDAQ::JDataFilter::detector
private

Definition at line 1189 of file JDataFilter.cc.

◆ moduleRouter

JSinglePointer<JModuleRouter> KM3NETDAQ::JDataFilter::moduleRouter
private

Definition at line 1190 of file JDataFilter.cc.

◆ buildL1

JSinglePointer<JBuildL1_t> KM3NETDAQ::JDataFilter::buildL1
private

Definition at line 1191 of file JDataFilter.cc.

◆ buildL2

JSinglePointer<JBuildL2_t> KM3NETDAQ::JDataFilter::buildL2
private

Definition at line 1192 of file JDataFilter.cc.

◆ buildSN

JSinglePointer<JBuildL2_t> KM3NETDAQ::JDataFilter::buildSN
private

Definition at line 1193 of file JDataFilter.cc.

◆ trigger3DMuon

JSinglePointer<JTrigger3DMuon> KM3NETDAQ::JDataFilter::trigger3DMuon
private

Definition at line 1195 of file JDataFilter.cc.

◆ trigger3DShower

JSinglePointer<JTrigger3DShower> KM3NETDAQ::JDataFilter::trigger3DShower
private

Definition at line 1196 of file JDataFilter.cc.

◆ triggerMXShower

JSinglePointer<JTriggerMXShower> KM3NETDAQ::JDataFilter::triggerMXShower
private

Definition at line 1197 of file JDataFilter.cc.

◆ logErrorRun

JMessageScheduler KM3NETDAQ::JDataFilter::logErrorRun
private

Definition at line 1199 of file JDataFilter.cc.

◆ logErrorDetector

JMessageScheduler KM3NETDAQ::JDataFilter::logErrorDetector
private

Definition at line 1200 of file JDataFilter.cc.

◆ logErrorIndex

JMessageScheduler KM3NETDAQ::JDataFilter::logErrorIndex
private

Definition at line 1201 of file JDataFilter.cc.

◆ logErrorIncomplete

JMessageScheduler KM3NETDAQ::JDataFilter::logErrorIncomplete
private

Definition at line 1202 of file JDataFilter.cc.

◆ dataFilters

std::vector<JDAQProcess> KM3NETDAQ::JDataFilter::dataFilters
private

Definition at line 1206 of file JDataFilter.cc.

◆ dataQueues

std::vector<JDAQProcess> KM3NETDAQ::JDataFilter::dataQueues
private

Definition at line 1207 of file JDataFilter.cc.

◆ totalCPURAM

long long int KM3NETDAQ::JDataFilter::totalCPURAM
private

Definition at line 1211 of file JDataFilter.cc.

◆ maxQueueDepth

unsigned int KM3NETDAQ::JDataFilter::maxQueueDepth
private

Definition at line 1212 of file JDataFilter.cc.

◆ maxQueueSize

long long int KM3NETDAQ::JDataFilter::maxQueueSize
private

Definition at line 1213 of file JDataFilter.cc.

◆ queueSize

long long int KM3NETDAQ::JDataFilter::queueSize
private

Definition at line 1214 of file JDataFilter.cc.

◆ reporting

bool KM3NETDAQ::JDataFilter::reporting
private

Definition at line 1218 of file JDataFilter.cc.

◆ numberOfEvents

long long int KM3NETDAQ::JDataFilter::numberOfEvents
private

Definition at line 1220 of file JDataFilter.cc.

◆ numberOfBytes

long long int KM3NETDAQ::JDataFilter::numberOfBytes
private

Definition at line 1221 of file JDataFilter.cc.

◆ numberOfTimeslicesProcessed

long long int KM3NETDAQ::JDataFilter::numberOfTimeslicesProcessed
private

Definition at line 1222 of file JDataFilter.cc.

◆ numberOfIncompleteTimeslicesProcessed

long long int KM3NETDAQ::JDataFilter::numberOfIncompleteTimeslicesProcessed
private

Definition at line 1223 of file JDataFilter.cc.

◆ minFrameNumber

int KM3NETDAQ::JDataFilter::minFrameNumber
private

Definition at line 1225 of file JDataFilter.cc.

◆ maxFrameNumber

int KM3NETDAQ::JDataFilter::maxFrameNumber
private

Definition at line 1226 of file JDataFilter.cc.

◆ number_of_packets_received

long long int KM3NETDAQ::JDataFilter::number_of_packets_received
private

Definition at line 1230 of file JDataFilter.cc.

◆ number_of_packets_discarded

long long int KM3NETDAQ::JDataFilter::number_of_packets_discarded
private

Definition at line 1231 of file JDataFilter.cc.

◆ number_of_reads

long long int KM3NETDAQ::JDataFilter::number_of_reads
private

Definition at line 1232 of file JDataFilter.cc.

◆ number_of_bytes_received

long long int KM3NETDAQ::JDataFilter::number_of_bytes_received
private

Definition at line 1233 of file JDataFilter.cc.

◆ c_buffer

JCircularBuffer_t KM3NETDAQ::JDataFilter::c_buffer
private

Definition at line 1237 of file JDataFilter.cc.

◆ path

std::string KM3NETDAQ::JDataFilter::path
private

directory for writing circular buffer

Definition at line 1238 of file JDataFilter.cc.

◆ server

JSharedPointer<JControlHost> KM3NETDAQ::JDAQClient::server
protectedinherited

message server

Definition at line 800 of file JDAQClient.hh.

◆ logger

JMessageLogger KM3NETDAQ::JDAQClient::logger
protectedinherited

message logger

Definition at line 801 of file JDAQClient.hh.

◆ select

JSelectReader KM3NETDAQ::JDAQClient::select
privateinherited

select call

Definition at line 1026 of file JDAQClient.hh.

◆ parser

JParser KM3NETDAQ::JDAQClient::parser
privateinherited

parser method enter()

Definition at line 1027 of file JDAQClient.hh.

◆ subscription

JSubscriptionList KM3NETDAQ::JDAQClient::subscription
privateinherited

custom subscription

Definition at line 1028 of file JDAQClient.hh.

◆ root

JDAQStateMachine::state_root JDAQStateMachine::root
inherited

◆ Main

JDAQStateMachine::state_Main JDAQStateMachine::Main
inherited

◆ ev_daq_transitions

const int JDAQStateMachine::ev_daq_transitions
staticprivateinherited
Initial value:
= {
-1
}

Definition at line 216 of file JDAQCHSM.hh.

◆ ev_daq

JDAQStateMachine::ev_daq_event JDAQStateMachine::ev_daq
inherited

◆ ev_daq_param_block

char JDAQStateMachine::ev_daq_param_block[sizeof(ev_daq_event::param_block)]
inherited

Definition at line 238 of file JDAQCHSM.hh.

◆ ev_init_transitions

const int JDAQStateMachine::ev_init_transitions
staticprivateinherited
Initial value:
= {
1, -1
}

Definition at line 240 of file JDAQCHSM.hh.

◆ ev_init

JDAQStateMachine::ev_init_event JDAQStateMachine::ev_init
inherited

◆ ev_init_param_block

char JDAQStateMachine::ev_init_param_block[sizeof(ev_init_event::param_block)]
inherited

Definition at line 258 of file JDAQCHSM.hh.

◆ ev_configure_transitions

const int JDAQStateMachine::ev_configure_transitions
staticprivateinherited
Initial value:
= {
3, -1
}

Definition at line 260 of file JDAQCHSM.hh.

◆ ev_configure

JDAQStateMachine::ev_configure_event JDAQStateMachine::ev_configure
inherited

◆ ev_configure_param_block

char JDAQStateMachine::ev_configure_param_block[sizeof(ev_configure_event::param_block)]
inherited

Definition at line 278 of file JDAQCHSM.hh.

◆ ev_start_transitions

const int JDAQStateMachine::ev_start_transitions
staticprivateinherited
Initial value:
= {
5, -1
}

Definition at line 280 of file JDAQCHSM.hh.

◆ ev_start

JDAQStateMachine::ev_start_event JDAQStateMachine::ev_start
inherited

◆ ev_start_param_block

char JDAQStateMachine::ev_start_param_block[sizeof(ev_start_event::param_block)]
inherited

Definition at line 298 of file JDAQCHSM.hh.

◆ ev_pause_transitions

const int JDAQStateMachine::ev_pause_transitions
staticprivateinherited
Initial value:
= {
9, -1
}

Definition at line 300 of file JDAQCHSM.hh.

◆ ev_pause

JDAQStateMachine::ev_pause_event JDAQStateMachine::ev_pause
inherited

◆ ev_pause_param_block

char JDAQStateMachine::ev_pause_param_block[sizeof(ev_pause_event::param_block)]
inherited

Definition at line 318 of file JDAQCHSM.hh.

◆ ev_continue_transitions

const int JDAQStateMachine::ev_continue_transitions
staticprivateinherited
Initial value:
= {
7, -1
}

Definition at line 320 of file JDAQCHSM.hh.

◆ ev_continue

JDAQStateMachine::ev_continue_event JDAQStateMachine::ev_continue
inherited

◆ ev_continue_param_block

char JDAQStateMachine::ev_continue_param_block[sizeof(ev_continue_event::param_block)]
inherited

Definition at line 338 of file JDAQCHSM.hh.

◆ ev_stop_transitions

const int JDAQStateMachine::ev_stop_transitions
staticprivateinherited
Initial value:
= {
8, -1
}

Definition at line 340 of file JDAQCHSM.hh.

◆ ev_stop

JDAQStateMachine::ev_stop_event JDAQStateMachine::ev_stop
inherited

◆ ev_stop_param_block

char JDAQStateMachine::ev_stop_param_block[sizeof(ev_stop_event::param_block)]
inherited

Definition at line 358 of file JDAQCHSM.hh.

◆ ev_reset_transitions

const int JDAQStateMachine::ev_reset_transitions
staticprivateinherited
Initial value:
= {
4, -1
}

Definition at line 360 of file JDAQCHSM.hh.

◆ ev_reset

JDAQStateMachine::ev_reset_event JDAQStateMachine::ev_reset
inherited

◆ ev_reset_param_block

char JDAQStateMachine::ev_reset_param_block[sizeof(ev_reset_event::param_block)]
inherited

Definition at line 378 of file JDAQCHSM.hh.

◆ ev_quit_transitions

const int JDAQStateMachine::ev_quit_transitions
staticprivateinherited
Initial value:
= {
6, -1
}

Definition at line 380 of file JDAQCHSM.hh.

◆ ev_quit

JDAQStateMachine::ev_quit_event JDAQStateMachine::ev_quit
inherited

◆ ev_quit_param_block

char JDAQStateMachine::ev_quit_param_block[sizeof(ev_quit_event::param_block)]
inherited

Definition at line 398 of file JDAQCHSM.hh.

◆ ev_off_transitions

const int JDAQStateMachine::ev_off_transitions
staticprivateinherited
Initial value:
= {
2, 11, -1
}

Definition at line 400 of file JDAQCHSM.hh.

◆ ev_off

JDAQStateMachine::ev_off_event JDAQStateMachine::ev_off
inherited

◆ ev_off_param_block

char JDAQStateMachine::ev_off_param_block[sizeof(ev_off_event::param_block)]
inherited

Definition at line 418 of file JDAQCHSM.hh.

◆ ev_check_transitions

const int JDAQStateMachine::ev_check_transitions
staticprivateinherited
Initial value:
= {
12, -1
}

Definition at line 420 of file JDAQCHSM.hh.

◆ ev_check

JDAQStateMachine::ev_check_event JDAQStateMachine::ev_check
inherited

◆ ev_check_param_block

char JDAQStateMachine::ev_check_param_block[sizeof(ev_check_event::param_block)]
inherited

Definition at line 438 of file JDAQCHSM.hh.

◆ ev_input_transitions

const int JDAQStateMachine::ev_input_transitions
staticprivateinherited
Initial value:
= {
13, -1
}

Definition at line 440 of file JDAQCHSM.hh.

◆ ev_input

JDAQStateMachine::ev_input_event JDAQStateMachine::ev_input
inherited

◆ ev_input_param_block

char JDAQStateMachine::ev_input_param_block[sizeof(ev_input_event::param_block)]
inherited

Definition at line 458 of file JDAQCHSM.hh.

◆ ev_recover_transitions

const int JDAQStateMachine::ev_recover_transitions
staticprivateinherited
Initial value:
= {
10, -1
}

Definition at line 460 of file JDAQCHSM.hh.

◆ ev_recover

JDAQStateMachine::ev_recover_event JDAQStateMachine::ev_recover
inherited

◆ ev_recover_param_block

char JDAQStateMachine::ev_recover_param_block[sizeof(ev_recover_event::param_block)]
inherited

Definition at line 478 of file JDAQCHSM.hh.

◆ ev_error_transitions

const int JDAQStateMachine::ev_error_transitions
staticprivateinherited
Initial value:
= {
0, -1
}

Definition at line 480 of file JDAQCHSM.hh.

◆ ev_error

JDAQStateMachine::ev_error_event JDAQStateMachine::ev_error
inherited

◆ ev_error_param_block

char JDAQStateMachine::ev_error_param_block[sizeof(ev_error_event::param_block)]
inherited

Definition at line 495 of file JDAQCHSM.hh.

◆ state_

CHSM_ns_alias::state* JDAQStateMachine::state_[11]
privateinherited

Definition at line 522 of file JDAQCHSM.hh.

◆ transition_

const CHSM_ns_alias::transition JDAQStateMachine::transition_
staticprivateinherited
Initial value:
= {
{ 0, 2, 8, 0, (CHSM_ns_alias::transition::action)&JDAQStateMachine::A1 },
{ 0, 3, 4, 0, (CHSM_ns_alias::transition::action)&JDAQStateMachine::A2 },
{ 0, 3, -1, 0, (CHSM_ns_alias::transition::action)&JDAQStateMachine::A3 },
{ 0, 4, 5, 0, (CHSM_ns_alias::transition::action)&JDAQStateMachine::A4 },
{ 0, 4, 3, 0, (CHSM_ns_alias::transition::action)&JDAQStateMachine::A5 },
{ 0, 5, 7, 0, (CHSM_ns_alias::transition::action)&JDAQStateMachine::A6 },
{ 0, 5, 4, 0, (CHSM_ns_alias::transition::action)&JDAQStateMachine::A7 },
{ 0, 6, 7, 0, (CHSM_ns_alias::transition::action)&JDAQStateMachine::A8 },
{ 0, 6, 4, 0, (CHSM_ns_alias::transition::action)&JDAQStateMachine::A9 },
{ 0, 7, 6, 0, (CHSM_ns_alias::transition::action)&JDAQStateMachine::A10 },
{ 0, 8, 2, 0, (CHSM_ns_alias::transition::action)&JDAQStateMachine::A11 },
{ 0, 8, -1, 0, (CHSM_ns_alias::transition::action)&JDAQStateMachine::A12 },
{ 0, 9, -1, 0, (CHSM_ns_alias::transition::action)&JDAQStateMachine::A13 },
{ 0, 9, -1, 0, (CHSM_ns_alias::transition::action)&JDAQStateMachine::A14 },
0
}

Definition at line 523 of file JDAQCHSM.hh.

◆ taken_

const CHSM_ns_alias::event* JDAQStateMachine::taken_[14]
privateinherited

Definition at line 524 of file JDAQCHSM.hh.

◆ target_

CHSM_ns_alias::state* JDAQStateMachine::target_[14]
privateinherited

Definition at line 525 of file JDAQCHSM.hh.

◆ name

std::string JDAQCHSM::name
protectedinherited

Definition at line 165 of file JDAQCHSM.hh.

◆ detector_id

int JDAQCHSM::detector_id
protectedinherited

Definition at line 166 of file JDAQCHSM.hh.

◆ run_number

int JDAQCHSM::run_number
protectedinherited

Definition at line 167 of file JDAQCHSM.hh.

◆ TIMEOUT_S

const int KM3NETDAQ::JDAQClient_t::TIMEOUT_S = 1
staticinherited

time out of update [s]

Definition at line 61 of file JDAQClient.hh.

◆ eventTable

JEventTable KM3NETDAQ::JDAQClient_t::eventTable
protectedinherited

event table

Definition at line 202 of file JDAQClient.hh.

◆ fullname

std::string KM3NETDAQ::JDAQClient_t::fullname
protectedinherited

Definition at line 204 of file JDAQClient.hh.

◆ unique_tag

JTag KM3NETDAQ::JDAQClient_t::unique_tag
protectedinherited

Definition at line 205 of file JDAQClient.hh.

◆ clock

JTimekeeper KM3NETDAQ::JDAQClient_t::clock
protectedinherited

central clock

Definition at line 206 of file JDAQClient.hh.

◆ event_number

int KM3NETDAQ::JDAQClient_t::event_number
protectedinherited

number of last event

Definition at line 207 of file JDAQClient.hh.


The documentation for this class was generated from the following file:
JDAQCHSM::actionStart
virtual void actionStart(int, const char *)
Definition: JDAQCHSM.hh:125
JLOGGER::JDebugStream
Level specific message streamers.
Definition: JMessageStream.hh:113
JLOGGER::JLogger
Interface for logging messages.
Definition: JLogger.hh:22
KM3NETDAQ::JDataFilter::hostname
std::string hostname
host name of data server
Definition: JDataFilter.cc:1142
JLANG::JAbstractFile::getFileDescriptor
int getFileDescriptor() const
Get file descriptor.
Definition: JAbstractFile.hh:75
JLOGGER::JNoticeStream
Definition: JMessageStream.hh:116
KM3NETDAQ::JDataFilter::maxQueueSize
long long int maxQueueSize
Definition: JDataFilter.cc:1213
JLOGGER::JMessageLogger
Message logger.
Definition: JMessageLogger.hh:53
KM3NETDAQ::RC_FAIL
static const JNET::JTag RC_FAIL
Definition: JDAQTags.hh:46
JEEP::JTimer::usec_scpu
unsigned long long usec_scpu
Definition: JTimer.hh:226
KM3NETDAQ::JDataFilter::path
std::string path
directory for writing circular buffer
Definition: JDataFilter.cc:1238
KM3NETDAQ::JDataFilter::parameters
JTriggerParameters parameters
Definition: JDataFilter.cc:1186
KM3NETDAQ::TOKEN_DELIMETER
static const std::string TOKEN_DELIMETER
Definition: JDAQTags.hh:36
KM3NETDAQ::JDataFilter::channelList
JChannelList_t channelList
connections to data queue
Definition: JDataFilter.cc:1174
KM3NETDAQ::JDataFilter::number_of_reads
long long int number_of_reads
Definition: JDataFilter.cc:1232
JTRIGGER::JTriggerParameters::numberOfBins
int numberOfBins
number of bins for lookup table of timeslice
Definition: JTriggerParameters.hh:324
KM3NETDAQ::JDAQClient::setSelect
void setSelect()
Set the file descriptor mask for the select call.
Definition: JDAQClient.hh:559
JDAQCHSM::actionEnter
virtual void actionEnter()
Interface methods for actions corresponding to state transitions.
Definition: JDAQCHSM.hh:120
JTRIGGER::JPrescaler::prescale
long long int prescale
Definition: JPrescaler.hh:96
KM3NETDAQ::JDataFilter::maximum_frames_per_slice
unsigned int maximum_frames_per_slice
Definition: JDataFilter.cc:1182
KM3NETDAQ::JDAQClient::getState
const CHSM::state * getState() const
Get current state.
Definition: JDAQClient.hh:1010
KM3NETDAQ::JDataFilter::JCircularBuffer_t::sizeL2
Long64_t sizeL2
Number of L2 time slices.
Definition: JDataFilter.cc:257
JEEP::JTimer::reset
void reset()
Reset timer.
Definition: JTimer.hh:76
JDAQCHSM::actionContinue
virtual void actionContinue(int, const char *)
Definition: JDAQCHSM.hh:127
JDETECTOR::getMaximalDistance
double getMaximalDistance(const JDetector &detector)
Get maximal distance between modules in detector.
Definition: JDetectorToolkit.hh:78
JLANG::JPointer::get
virtual JClass_t * get() const
Get pointer.
Definition: JPointer.hh:64
JEEP::JArgs
Data structure to store command line arguments.
Definition: JArgs.hh:24
KM3NETDAQ::JDataFilter::JSuperFrame1D_t
JSuperFrame1D< hit_type > JSuperFrame1D_t
Definition: JDataFilter.cc:153
JDAQCHSM::execute
virtual void execute(action __action, const CHSM::event &__event)=0
The method to execute the action.
KM3NETDAQ::JDataFilter::JCircularBuffer_t::open
void open(const std::string &path, const JTag &tag)
Open file.
Definition: JDataFilter.cc:181
KM3NETDAQ::JDataFilter::numberOfBytes
long long int numberOfBytes
Definition: JDataFilter.cc:1221
JDAQStateMachine::A5
void A5(CHSM_ns_alias::event const &)
Definition: JDAQCHSM.cc:352
JNET::JServerSocket
TCP Server socket.
Definition: JServerSocket.hh:27
JAANET::getTimeRange
JTimeRange getTimeRange(const Evt &event)
Get time range (i.e.
Definition: JAAnetToolkit.hh:134
KM3NETDAQ::JDAQClient::enterState
virtual void enterState(const CHSM::state &state, const CHSM::event &event)
Action when entering state.
Definition: JDAQClient.hh:949
JDAQCHSM::actionRecover
virtual void actionRecover(int, const char *)
Definition: JDAQCHSM.hh:136
JDAQCHSM::actionReset
virtual void actionReset(int, const char *)
Definition: JDAQCHSM.hh:129
JDAQCHSM::getRunNumber
int getRunNumber() const
Get run number.
Definition: JDAQCHSM.hh:111
KM3NETDAQ::JDataFilter::timesliceRouter
JSinglePointer< JTimesliceRouter > timesliceRouter
Definition: JDataFilter.cc:1187
JTRIGGER::JTriggerParameters::set
void set(const double DMax_m=0.0)
Set dependent trigger parameters.
Definition: JTriggerParameters.hh:141
KM3NETDAQ::JDataFilter::c_buffer
JCircularBuffer_t c_buffer
Definition: JDataFilter.cc:1237
KM3NETDAQ::JDataFilter::meta
JMeta meta
meta data
Definition: JDataFilter.cc:1134
KM3NETDAQ::JDataFilter::trigger3DShower
JSinglePointer< JTrigger3DShower > trigger3DShower
Definition: JDataFilter.cc:1196
JNET::JPrefix
ControlHost prefix.
Definition: JPrefix.hh:31
KM3NETDAQ::JDAQClient::parser
JParser parser
parser method enter()
Definition: JDAQClient.hh:1027
JEEP::JTimekeeper::wait
void wait() const
Wait until the number of time intervals has elapsed since the last call to the reset method.
Definition: JTimekeeper.hh:145
JTRIGGER::JTriggerParameters::TMaxLocal_ns
double TMaxLocal_ns
maximal time difference between L0 hits for L1
Definition: JTriggerParameters.hh:322
JLANG::JControlHostException
Exception for ControlHost.
Definition: JException.hh:450
KM3NETDAQ::JDAQClient_t::TIMEOUT_S
static const int TIMEOUT_S
time out of update [s]
Definition: JDAQClient.hh:61
JLOGGER::JMessageScheduler::reset
void reset()
Reset.
Definition: JMessageScheduler.hh:94
JDAQStateMachine::A3
void A3(CHSM_ns_alias::event const &)
Definition: JDAQCHSM.cc:348
JLOGGER::JErrorStream
Definition: JMessageStream.hh:115
KM3NETDAQ::JDataFilter::numberOfEvents
long long int numberOfEvents
Definition: JDataFilter.cc:1220
JDETECTOR::JModuleRouter::getModule
const JModule & getModule(const JObjectID &id) const
Get module parameters.
Definition: JModuleRouter.hh:89
JDAQStateMachine::ev_check
JDAQStateMachine::ev_check_event ev_check
JNET::JSelectReader::getReaderMask
JFileDescriptorMask & getReaderMask()
Get reader mask.
Definition: JSelectReader.hh:46
JEEP::JTimer::start
void start()
Start timer.
Definition: JTimer.hh:89
KM3NETDAQ::JDataFilter::logErrorRun
JMessageScheduler logErrorRun
Definition: JDataFilter.cc:1199
JEEP::JTimer::usec_wall
unsigned long long usec_wall
Definition: JTimer.hh:224
KM3NETDAQ::JDataFilter::number_of_packets_discarded
long long int number_of_packets_discarded
Definition: JDataFilter.cc:1231
JTRIGGER::JTriggerParameters::TMaxEvent_ns
double TMaxEvent_ns
maximal time before and after event for snapshot
Definition: JTriggerParameters.hh:323
KM3NETDAQ::JDataFilter::minFrameNumber
int minFrameNumber
Definition: JDataFilter.cc:1225
KM3NETDAQ::JDataFilter::JBuildL1_t
JBuildL1< hit_type > JBuildL1_t
Definition: JDataFilter.cc:156
KM3NETDAQ::JDAQClient::run
void run()
Run as run control client following command messages via JNET::JControlHost.
Definition: JDAQClient.hh:661
JTOOLS::GIGABYTE
static const long long int GIGABYTE
Number of bytes in a megabyte.
Definition: JConstants.hh:81
JDAQStateMachine::ev_daq_event::param_block::length
int length
Definition: JDAQCHSM.hh:222
KM3NETDAQ::RC_REPLY
static const JNET::JTag RC_REPLY
Definition: JDAQTags.hh:45
JTRIGGER::JTriggerParameters::triggerMXShower
JTriggerMXShower_t::JParameters triggerMXShower
Definition: JTriggerParameters.hh:312
JNET::JTag::getTag
const JTag & getTag() const
Get tag.
Definition: JTag.hh:82
std::vector
Definition: JSTDTypes.hh:12
JTOOLS::JQuantile::getDeviation
double getDeviation(const bool relative=true) const
Get maximal deviation from average.
Definition: JQuantile.hh:260
KM3NETDAQ::JDataFilter::port
int port
server socket port
Definition: JDataFilter.cc:1169
KM3NETDAQ::JDAQChronometer::getFrameIndex
int getFrameIndex() const
Get frame index.
Definition: JDAQChronometer.hh:132
event
Structure to store the ToT mean and standard deviation of the hits produced by a nanobeacon in a sour...
Definition: JVoltageOptimizer_utils.hh:26
JTRIGGER::JSuperFrame2D::demultiplex
static JSuperFrame2D< JElement_t, JAllocator_t > demultiplex
Demultiplexer.
Definition: JSuperFrame2D.hh:161
JDAQCHSM::getName
const std::string & getName() const
Get name of state machine.
Definition: JDAQCHSM.hh:89
KM3NETDAQ::JDataFilter::timeslices
std::list< JDAQTimesliceL0 > timeslices
buffer with pending time slice data
Definition: JDataFilter.cc:1179
JLANG::null
static JNullStream null
Null I/O stream.
Definition: JNullStream.hh:51
JLANG::JFileDescriptorMask::has
bool has(const int file_descriptor) const
Has file descriptor.
Definition: JFileDescriptorMask.hh:216
JLANG::JAccessible::is_open
virtual bool is_open() const =0
Check is device is open.
JLANG::JSocketException
Exception for socket.
Definition: JException.hh:432
KM3NETDAQ::JDAQTimeslice
Data time slice.
Definition: JDAQTimeslice.hh:30
KM3NETDAQ::JDataFilter::JCircularBuffer_t::disable
void disable()
Disable writing.
Definition: JDataFilter.cc:212
KM3NETDAQ::JDataFilter::buildL1
JSinglePointer< JBuildL1_t > buildL1
Definition: JDataFilter.cc:1191
KM3NETDAQ::JDataFilter::timer
JTimer timer
Definition: JDataFilter.cc:1176
JLOGGER::JMessageLogger::getLevel
JLevel_t getLevel()
Get debug level.
Definition: JMessageLogger.hh:117
JDAQStateMachine::state_Main::state_RunControl::Error
JDAQState Error
Definition: JDAQCHSM.hh:202
KM3NETDAQ::JDataFilter::trigger3DMuon
JSinglePointer< JTrigger3DMuon > trigger3DMuon
Definition: JDataFilter.cc:1195
JDAQStateMachine::A6
void A6(CHSM_ns_alias::event const &)
Definition: JDAQCHSM.cc:354
KM3NETDAQ::JDAQClient_t::eventTable
JEventTable eventTable
event table
Definition: JDAQClient.hh:202
JNET::JSocket
Socket class.
Definition: JSocket.hh:42
KM3NETDAQ::JDAQClient::server
JSharedPointer< JControlHost > server
message server
Definition: JDAQClient.hh:800
KM3NETDAQ::JDataFilter::reporting
bool reporting
Definition: JDataFilter.cc:1218
KM3NETDAQ::JDataFilter::JCircularBuffer_t::sizeL1
Long64_t sizeL1
Number of L1 time slices.
Definition: JDataFilter.cc:256
JTRIGGER::JTriggerInput
Data structure for input to trigger algorithm.
Definition: JTriggerInput.hh:32
JTRIGGER::JTriggerParameters::trigger3DShower
JTrigger3DShower_t::JParameters trigger3DShower
Definition: JTriggerParameters.hh:311
JNET::JSelectReader::reset
void reset()
Reset.
Definition: JSelectReader.hh:78
JROOT::putObject
bool putObject(TDirectory *dir, const T &object)
Write object to ROOT directory.
Definition: JRootFileWriter.hh:38
KM3NETDAQ::JEventTable::find
const_iterator find(const JTag &tag, const std::string &event_name) const
Find entry.
Definition: JEventTable.hh:116
KM3NETDAQ::JDataFilter::backlog
int backlog
Definition: JDataFilter.cc:1170
KM3NETDAQ::JDAQClient::filter
virtual bool filter(const JTag &tag, int length, const char *buffer)
Filter message.
Definition: JDAQClient.hh:633
JLOGGER::JMessageLogger::setLevel
void setLevel(const int __level)
Set debug level.
Definition: JMessageLogger.hh:128
KM3NETDAQ::JDAQClient::select
JSelectReader select
select call
Definition: JDAQClient.hh:1026
JTRIGGER::JTriggerParameters::L2
JL2Parameters L2
L2 processing.
Definition: JTriggerParameters.hh:327
KM3NETDAQ::JDataFilter::buildL2
JSinglePointer< JBuildL2_t > buildL2
Definition: JDataFilter.cc:1192
KM3NETDAQ::JDAQClient::actionRunning
virtual void actionRunning()
This method is repeatedly called when this client machine is in state Running and the clock interval ...
Definition: JDAQClient.hh:596
JLOGGER::JMessageLogger::error
void error(const JMessage_t &message)
Definition: JMessageLogger.hh:184
JEEP::JTimekeeper::reset
void reset(const long long int t0)
Reset time.
Definition: JTimekeeper.hh:100
JNET::JSocket::setReceiveBufferSize
void setReceiveBufferSize(const int size)
Set receive buffer size.
Definition: JSocket.hh:250
JIO::JByteArrayReader
Byte array binary input.
Definition: JByteArrayIO.hh:25
KM3NETDAQ::getFrameTime
double getFrameTime()
Get frame time duration.
Definition: JDAQClock.hh:162
JROOT::JRootFile::getFile
TFile * getFile() const
Get file.
Definition: JRootFile.hh:65
JPP
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Definition: JAAnetToolkit.hh:37
JDAQStateMachine::state_Main::state_RunControl::state_Operational::Running
JDAQState Running
Definition: JDAQCHSM.hh:196
KM3NETDAQ::JEvent_t::toValue
static JEvent_t toValue(const std::string &buffer)
Convert string to event.
Definition: JRuncontrolToolkit.hh:116
KM3NETDAQ::getSizeof
size_t getSizeof(const JDAQEvent &object)
Get size of object.
Definition: JDAQEventIO.hh:26
KM3NETDAQ::JDAQClient::replaceEvent
void replaceEvent(const JTag &oldTag, const JTag &newTag, JDAQEvent_t &event)
Replace tag of given event in event table.
Definition: JDAQClient.hh:492
KM3NETDAQ::JDataFilter::buffer_size
int buffer_size
Definition: JDataFilter.cc:1171
JDAQStateMachine::A8
void A8(CHSM_ns_alias::event const &)
Definition: JDAQCHSM.cc:366
JDAQStateMachine::ev_start
JDAQStateMachine::ev_start_event ev_start
JTRIGGER::JTriggerException
General exception.
Definition: JTriggerException.hh:23
KM3NETDAQ::JDataFilter::JTimeslice_t
JTimeslice< hit_type > JTimeslice_t
Definition: JDataFilter.cc:155
JTRIGGER::JTriggerParameters::writeL2
JPrescaler writeL2
write JDAQTimeslice with L2 data
Definition: JTriggerParameters.hh:334
KM3NETDAQ::JDataFilter::JCircularBuffer_t::is_enabled
bool is_enabled() const
Check whether writing of data is enabled.
Definition: JDataFilter.cc:225
JDAQCHSM::actionPause
virtual void actionPause(int, const char *)
Definition: JDAQCHSM.hh:126
JTOOLS::JQuantile::put
void put(const double x, const double w=1.0)
Put value.
Definition: JQuantile.hh:123
KM3NETDAQ::JDataFilter::JCircularBuffer_t::sizeSN
Long64_t sizeSN
Number of SN time slices.
Definition: JDataFilter.cc:258
KM3NETDAQ::JDataFilter::datawriter
JSinglePointer< JControlHost_t > datawriter
controlhost of data server (to which data writer should be connected)
Definition: JDataFilter.cc:1141
debug
int debug
debug level
Definition: JSirene.cc:59
JTRIGGER::JTimesliceL1
Auxiliary class to build JDAQTimeslice for L1 timeslice.
Definition: JTimesliceL1.hh:36
KM3NETDAQ::JDataFilter::logErrorIncomplete
JMessageScheduler logErrorIncomplete
Definition: JDataFilter.cc:1202
KM3NETDAQ::JDataFilter::moduleRouter
JSinglePointer< JModuleRouter > moduleRouter
Definition: JDataFilter.cc:1190
JTRIGGER::JTriggerOutput::merge
void merge(const JMatch_t &match)
Merge events.
Definition: JTriggerOutput.hh:41
KM3NETDAQ::JDAQClient_t::fullname
std::string fullname
Definition: JDAQClient.hh:204
JROOT::JTreeWriterObjectOutput::put
virtual bool put(const T &object)
Object output.
Definition: JTreeWriterObjectOutput.hh:88
JDAQStateMachine::A2
void A2(CHSM_ns_alias::event const &)
Definition: JDAQCHSM.cc:346
KM3NETDAQ::JDAQClient::actionTagged
virtual void actionTagged(const JTag &tag, int length, const char *buffer)
This method is called when a custom tag is encountered.
Definition: JDAQClient.hh:646
JDAQCHSM::detector_id
int detector_id
Definition: JDAQCHSM.hh:166
JNET::JSelectReader::hasReaderMask
bool hasReaderMask(const JAbstractFile &file) const
Has reader file.
Definition: JSelectReader.hh:69
KM3NETDAQ::JDataFilter::dataFilters
std::vector< JDAQProcess > dataFilters
Definition: JDataFilter.cc:1206
KM3NETDAQ::JDataFilter::serversocket
JSinglePointer< JServerSocket > serversocket
server for data queue connections
Definition: JDataFilter.cc:1173
KM3NETDAQ::JDataFilter::maxQueueDepth
unsigned int maxQueueDepth
Definition: JDataFilter.cc:1212
JNET::JSocket::accept
void accept(const int server)
Accept connection from a server.
Definition: JSocket.hh:372
JSYSTEM::getLocalTime
static const JLocalTime getLocalTime
Function object to get local time in micro seconds.
Definition: JSystem/JTime.hh:61
JLOGGER::JWarningStream
Definition: JMessageStream.hh:114
KM3NETDAQ::JDataFilter::JControlHost_t
JControlHostObjectOutput< JDAQTypes_t > JControlHost_t
Definition: JDataFilter.cc:1140
KM3NETDAQ::JDAQTimesliceL0
Timeslice data structure for L0 data.
Definition: JDAQTimeslice.hh:255
JLOGGER::JStatusStream
Definition: JMessageStream.hh:117
KM3NETDAQ::JDAQClient_t::hostname
std::string hostname
Definition: JDAQClient.hh:203
JLOGGER::JStreamLogger
Message logging based on std::ostream.
Definition: JStreamLogger.hh:22
KM3NETDAQ::JDAQSummaryslice
Data summary slice.
Definition: JDAQSummaryslice.hh:25
KM3NETDAQ::JDAQClient::exit
virtual bool exit()
Exit the state machine.
Definition: JDAQClient.hh:456
JDETECTOR::JModule
Data structure for a composite optical module.
Definition: JModule.hh:49
JDAQStateMachine::A12
void A12(CHSM_ns_alias::event const &)
Definition: JDAQCHSM.cc:374
JEEP::JTimekeeper::setInterval
void setInterval(const long long int interval_us)
Set interval time.
Definition: JTimekeeper.hh:89
KM3NETDAQ::JDAQClient::enter
virtual bool enter()
Enter the state machine.
Definition: JDAQClient.hh:418
KM3NETDAQ::JDataFilter::Qt
JQuantile Qt
Definition: JDataFilter.cc:1177
JNET::JSubscriptionList::add
JSubscriptionList & add(const JSubscription &subscription)
Add subscription.
Definition: JControlHost.hh:174
KM3NETDAQ::JDataFilter::maxFrameNumber
int maxFrameNumber
Definition: JDataFilter.cc:1226
JNET::JSocket::setKeepAlive
void setKeepAlive(const bool on)
Set keep alive of socket.
Definition: JSocket.hh:151
KM3NETDAQ::JDAQSuperFrameHeader
DAQ super frame header.
Definition: JDAQSuperFrameHeader.hh:19
JDAQCHSM::actionConfigure
virtual void actionConfigure(int, const char *)
Definition: JDAQCHSM.hh:124
JEEP::JTimer::usec_ucpu
unsigned long long usec_ucpu
Definition: JTimer.hh:225
KM3NETDAQ::JDAQClient::isRunning
bool isRunning() const
Check if this client is in runnig state.
Definition: JDAQClient.hh:479
KM3NETDAQ::JDAQClient::update
void update()
Update state machine.
Definition: JDAQClient.hh:808
JTRIGGER::JTriggeredEvent
Auxiliary class to build JDAQEvent for a triggered event.
Definition: JTriggeredEvent.hh:41
KM3NETDAQ::JDataFilter::logErrorDetector
JMessageScheduler logErrorDetector
Definition: JDataFilter.cc:1200
JLOGGER::JMessageLogger::is_valid
bool is_valid() const
Check validity of logger object.
Definition: JMessageLogger.hh:161
JDAQCHSM::actionQuit
virtual void actionQuit(int, const char *)
Definition: JDAQCHSM.hh:130
KM3NETDAQ::RC_ALERT
static const JNET::JTag RC_ALERT
Definition: JDAQTags.hh:57
JSYSTEM::localtime_t
long long int localtime_t
Type definition of local time.
Definition: JSystem/JTime.hh:21
KM3NETDAQ::JDataFilter::detector
JDetector detector
Definition: JDataFilter.cc:1189
JDAQStateMachine::A14
void A14(CHSM_ns_alias::event const &)
Definition: JDAQCHSM.cc:378
JTOOLS::JQuantile::getMean
double getMean() const
Get mean value.
Definition: JQuantile.hh:217
KM3NETDAQ::JDAQClient_t::unique_tag
JTag unique_tag
Definition: JDAQClient.hh:205
JLANG::JFileDescriptorMask::set
void set(const int file_descriptor)
Set file descriptor.
Definition: JFileDescriptorMask.hh:154
JTRIGGER::checksum
static const JChecksum checksum
Function object to perform check-sum of raw data.
Definition: JChecksum.hh:161
JLOGGER::JControlHostLogger
Message logging based on ControlHost.
Definition: JControlHostLogger.hh:26
JTRIGGER::JTrigger3DMuon_t::JParameters::enabled
bool enabled
enabled status of trigger
Definition: JTrigger3DMuon_t.hh:113
KM3NETDAQ::JEventTable::replace
void replace(const JTag &oldTag, const JTag &newTag, JDAQEvent_t &event)
Replace entry in table.
Definition: JEventTable.hh:96
JLOGGER::JMessageLogger::reset
void reset(JLogger *__logger=NULL)
Reset logger.
Definition: JMessageLogger.hh:106
JDAQStateMachine::state_Main::RunControl
JDAQStateMachine::state_Main::state_RunControl RunControl
JDAQStateMachine::A4
void A4(CHSM_ns_alias::event const &)
Definition: JDAQCHSM.cc:350
KM3NETDAQ::JDataFilter::frames_per_slice
unsigned int frames_per_slice
Definition: JDataFilter.cc:1181
JDAQStateMachine::ev_error
JDAQStateMachine::ev_error_event ev_error
KM3NETDAQ::JDAQClient_t::getUniqueTag
const JTag & getUniqueTag() const
Get unique tag of this run control client.
Definition: JDAQClient.hh:130
JDETECTOR::JModuleRouter
Router for direct addressing of module data in detector data structure.
Definition: JModuleRouter.hh:34
JDAQStateMachine::ev_daq_event
Definition: JDAQCHSM.hh:217
JTRIGGER::JTriggerParameters::SN
JL2Parameters SN
Supernova trigger.
Definition: JTriggerParameters.hh:328
JTRIGGER::JTimesliceRouter::configure
void configure(const JDAQTimeslice &timeslice)
Configure.
Definition: JTimesliceRouter.hh:112
KM3NETDAQ::IO_TRIGGER_PARAMETERS
static const JNET::JTag IO_TRIGGER_PARAMETERS
Definition: JDAQTags.hh:68
KM3NETDAQ::JDAQClient::subscription
JSubscriptionList subscription
custom subscription
Definition: JDAQClient.hh:1028
KM3NETDAQ::JDAQClient::logger
JMessageLogger logger
message logger
Definition: JDAQClient.hh:801
KM3NETDAQ::JDataFilter::number_of_bytes_received
long long int number_of_bytes_received
Definition: JDataFilter.cc:1233
KM3NETDAQ::JDAQChronometer::getRunNumber
int getRunNumber() const
Get run number.
Definition: JDAQChronometer.hh:121
KM3NETDAQ::JDataFilter::number_of_packets_received
long long int number_of_packets_received
Definition: JDataFilter.cc:1230
JDAQStateMachine::state_Main::state_RunControl::Operational
JDAQStateMachine::state_Main::state_RunControl::state_Operational Operational
JLANG::JEquationParameters
Simple data structure to support I/O of equations (see class JLANG::JEquation).
Definition: JEquationParameters.hh:20
JROOT::JTreeWriterObjectOutput
JTreeWriter object output.
Definition: JTreeWriterObjectOutput.hh:30
JDAQCHSM::actionCheck
virtual void actionCheck(int, const char *)
Definition: JDAQCHSM.hh:132
JTRIGGER::JTriggerParameters::writeSummary
JPrescaler writeSummary
write JDAQSummaryslice
Definition: JTriggerParameters.hh:331
KM3NETDAQ::JDataFilter::processIndexSorter
static bool processIndexSorter(const JDAQProcess &first, const JDAQProcess &second)
Sort DAQ process by index.
Definition: JDataFilter.cc:269
JTRIGGER::JTriggerParameters::highRateVeto_Hz
double highRateVeto_Hz
high-rate veto [Hz]
Definition: JTriggerParameters.hh:319
JDAQStateMachine::A1
void A1(CHSM_ns_alias::event const &)
Definition: JDAQCHSM.cc:344
make_field
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Definition: JParser.hh:1954
JEEP::JTimekeeper::getInterval
long long int getInterval() const
Get interval time.
Definition: JTimekeeper.hh:67
KM3NETDAQ::JDataFilter::current_slice_index
int current_slice_index
Definition: JDataFilter.cc:1180
KM3NETDAQ::JDataFilter::processTimeSlice
void processTimeSlice(const JDAQTimesliceL0 &timeslice)
Process time slice.
Definition: JDataFilter.cc:891
KM3NETDAQ::JDAQClient_t::getFullName
const std::string & getFullName() const
Get full name of this run control client.
Definition: JDAQClient.hh:119
JDAQCHSM::actionError
virtual void actionError()
Definition: JDAQCHSM.hh:135
JNET::JSelectReader::setReaderMask
void setReaderMask(const JAbstractFile &file)
Set reader mask.
Definition: JSelectReader.hh:57
JGEOMETRY3D::JPosition3D::getPosition
const JPosition3D & getPosition() const
Get position.
Definition: JPosition3D.hh:129
KM3NETDAQ::JDataFilter::JCircularBuffer_t::sizeL0
Long64_t sizeL0
Number of L0 time slices.
Definition: JDataFilter.cc:255
JTOOLS::JQuantile::reset
void reset()
Reset.
Definition: JQuantile.hh:104
JNET::JSocket::setNonBlocking
void setNonBlocking(const bool on)
Set non-blocking of I/O.
Definition: JSocket.hh:109
JEEP::JProperties
Utility class to parse parameter values.
Definition: JProperties.hh:496
JDAQStateMachine::ev_configure
JDAQStateMachine::ev_configure_event ev_configure
KM3NETDAQ::getStateName
std::string getStateName(const std::string &name)
Get name of state.
Definition: JRuncontrolToolkit.hh:591
JNET::JControlHostObjectOutput::put
virtual bool put(const T &object)
Object output.
Definition: JControlHostObjectOutput.hh:89
JTRIGGER::JTrigger3DShower
Shower trigger.
Definition: JTrigger3DShower.hh:22
JAANET::detector
Detector file.
Definition: JHead.hh:130
KM3NETDAQ::JDAQChronometer::getDAQChronometer
const JDAQChronometer & getDAQChronometer() const
Get DAQ chronometer.
Definition: JDAQChronometer.hh:88
JTRIGGER::JTriggerMXShower_t::JParameters::enabled
bool enabled
enabled status of trigger
Definition: JTriggerMXShower_t.hh:103
KM3NETDAQ::JDataFilter::typeout
void typeout()
Report status to message logger.
Definition: JDataFilter.cc:1043
JTRIGGER::JTriggerOutput
Set of triggered events.
Definition: JTriggerOutput.hh:23
std
Definition: jaanetDictionary.h:36
JEEP::JTimekeeper
Time keeper.
Definition: JTimekeeper.hh:34
JDETECTOR::JModuleRouter::hasModule
bool hasModule(const JObjectID &id) const
Has module.
Definition: JModuleRouter.hh:101
KM3NETDAQ::JDataFilter::put
bool put(const T &object)
Auxiliary method to send object to data server.
Definition: JDataFilter.cc:1151
KM3NETDAQ::getSubscription
JSubscriptionList getSubscription(const JEventTable &event_table)
Convert event table to ControlHost subscription.
Definition: JEventTable.hh:129
JDAQStateMachine::ev_daq_event::param_block::buffer
const char * buffer
Definition: JDAQCHSM.hh:224
JDAQStateMachine::A13
void A13(CHSM_ns_alias::event const &)
Definition: JDAQCHSM.cc:376
KM3NETDAQ::JDataFilter::numberOfIncompleteTimeslicesProcessed
long long int numberOfIncompleteTimeslicesProcessed
Definition: JDataFilter.cc:1223
JTRIGGER::JTriggerParameters::writeSN
JPrescaler writeSN
write JDAQTimeslice with SN data
Definition: JTriggerParameters.hh:335
JDAQStateMachine::A7
void A7(CHSM_ns_alias::event const &)
Definition: JDAQCHSM.cc:364
KM3NETDAQ::JDAQClient::getMessage
std::string getMessage(const CHSM::state &state, const CHSM::event &event) const
Get event message.
Definition: JDAQClient.hh:928
KM3NETDAQ::JDAQSuperFrame
Data frame of one optical module.
Definition: JDAQSuperFrame.hh:22
KM3NETDAQ::RC_CMD
static const JNET::JTag RC_CMD
Definition: JDAQTags.hh:44
JEEP::JTimer::stop
void stop()
Stop timer.
Definition: JTimer.hh:113
JDAQCHSM::actionStop
virtual void actionStop(int, const char *)
Definition: JDAQCHSM.hh:128
JDAQCHSM::actionExit
virtual void actionExit()
Definition: JDAQCHSM.hh:121
JTRIGGER::JTriggerParameters::trigger3DMuon
JTrigger3DMuon_t::JParameters trigger3DMuon
Definition: JTriggerParameters.hh:313
KM3NETDAQ::JDataFilter::JBuildL2_t
JBuildL2< hit_type > JBuildL2_t
Definition: JDataFilter.cc:157
KM3NETDAQ::JDAQClient_t::setClockInterval
void setClockInterval(const long long int interval_us)
Set interval time.
Definition: JDAQClient.hh:164
KM3NETDAQ::JDAQClient_t::event_number
int event_number
number of last event
Definition: JDAQClient.hh:207
JSYSTEM::getRAM
unsigned long long int getRAM()
Get RAM of this CPU.
Definition: JSystemToolkit.hh:254
JLANG::JException::what
virtual const char * what() const
Get error message.
Definition: JException.hh:48
JDAQCHSM::run_number
int run_number
Definition: JDAQCHSM.hh:167
JDAQStateMachine::Main
JDAQStateMachine::state_Main Main
JTRIGGER::JTriggerParameters::writeL1
JPrescaler writeL1
write JDAQTimeslice with L1 data
Definition: JTriggerParameters.hh:333
KM3NETDAQ::getTokenDelimeter
char getTokenDelimeter()
Get the token delimeter for command messages.
Definition: JRuncontrolToolkit.hh:56
JNET::JTag::toString
std::string toString() const
Convert tag to string.
Definition: JTag.hh:167
JTRIGGER::JTriggerMXShower
Shower trigger.
Definition: JTriggerMXShower.hh:76
KM3NETDAQ::JDAQClient::JDAQClient
JDAQClient(const std::string &name, const std::string &server, JLogger *logger, const int level)
Constructor.
Definition: JDAQClient.hh:290
KM3NETDAQ::JDataFilter::buildSN
JSinglePointer< JBuildL2_t > buildSN
Definition: JDataFilter.cc:1193
KM3NETDAQ::JDataFilter::logErrorIndex
JMessageScheduler logErrorIndex
Definition: JDataFilter.cc:1201
KM3NETDAQ::JDataFilter::triggerMXShower
JSinglePointer< JTriggerMXShower > triggerMXShower
Definition: JDataFilter.cc:1197
JTRIGGER::JTriggerParameters::reset
void reset()
Reset trigger parameters.
Definition: JTriggerParameters.hh:164
std::list
Definition: JSTDTypes.hh:24
JDAQCHSM::actionInit
virtual void actionInit(int, const char *)
Definition: JDAQCHSM.hh:123
JTRIGGER::JTriggerParameters::writeL0
JPrescaler writeL0
write JDAQTimeslice with L0 data
Definition: JTriggerParameters.hh:332
KM3NETDAQ::JDataFilter::dataQueues
std::vector< JDAQProcess > dataQueues
Definition: JDataFilter.cc:1207
JLANG::trim
std::string trim(const std::string &buffer)
Trim string.
Definition: JLangToolkit.hh:79
JLANG::JStorage::reset
virtual void reset()
Reset pointer.
Definition: JStorage.hh:42
JLOGGER::JMessageScheduler
Message logger with time scheduler.
Definition: JMessageScheduler.hh:25
KM3NETDAQ::JDAQProcess::index
std::string index
index in process list
Definition: JRuncontrolToolkit.hh:580
JSUPPORT::JTreeRecorder::close
virtual void close()
Close file.
Definition: JTreeRecorder.hh:70
JNET::JPrefix::getSize
int getSize() const
Get size.
Definition: JPrefix.hh:62
KM3NETDAQ::JDAQClient_t::getClockInterval
long long int getClockInterval() const
Get interval time.
Definition: JDAQClient.hh:153
JDAQCHSM::actionInput
virtual void actionInput(int, const char *)
Definition: JDAQCHSM.hh:133
KM3NETDAQ::JDataFilter::updateFrameQueue
void updateFrameQueue(const JChannelList_t::const_iterator channel)
Update queue with data frames.
Definition: JDataFilter.cc:806
JTRIGGER::JTrigger3DMuon
Muon trigger.
Definition: JTrigger3DMuon.hh:24
JLANG::getline
std::istream & getline(std::istream &in, JString &object)
Read string from input stream until end of line.
Definition: JString.hh:468
JSYSTEM::getListOfIPaddresses
std::vector< std::string > getListOfIPaddresses()
Get list of IP address (decimal-dot notation).
Definition: JNetwork.hh:216
KM3NETDAQ::JDAQTriggerCounter::reset
static void reset()
Reset counter of unique instance of this class object.
Definition: JDAQTriggerCounter.hh:88
JTRIGGER::JEventOverlap
Match of two events considering overlap in time.
Definition: JEventOverlap.hh:20
JLANG::JException
General exception.
Definition: JException.hh:23
JDAQStateMachine::A11
void A11(CHSM_ns_alias::event const &)
Definition: JDAQCHSM.cc:372
JTRIGGER::JL2Parameters::TMaxLocal_ns
double TMaxLocal_ns
maximal time difference [ns]
Definition: JTriggerParameters.hh:108
JEEP::JTimekeeper::getDelay
long long int getDelay() const
Get total delay time.
Definition: JTimekeeper.hh:78
KM3NETDAQ::JDataFilter::JSuperFrame2D_t
JSuperFrame2D< hit_type > JSuperFrame2D_t
Definition: JDataFilter.cc:154
KM3NETDAQ::RC_DFILTER
static const JNET::JTag RC_DFILTER
Definition: JDAQTags.hh:51
JDAQStateMachine::A10
void A10(CHSM_ns_alias::event const &)
Definition: JDAQCHSM.cc:370
KM3NETDAQ::JDAQClient_t::clock
JTimekeeper clock
central clock
Definition: JDAQClient.hh:206
KM3NETDAQ::JDataFilter::JSocketInputChannel_t
JSocketInputChannel< JDAQAbstractPreamble > JSocketInputChannel_t
Definition: JDataFilter.cc:149
KM3NETDAQ::JDataFilter::queueSize
long long int queueSize
Definition: JDataFilter.cc:1214
JDAQCHSM::name
std::string name
Definition: JDAQCHSM.hh:165
KM3NETDAQ::JDataFilter::numberOfTimeslicesProcessed
long long int numberOfTimeslicesProcessed
Definition: JDataFilter.cc:1222
KM3NETDAQ::JDAQPreamble
DAQ preamble.
Definition: JDAQPreamble.hh:26
KM3NETDAQ::JDAQClient::actionSelect
virtual void actionSelect(const JFileDescriptorMask &mask)
Action method following last select call.
Definition: JDAQClient.hh:585
JTRIGGER::JTrigger3DShower_t::JParameters::enabled
bool enabled
enabled status of trigger
Definition: JTrigger3DShower_t.hh:102
JNET::JSubscriptionAll
Auxiliary class for all subscription.
Definition: JControlHost.hh:96
JPARSER::JParser::read
int read(const int argc, const char *const argv[])
Parse the program's command line options.
Definition: JParser.hh:1791
JLANG::JAbstractPointer::is_valid
bool is_valid() const
Check validity of pointer.
Definition: JAbstractPointer.hh:83
JTRIGGER::JTimesliceRouter
Router for fast addressing of hits in KM3NETDAQ::JDAQTimeslice data structure as a function of the op...
Definition: JTimesliceRouter.hh:62
KM3NETDAQ::JDAQClient_t::setEventNumber
void setEventNumber(const int event_number)
Set last event number.
Definition: JDAQClient.hh:195
KM3NETDAQ::JDAQClient::addSubscription
void addSubscription(const JSubscription &subscription)
Add custom subscription.
Definition: JDAQClient.hh:523
KM3NETDAQ::JDataFilter::totalCPURAM
long long int totalCPURAM
Definition: JDataFilter.cc:1211
JDAQStateMachine::A9
void A9(CHSM_ns_alias::event const &)
Definition: JDAQCHSM.cc:368