Runcontrol client to write data to disk.
More...
|
| JDataWriter (const std::string &name, const std::string &server, const std::string &hostname, JLogger *logger, const int level, const std::string &path) |
| Constructor. More...
|
|
virtual void | actionInit (int length, const char *buffer) |
|
virtual void | actionConfigure (int length, const char *buffer) |
|
virtual void | actionReset (int length, const char *buffer) |
|
virtual void | actionQuit (int length, const char *buffer) |
|
virtual void | actionStart (int length, const char *buffer) |
|
virtual void | actionStop (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 | typeout () |
| Report status of data writing. 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_t * | findEvent (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 ¶meter) |
| Add parameter to parser used in method enter(). More...
|
|
template<class T > |
void | addParameter (const char option, T ¶meter, 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...
|
|
virtual void | actionTagged (const JTag &tag, int length, const char *buffer) |
| This method is called when a custom tag is encountered. 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 | actionEnter () |
| Interface methods for actions corresponding to state transitions. More...
|
|
virtual void | actionExit () |
|
virtual void | actionPause (int, const char *) |
|
virtual void | actionContinue (int, const char *) |
|
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 JTag & | getUniqueTag () 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...
|
|
|
typedef void(JDAQCHSM::* | action) (int, const char *) |
| Type definition of action method. More...
|
|
Runcontrol client to write data to disk.
In state running, this application will write ROOT formatted data from the data filters to disk.
Definition at line 61 of file JDataWriter.cc.
◆ action
typedef void(JDAQCHSM::* JDAQCHSM::action) (int, const char *) |
|
protectedinherited |
Type definition of action method.
Definition at line 152 of file JDAQCHSM.hh.
◆ JDataWriter()
KM3NETDAQ::JDataWriter::JDataWriter |
( |
const std::string & |
name, |
|
|
const std::string & |
server, |
|
|
const std::string & |
hostname, |
|
|
JLogger * |
logger, |
|
|
const int |
level, |
|
|
const std::string & |
path |
|
) |
| |
|
inline |
Constructor.
- Parameters
-
name | name of client |
server | name of command message server |
hostname | name of data server |
logger | pointer to logger |
level | debug level |
path | default path |
Definition at line 75 of file JDataWriter.cc.
◆ actionInit()
virtual void KM3NETDAQ::JDataWriter::actionInit |
( |
int |
length, |
|
|
const char * |
buffer |
|
) |
| |
|
inlinevirtual |
Reimplemented from JDAQCHSM.
Definition at line 96 of file JDataWriter.cc.
110 buffer.add(JSubscriptionAll(i->first));
118 JNoticeStream(
logger) <<
"Established connection to " <<
hostname;
120 catch(
const JControlHostException& exception) {
121 JErrorStream(
logger) << exception;
◆ actionConfigure()
virtual void KM3NETDAQ::JDataWriter::actionConfigure |
( |
int |
length, |
|
|
const char * |
buffer |
|
) |
| |
|
inlinevirtual |
Reimplemented from JDAQCHSM.
Definition at line 126 of file JDataWriter.cc.
130 long long int update_s = 10;
131 long long int logger_s = 5;
135 properties[
"path"] =
path;
136 properties[
"update_s"] = update_s;
137 properties[
"logger_s"] = logger_s;
139 properties.read(
string(
buffer, length));
141 if (update_s <= 0) { update_s = 1; }
142 if (logger_s <= 0) { logger_s = 1; }
146 JDebugStream(
logger) <<
"Path <" <<
path <<
">";
147 JDebugStream(
logger) <<
"Update period [s] " << update_s;
◆ actionReset()
virtual void KM3NETDAQ::JDataWriter::actionReset |
( |
int |
length, |
|
|
const char * |
buffer |
|
) |
| |
|
inlinevirtual |
◆ actionQuit()
virtual void KM3NETDAQ::JDataWriter::actionQuit |
( |
int |
length, |
|
|
const char * |
buffer |
|
) |
| |
|
inlinevirtual |
◆ actionStart()
virtual void KM3NETDAQ::JDataWriter::actionStart |
( |
int |
length, |
|
|
const char * |
buffer |
|
) |
| |
|
inlinevirtual |
Reimplemented from JDAQCHSM.
Definition at line 169 of file JDataWriter.cc.
196 catch(JException& exception) {
197 JErrorStream(
logger) << exception;
202 JNoticeStream(
logger) <<
"Output file " << os.str();
204 JErrorStream (
logger) <<
"File not opened " << os.str();
◆ actionStop()
virtual void KM3NETDAQ::JDataWriter::actionStop |
( |
int |
length, |
|
|
const char * |
buffer |
|
) |
| |
|
inlinevirtual |
◆ setSelect() [1/2]
Set the file descriptor mask for the select call.
This implementation does nothing but may be redefined by the derived class.
- Parameters
-
Reimplemented from KM3NETDAQ::JDAQClient.
Definition at line 244 of file JDataWriter.cc.
◆ actionSelect()
Action method following last select call.
This implementation does nothing but may be redefined by the derived class.
- Parameters
-
Reimplemented from KM3NETDAQ::JDAQClient.
Definition at line 252 of file JDataWriter.cc.
267 buffer.resize(prefix.getSize());
276 istringstream in(__str__);
280 JErrorStream(
logger) <<
"Fatal error reading trigger parameters " << __str__;
297 TFile* out = i->second->GetCurrentFile();
299 if (out != NULL && out->IsOpen()) {
306 in >> preamble >> header;
312 const Int_t nb = i->second->copy(in);
314 if (nb < (
int)
buffer.size() || in.tellg() != (int)
buffer.size()) {
315 JWarningStream(
logger) <<
"Inconsistency at copy of "
316 << prefix.toString() <<
' '
331 JErrorStream(
logErrorRun) <<
"Inconsistent run number "
332 << header.getRunNumber()
341 JErrorStream(
logErrorTag) <<
"Unknown tag <" << prefix.toString() <<
">, no data written";
345 JWarningStream(
logErrorState) <<
"Not in running state <" << prefix.toString() <<
">, no data written";
350 catch(
const JControlHostException& exception) {
351 JErrorStream(
logger) << exception;
◆ actionRunning()
virtual void KM3NETDAQ::JDataWriter::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 357 of file JDataWriter.cc.
◆ typeout()
void KM3NETDAQ::JDataWriter::typeout |
( |
| ) |
|
|
inline |
Report status of data writing.
Definition at line 366 of file JDataWriter.cc.
368 std::ostringstream message;
◆ 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
-
args | array of command line arguments |
- Returns
- true if okay; else false
Definition at line 363 of file JDAQClient.hh.
383 catch(
const exception &error) {
384 cerr << error.what() << endl;
399 this->server.reset(
new JControlHost(
server));
403 catch(
const JControlHostException& error) {
404 cerr << error << endl;
◆ 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.
429 server->Subscribe(buffer);
435 return CHSM::machine::enter();
437 catch(
const JControlHostException& error) {
442 cerr <<
"Message server or logger not properly initialised." << endl;
◆ 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.
461 catch(
const JControlHostException& error) {
467 catch(
const JControlHostException& error) {
470 return CHSM::machine::exit();
◆ 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.
◆ replaceEvent()
void KM3NETDAQ::JDAQClient::replaceEvent |
( |
const JTag & |
oldTag, |
|
|
const JTag & |
newTag, |
|
|
JDAQEvent_t & |
event |
|
) |
| |
|
inlineinherited |
Replace tag of given event in event table.
- Parameters
-
oldTag | old tag |
newTag | new tag |
event | event |
Definition at line 492 of file JDAQClient.hh.
◆ findEvent()
JDAQEvent_t* KM3NETDAQ::JDAQClient::findEvent |
( |
const JTag & |
tag, |
|
|
const std::string & |
event_name |
|
) |
| |
|
inlineinherited |
Find event in event table.
- Parameters
-
tag | tag |
event_name | event name |
- Returns
- pointer to event or NULL
Definition at line 507 of file JDAQClient.hh.
◆ addSubscription()
void KM3NETDAQ::JDAQClient::addSubscription |
( |
const JSubscription & |
subscription | ) |
|
|
inlineinherited |
Add custom subscription.
- Parameters
-
Definition at line 523 of file JDAQClient.hh.
◆ 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
-
option | option |
parameter | parameter |
Definition at line 536 of file JDAQClient.hh.
◆ 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
-
option | option |
parameter | parameter |
value | default value |
Definition at line 550 of file JDAQClient.hh.
◆ 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.
◆ actionInput()
virtual void KM3NETDAQ::JDAQClient::actionInput |
( |
int |
length, |
|
|
const char * |
buffer |
|
) |
| |
|
inlinevirtualinherited |
◆ 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
-
tag | tag |
length | number of characters |
buffer | message |
- Returns
- skip message or not
Definition at line 633 of file JDAQClient.hh.
◆ actionTagged()
virtual void KM3NETDAQ::JDAQClient::actionTagged |
( |
const JTag & |
tag, |
|
|
int |
length, |
|
|
const char * |
buffer |
|
) |
| |
|
inlinevirtualinherited |
This method is called when a custom tag is encountered.
- Parameters
-
tag | tag |
length | length of data |
buffer | pointer to data |
Reimplemented in KM3NETDAQ::JDataFilter.
Definition at line 646 of file JDAQClient.hh.
◆ 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.
687 long long int numberOfCalls = 0;
710 catch(
const exception& error) {
717 if (numberOfCalls != 0) {
722 catch(
const exception& error) {
◆ 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
-
Definition at line 741 of file JDAQClient.hh.
743 JControlHostServer local_server(port);
747 JControlHost* ps = local_server.AcceptClient();
753 ps->WaitHead(prefix);
755 const int length = prefix.
getSize();
757 char* buffer =
new char[length];
759 ps->GetFullData(buffer, length);
760 ps->PutFullData(prefix.
toString(), buffer, length);
◆ 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
-
Definition at line 786 of file JDAQClient.hh.
793 while (in >> tag && in >> skipws &&
getline(in, buffer,
';')) {
794 update(tag, buffer.length(), buffer.data());
◆ 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.
814 const int length = prefix.
getSize();
816 char* buffer =
new char[length];
818 server->GetFullData(buffer, length);
◆ update() [2/2]
void KM3NETDAQ::JDAQClient::update |
( |
const JTag & |
tag, |
|
|
int |
length, |
|
|
const char * |
buffer |
|
) |
| |
|
inlineprivateinherited |
Update state machine.
- Parameters
-
tag | tag |
length | number of characters |
buffer | message |
Definition at line 833 of file JDAQClient.hh.
838 if (
filter(tag, length, buffer)) {
851 string::size_type pos = 0;
853 while (pos != (string::size_type) length &&
TOKEN_DELIMETER.find(*(buffer + pos)) == string::npos) {
861 while (pos != (string::size_type) length &&
TOKEN_DELIMETER.find(*(buffer + pos)) != string::npos) {
866 JEventTable::const_iterator i =
eventTable.
find(tag, event.getName());
870 const CHSM::state*
const s0 =
getState();
872 if (!i->second->active()) {
874 JWarningStream(
logger) <<
"Event " << i->second->name() <<
" not active (" << (s0 != NULL ? s0->name() :
"") <<
")";
876 if (
server.is_valid() && s0 != NULL) {
887 JRedirectStream redirect[] = { JRedirectStream(cin,
JLANG::null),
888 JRedirectStream(cout,
debug),
889 JRedirectStream(cerr, error) };
895 (*(i->second))(length - pos, buffer + pos);
899 const CHSM::state*
const s1 =
getState();
902 << (s0 != NULL ? s0->name() :
"")
903 <<
"->(" << i->second->name() <<
")->"
904 << (s1 != NULL ? s1->name() :
"");
◆ 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.
◆ getMessage()
std::string KM3NETDAQ::JDAQClient::getMessage |
( |
const CHSM::state & |
state, |
|
|
const CHSM::event & |
event |
|
) |
| const |
|
inlineprivateinherited |
Get event message.
- Parameters
-
- Returns
- message
Definition at line 928 of file JDAQClient.hh.
930 std::ostringstream os;
◆ 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
-
state | entered state |
event | event that triggered transition |
Implements JDAQCHSM.
Reimplemented in KM3NETDAQ::JDAQDriver.
Definition at line 949 of file JDAQClient.hh.
◆ 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
-
length | number of characters |
buffer | message |
Reimplemented from JDAQCHSM.
Definition at line 963 of file JDAQClient.hh.
973 if (state->active()) {
◆ execute()
void KM3NETDAQ::JDAQClient::execute |
( |
action |
__action, |
|
|
const CHSM::event & |
__event |
|
) |
| |
|
inlineprivatevirtualinherited |
The method to execute the action.
- Parameters
-
__action | pointer to action method |
__event | event that triggered the action |
Implements JDAQCHSM.
Definition at line 990 of file JDAQClient.hh.
996 (this->*__action)(event->length, event->buffer);
998 catch(
const std::exception& error) {
999 JErrorStream(
logger) <<
"Error at event " << __event.name() <<
" \"" << error.what() <<
"\"; trigger ev_error.";
◆ getState()
const CHSM::state* KM3NETDAQ::JDAQClient::getState |
( |
| ) |
const |
|
inlineprivateinherited |
Get current state.
- Returns
- state
Definition at line 1010 of file JDAQClient.hh.
1013 if (state->active()) {
◆ A1()
void JDAQStateMachine::A1 |
( |
CHSM_ns_alias::event const & |
event | ) |
|
|
inherited |
◆ A2()
void JDAQStateMachine::A2 |
( |
CHSM_ns_alias::event const & |
event | ) |
|
|
inherited |
◆ A3()
void JDAQStateMachine::A3 |
( |
CHSM_ns_alias::event const & |
event | ) |
|
|
inherited |
◆ A4()
void JDAQStateMachine::A4 |
( |
CHSM_ns_alias::event const & |
event | ) |
|
|
inherited |
◆ A5()
void JDAQStateMachine::A5 |
( |
CHSM_ns_alias::event const & |
event | ) |
|
|
inherited |
◆ A6()
void JDAQStateMachine::A6 |
( |
CHSM_ns_alias::event const & |
event | ) |
|
|
inherited |
◆ A7()
void JDAQStateMachine::A7 |
( |
CHSM_ns_alias::event const & |
event | ) |
|
|
inherited |
◆ A8()
void JDAQStateMachine::A8 |
( |
CHSM_ns_alias::event const & |
event | ) |
|
|
inherited |
◆ A9()
void JDAQStateMachine::A9 |
( |
CHSM_ns_alias::event const & |
event | ) |
|
|
inherited |
◆ A10()
void JDAQStateMachine::A10 |
( |
CHSM_ns_alias::event const & |
event | ) |
|
|
inherited |
◆ A11()
void JDAQStateMachine::A11 |
( |
CHSM_ns_alias::event const & |
event | ) |
|
|
inherited |
◆ A12()
void JDAQStateMachine::A12 |
( |
CHSM_ns_alias::event const & |
event | ) |
|
|
inherited |
◆ A13()
void JDAQStateMachine::A13 |
( |
CHSM_ns_alias::event const & |
event | ) |
|
|
inherited |
◆ A14()
void JDAQStateMachine::A14 |
( |
CHSM_ns_alias::event const & |
event | ) |
|
|
inherited |
◆ 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.
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.
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.
◆ getDetectorID()
int JDAQCHSM::getDetectorID |
( |
| ) |
const |
|
inlineinherited |
Get detector identifier.
- Returns
- detector identifier.
Definition at line 100 of file JDAQCHSM.hh.
◆ getRunNumber()
int JDAQCHSM::getRunNumber |
( |
| ) |
const |
|
inlineinherited |
Get run number.
- Returns
- run number
Definition at line 111 of file JDAQCHSM.hh.
◆ actionEnter()
virtual void JDAQCHSM::actionEnter |
( |
| ) |
|
|
inlinevirtualinherited |
◆ actionExit()
virtual void JDAQCHSM::actionExit |
( |
| ) |
|
|
inlinevirtualinherited |
◆ actionPause()
virtual void JDAQCHSM::actionPause |
( |
int |
, |
|
|
const char * |
|
|
) |
| |
|
inlinevirtualinherited |
◆ actionContinue()
virtual void JDAQCHSM::actionContinue |
( |
int |
, |
|
|
const char * |
|
|
) |
| |
|
inlinevirtualinherited |
◆ actionError()
virtual void JDAQCHSM::actionError |
( |
| ) |
|
|
inlinevirtualinherited |
◆ actionRecover()
virtual void JDAQCHSM::actionRecover |
( |
int |
, |
|
|
const char * |
|
|
) |
| |
|
inlinevirtualinherited |
◆ getHostname()
const std::string& KM3NETDAQ::JDAQClient_t::getHostname |
( |
| ) |
const |
|
inlineinherited |
◆ 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.
◆ 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.
◆ 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.
◆ 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.
◆ setClockInterval()
void KM3NETDAQ::JDAQClient_t::setClockInterval |
( |
const long long int |
interval_us | ) |
|
|
inlineinherited |
Set interval time.
- Parameters
-
interval_us | interval time [us] |
Definition at line 164 of file JDAQClient.hh.
◆ resetClock()
void KM3NETDAQ::JDAQClient_t::resetClock |
( |
| ) |
|
|
inlineinherited |
◆ getEventNumber()
int KM3NETDAQ::JDAQClient_t::getEventNumber |
( |
| ) |
const |
|
inlineinherited |
Get last event number.
- Returns
- event number
Definition at line 184 of file JDAQClient.hh.
◆ setEventNumber()
void KM3NETDAQ::JDAQClient_t::setEventNumber |
( |
const int |
event_number | ) |
|
|
inlineinherited |
◆ meta
JMeta KM3NETDAQ::JDataWriter::meta |
◆ MAXIMUM_FILE_NUMBER
const int KM3NETDAQ::JDataWriter::MAXIMUM_FILE_NUMBER = 100 |
|
static |
maximum file number for overwrite protection.
Definition at line 378 of file JDataWriter.cc.
◆ datawriter
◆ path
std::string KM3NETDAQ::JDataWriter::path |
|
private |
◆ timer
◆ numberOfEvents
Long64_t KM3NETDAQ::JDataWriter::numberOfEvents |
|
private |
◆ numberOfBytes
long long int KM3NETDAQ::JDataWriter::numberOfBytes |
|
private |
◆ logErrorRun
◆ logErrorFile
◆ logErrorTag
◆ logErrorState
◆ hostname
std::string KM3NETDAQ::JDataWriter::hostname |
|
private |
◆ writer
◆ buffer
◆ run_db
JRunDB KM3NETDAQ::JDataWriter::run_db |
|
private |
◆ server
◆ logger
◆ select
◆ parser
JParser KM3NETDAQ::JDAQClient::parser |
|
privateinherited |
◆ subscription
◆ root
◆ Main
◆ ev_daq_transitions
const int JDAQStateMachine::ev_daq_transitions |
|
staticprivateinherited |
◆ ev_daq
◆ ev_daq_param_block
char JDAQStateMachine::ev_daq_param_block[sizeof(ev_daq_event::param_block)] |
|
inherited |
◆ ev_init_transitions
const int JDAQStateMachine::ev_init_transitions |
|
staticprivateinherited |
◆ ev_init
◆ ev_init_param_block
char JDAQStateMachine::ev_init_param_block[sizeof(ev_init_event::param_block)] |
|
inherited |
◆ ev_configure_transitions
const int JDAQStateMachine::ev_configure_transitions |
|
staticprivateinherited |
◆ ev_configure
◆ ev_configure_param_block
char JDAQStateMachine::ev_configure_param_block[sizeof(ev_configure_event::param_block)] |
|
inherited |
◆ ev_start_transitions
const int JDAQStateMachine::ev_start_transitions |
|
staticprivateinherited |
◆ ev_start
◆ ev_start_param_block
char JDAQStateMachine::ev_start_param_block[sizeof(ev_start_event::param_block)] |
|
inherited |
◆ ev_pause_transitions
const int JDAQStateMachine::ev_pause_transitions |
|
staticprivateinherited |
◆ ev_pause
◆ ev_pause_param_block
char JDAQStateMachine::ev_pause_param_block[sizeof(ev_pause_event::param_block)] |
|
inherited |
◆ ev_continue_transitions
const int JDAQStateMachine::ev_continue_transitions |
|
staticprivateinherited |
◆ ev_continue
◆ ev_continue_param_block
char JDAQStateMachine::ev_continue_param_block[sizeof(ev_continue_event::param_block)] |
|
inherited |
◆ ev_stop_transitions
const int JDAQStateMachine::ev_stop_transitions |
|
staticprivateinherited |
◆ ev_stop
◆ ev_stop_param_block
char JDAQStateMachine::ev_stop_param_block[sizeof(ev_stop_event::param_block)] |
|
inherited |
◆ ev_reset_transitions
const int JDAQStateMachine::ev_reset_transitions |
|
staticprivateinherited |
◆ ev_reset
◆ ev_reset_param_block
char JDAQStateMachine::ev_reset_param_block[sizeof(ev_reset_event::param_block)] |
|
inherited |
◆ ev_quit_transitions
const int JDAQStateMachine::ev_quit_transitions |
|
staticprivateinherited |
◆ ev_quit
◆ ev_quit_param_block
char JDAQStateMachine::ev_quit_param_block[sizeof(ev_quit_event::param_block)] |
|
inherited |
◆ ev_off_transitions
const int JDAQStateMachine::ev_off_transitions |
|
staticprivateinherited |
◆ ev_off
◆ ev_off_param_block
char JDAQStateMachine::ev_off_param_block[sizeof(ev_off_event::param_block)] |
|
inherited |
◆ ev_check_transitions
const int JDAQStateMachine::ev_check_transitions |
|
staticprivateinherited |
◆ ev_check
◆ ev_check_param_block
char JDAQStateMachine::ev_check_param_block[sizeof(ev_check_event::param_block)] |
|
inherited |
◆ ev_input_transitions
const int JDAQStateMachine::ev_input_transitions |
|
staticprivateinherited |
◆ ev_input
◆ ev_input_param_block
char JDAQStateMachine::ev_input_param_block[sizeof(ev_input_event::param_block)] |
|
inherited |
◆ ev_recover_transitions
const int JDAQStateMachine::ev_recover_transitions |
|
staticprivateinherited |
◆ ev_recover
◆ ev_recover_param_block
char JDAQStateMachine::ev_recover_param_block[sizeof(ev_recover_event::param_block)] |
|
inherited |
◆ ev_error_transitions
const int JDAQStateMachine::ev_error_transitions |
|
staticprivateinherited |
◆ ev_error
◆ ev_error_param_block
char JDAQStateMachine::ev_error_param_block[sizeof(ev_error_event::param_block)] |
|
inherited |
◆ state_
CHSM_ns_alias::state* JDAQStateMachine::state_[11] |
|
privateinherited |
◆ transition_
const CHSM_ns_alias::transition JDAQStateMachine::transition_ |
|
staticprivateinherited |
◆ taken_
const CHSM_ns_alias::event* JDAQStateMachine::taken_[14] |
|
privateinherited |
◆ target_
CHSM_ns_alias::state* JDAQStateMachine::target_[14] |
|
privateinherited |
◆ name
std::string JDAQCHSM::name |
|
protectedinherited |
◆ detector_id
int JDAQCHSM::detector_id |
|
protectedinherited |
◆ run_number
◆ TIMEOUT_S
const int KM3NETDAQ::JDAQClient_t::TIMEOUT_S = 1 |
|
staticinherited |
◆ eventTable
◆ fullname
std::string KM3NETDAQ::JDAQClient_t::fullname |
|
protectedinherited |
◆ unique_tag
JTag KM3NETDAQ::JDAQClient_t::unique_tag |
|
protectedinherited |
◆ clock
◆ event_number
int KM3NETDAQ::JDAQClient_t::event_number |
|
protectedinherited |
The documentation for this class was generated from the following file:
virtual void actionStart(int, const char *)
Level specific message streamers.
virtual void open(const char *file_name)
Open file.
JLANG::JSharedPointer< JControlHost > datawriter
Interface for logging messages.
bool read(std::istream &in)
Read trigger parameters.
static const JNET::JTag RC_FAIL
static const std::string TOKEN_DELIMETER
void setSelect()
Set the file descriptor mask for the select call.
virtual void actionEnter()
Interface methods for actions corresponding to state transitions.
void reset(const int run)
Remove all entries before given run.
const CHSM::state * getState() const
Get current state.
static const JNET::JTag IO_EVENT
virtual void actionContinue(int, const char *)
Data structure to store command line arguments.
virtual void execute(action __action, const CHSM::event &__event)=0
The method to execute the action.
void A5(CHSM_ns_alias::event const &)
JTreeWriter_t writer
TTree writer.
virtual void enterState(const CHSM::state &state, const CHSM::event &event)
Action when entering state.
virtual void actionRecover(int, const char *)
virtual void actionReset(int, const char *)
int getRunNumber() const
Get run number.
JParser parser
parser method enter()
void wait() const
Wait until the number of time intervals has elapsed since the last call to the reset method.
static const int TIMEOUT_S
time out of update [s]
void A3(CHSM_ns_alias::event const &)
virtual void typeout(const std::string &tag, const std::string &message)
Report message.
JDAQStateMachine::ev_check_event ev_check
JFileDescriptorMask & getReaderMask()
Get reader mask.
unsigned long long usec_wall
static const JNET::JTag RC_DWRITER
void run()
Run as run control client following command messages via JNET::JControlHost.
static const JNET::JTag RC_REPLY
const JTag & getTag() const
Get tag.
void typeout()
Report status of data writing.
Structure to store the ToT mean and standard deviation of the hits produced by a nanobeacon in a sour...
const std::string & getName() const
Get name of state machine.
static JNullStream null
Null I/O stream.
JLevel_t getLevel()
Get debug level.
void A6(CHSM_ns_alias::event const &)
JEventTable eventTable
event table
JSharedPointer< JControlHost > server
message server
bool putObject(TDirectory *dir, const T &object)
Write object to ROOT directory.
const_iterator find(const JTag &tag, const std::string &event_name) const
Find entry.
virtual bool filter(const JTag &tag, int length, const char *buffer)
Filter message.
void setLevel(const int __level)
Set debug level.
JSelectReader select
select call
virtual void actionRunning()
This method is repeatedly called when this client machine is in state Running and the clock interval ...
void error(const JMessage_t &message)
void reset(const long long int t0)
Reset time.
void status(const JMessage_t &message)
TFile * getFile() const
Get file.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
static JEvent_t toValue(const std::string &buffer)
Convert string to event.
void replaceEvent(const JTag &oldTag, const JTag &newTag, JDAQEvent_t &event)
Replace tag of given event in event table.
void A8(CHSM_ns_alias::event const &)
JDAQStateMachine::ev_start_event ev_start
virtual void actionPause(int, const char *)
Auxiliary data structure for sequence of same character.
void A2(CHSM_ns_alias::event const &)
virtual void actionTagged(const JTag &tag, int length, const char *buffer)
This method is called when a custom tag is encountered.
bool hasReaderMask(const JAbstractFile &file) const
Has reader file.
std::string getFullPath(const std::string &path)
Get full path, i.e.
virtual void close()
Close file.
Message logging based on std::ostream.
virtual bool exit()
Exit the state machine.
static const int MAXIMUM_FILE_NUMBER
maximum file number for overwrite protection.
void A12(CHSM_ns_alias::event const &)
void setInterval(const long long int interval_us)
Set interval time.
virtual bool enter()
Enter the state machine.
JSubscriptionList & add(const JSubscription &subscription)
Add subscription.
virtual void actionConfigure(int, const char *)
bool isRunning() const
Check if this client is in runnig state.
void update()
Update state machine.
bool is_valid() const
Check validity of logger object.
virtual void actionQuit(int, const char *)
void A14(CHSM_ns_alias::event const &)
Message logging based on ControlHost.
void replace(const JTag &oldTag, const JTag &newTag, JDAQEvent_t &event)
Replace entry in table.
void reset(JLogger *__logger=NULL)
Reset logger.
JDAQStateMachine::state_Main::state_RunControl RunControl
void A4(CHSM_ns_alias::event const &)
static void Throw(const bool option)
Enable/disable throw option.
JDAQStateMachine::ev_error_event ev_error
map_type::iterator iterator
int getDetectorID() const
Get detector identifier.
static const JNET::JTag IO_TRIGGER_PARAMETERS
JSubscriptionList subscription
custom subscription
JMessageLogger logger
message logger
JDAQStateMachine::state_Main::state_RunControl::state_Operational Operational
Simple data structure to support I/O of equations (see class JLANG::JEquation).
virtual void actionCheck(int, const char *)
static const JNET::JTag RC_LOG
void A1(CHSM_ns_alias::event const &)
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
long long int getInterval() const
Get interval time.
const std::string & getFullName() const
Get full name of this run control client.
virtual void actionError()
void setReaderMask(const JAbstractFile &file)
Set reader mask.
bool is_written(const int run) const
Check if trigger parameters have been written for given run.
Utility class to parse parameter values.
JDAQStateMachine::ev_configure_event ev_configure
std::string getStateName(const std::string &name)
Get name of state.
JSubscriptionList getSubscription(const JEventTable &event_table)
Convert event table to ControlHost subscription.
void A13(CHSM_ns_alias::event const &)
void A7(CHSM_ns_alias::event const &)
std::string getMessage(const CHSM::state &state, const CHSM::event &event) const
Get event message.
JMessageScheduler logErrorState
static const JNET::JTag RC_CMD
virtual void actionStop(int, const char *)
virtual void actionExit()
void setClockInterval(const long long int interval_us)
Set interval time.
int event_number
number of last event
JDAQStateMachine::state_Main Main
long long int numberOfBytes
JMessageScheduler logErrorFile
void write(const int run, TFile *file)
Write trigger parameters for given run if not yet done.
char getTokenDelimeter()
Get the token delimeter for command messages.
std::vector< char > buffer
internal buffer for incoming data
std::string toString() const
Convert tag to string.
JDAQClient(const std::string &name, const std::string &server, JLogger *logger, const int level)
Constructor.
JMessageScheduler logErrorRun
void insert()
Insert (list of) data type(s).
virtual void actionInit(int, const char *)
int getSize() const
Get size.
virtual bool is_open() const
Check is file is open.
virtual void actionInput(int, const char *)
std::istream & getline(std::istream &in, JString &object)
Read string from input stream until end of line.
void A11(CHSM_ns_alias::event const &)
long long int getDelay() const
Get total delay time.
void A10(CHSM_ns_alias::event const &)
JTimekeeper clock
central clock
virtual void actionSelect(const JFileDescriptorMask &mask)
Action method following last select call.
int read(const int argc, const char *const argv[])
Parse the program's command line options.
JMessageScheduler logErrorTag
void setEventNumber(const int event_number)
Set last event number.
std::string hostname
host name of data server
void A9(CHSM_ns_alias::event const &)