7 # ------------------------------------------------------------------------------------------
9 # Example script to run JDAQDriver.
11 # ------------------------------------------------------------------------------------------
15 if [ -z $JPP_DIR ];
then
16 echo "Variable JPP_DIR undefined."
21 source $JPP_DIR/setenv.sh $JPP_DIR >& /dev/
null
23 if ( do_usage $* );
then
42 # re-start ligier for command and logger messages
49 # example to read event associated data from a file
60 # To avoid unnecessary shell processes, the process I/O is redirected to /dev/null and the ssh command is quoted.
61 # Note that process with extension /- will deliberately crash during the configure transition
62 # and process with extension /+ will sleep forever during the exit transition.
64 process JDAQDemoClient/
A $HOST1 ssh \$HOST\$
"JDAQDemoClient -u %/A -H \$SERVER\$ -M \$LOGGER\$ -d $DEBUG </dev/null >&/dev/null &";
67 process JDAQDemoClient/+ $HOST4 ssh \$HOST\$
"JDAQDemoClient -u \$NAME\$ -H \$SERVER\$ -M \$LOGGER\$ -d $DEBUG </dev/null >&/dev/null &";
74 # Client with extension /- should have crashed by now.
75 # So, put failed clients to sleep with names containing given character sequence.
91 # The following process is assumed to run 'forever', i.e.
92 # it is started before the driver and continues thereafter.
93 # It is therefore killed by hand at the end of the show.
95 JDAQDemoClient -
u JDAQDemoClient/B -
P $PORT &
99 JDAQDriver -
H $SERVER -
M $LOGGER -
d $DEBUG -t $TIMEOUT_S -
f driver.txt -c
then JLigiers sh continue fi cat driver txt<< EOFprocess dfilter $HOST1 ssh\$HOST\$"JDataFilter -H \$SERVER\$ -M \$LOGGER\$ -d $DEBUG &";enterevent ev_init{RC_CMD%< ev_init.txt > from me< ev_init.txt > event ev_configure
void set_variable(const std::string &name, const std::string &value)
Set environment variable.
then usage $script[host[local file]] fi case set_variable LOGGER
static const double H
Planck constant [eV s].
then cat ev_configure txt<< EOFdatawriter=$DWRITER_HOST;inputFile=$INPUT_FILE;eventRate_Hz=100.0;EOFfiif[[!-f driver.txt]];thencat > driver txt<< EOFprocess JEventGenerator $HOST ssh\$HOST\$"$JPP_BIN/JEventGenerator -u \$NAME\$ -H \$SERVER\$ -M \$LOGGER\$ -d $DEBUG </dev/null >& dev null& process JDataWriter $HOST ssh $HOST $JPP_BIN JDataWriter u $NAME H $SERVER M $LOGGER d $DEBUG</dev/null >& dev null& enter event ev_init
then rm i $OUTPUT_FILE fi let RUN
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
do sleep done JPutMessage H $LOGGER t MSG m Hello world
then JLigier sh continue fi cat ev_init txt<< EOFhello worldEOFcat > driver txt<< EOFprocess JDAQDemoClient/A $HOST1 ssh\$HOST\$"JDAQDemoClient -u %/A -H \$SERVER\$ -M \$LOGGER\$ -d $DEBUG </dev/null >& dev null& process JDAQDemoClient B $HOST2 JDAQClientStarter H $HOST3
static const JNET::JTag RC_CMD
source $JPP_DIR setenv csh $JPP_DIR eval JShellParser o a A
esac $JPP_BIN JLogger sh $LOGGER until pgrep JGetMessage</dev/null > dev null
then usage $script fi SERVER
#define DEBUG(A)
Message macros.