329     JParser<> zap(
"Example program for sound ray tracing.");
 
  338   catch(
const exception &error) {
 
  339     FATAL(error.what() << endl);
 
  345   const JBellhop bellhop(
V, precision);
 
  360       cout << 
"> " << flush;
 
  361       cin  >> x0 >> z0 >> x1 >> z1;
 
  366         const double     D      = hypot(x1 - x0, z1 - z0);
 
  367         const sin_t      s0     = bellhop(x0, z0, x1, z1); 
 
  368         const JBellhop_t 
result = bellhop(s0, x0, z0, x1, z1);
 
  370         cout << 
"s  " << 
SCIENTIFIC(12,5) << (x1 - x0) / D                    << endl;
 
  371         cout << 
"s0 " << 
SCIENTIFIC(12,5) << s0.value << 
' ' << s0.option     << endl;
 
  372         cout << 
"s1 " << 
SCIENTIFIC(12,5) << result.s.value                   << endl;
 
  373         cout << 
"x' " << 
FIXED     (12,5) << result.x             << 
" [m]"   << endl;
 
  374         cout << 
"z' " << 
FIXED     (12,5) << result.z             << 
" [m]"   << endl;
 
  375         cout << 
"D  " << 
FIXED     (12,5) << D                    << 
" [m]"   << endl;
 
  376         cout << 
"D' " << 
FIXED     (12,5) << result.d             << 
" [m]"   << endl;
 
  377         cout << 
"t  " << 
FIXED     (12,5) << 
V.getTime(D, z0, z1) << 
" [s]"   << endl;
 
  378         cout << 
"t' " << 
FIXED     (12,5) << result.t             << 
" [s]"   << endl;
 
  381         const double v0 = 
V(z0);
 
  382         const double v1 = 
V(z1);
 
  383         const double b  = (v1 - v0) / (z1 - z0);
 
  384         const double c  =  v1 / v0;
 
  385         const double u  = (v0 + v1) / v1;
 
  386         const double v  = (v0 - v1) / v1;
 
  387         const double st = s0.value;
 
  389         cout << 
"v0 " << 
FIXED     (12,5) << v0                   << 
" [m/s]" << endl;
 
  390         cout << 
"v1 " << 
FIXED     (12,5) << v1                   << 
" [m/s]" << endl;
 
  396           dx = (sqrt(2.0 + st) * sqrt(0.0 - st) - sqrt(1.0 + c + c * st) * sqrt(1.0 - c - c * st)) * v0 / (1.0 + st) / b;
 
  400           dx = (sqrt(1.0 + st) * sqrt(1.0 - st) - sqrt(1.0   +   c * st) * sqrt(1.0   -   c * st)) * v0 / (   st   ) / b;
 
  403         cout << 
"x' " << 
FIXED     (12,5) << dx                   << 
" [m]"   << endl;
 
  405         const double x =  s0.getc();
 
  406         const double y = (s0.option ? c * sqrt(u + st) * sqrt(v - st) : sqrt(1.0 + c * st) * sqrt(1.0 - c * st));
 
  408         cout << 
"t' " << 
FIXED     (12,5) << (atanh(x) - atanh(y)) / b        << endl;
 
  410       catch(
const exception& error) {
 
  411         cerr << error.what() << endl;
 
  417     const double x0 =    0.0;
 
  418     const double z0 =    0.0;
 
  425     TH2D h2(
"h2", NULL, 50, 1.0, 3.5, 50, -1.0, 3.0);
 
  427     for (
int ix = 1; ix <= h2.GetXaxis()->GetNbins(); ++ix) {
 
  428       for (
int iy = 1; iy <= h2.GetYaxis()->GetNbins(); ++iy) {
 
  430         const double x1 = 
pow(10.0, h2.GetXaxis()->GetBinCenter(ix));
 
  431         const double z1 = 
pow(10.0, h2.GetYaxis()->GetBinCenter(iy));
 
  438           const double     D      = hypot(x1 - x0, z1 - z0);
 
  439           const sin_t      s0     = bellhop(x0, z0, x1, z1); 
 
  440           const JBellhop_t result = bellhop(s0, x0, z0, x1, z1);
 
  442           Qx.put(result.x - x1);
 
  443           Qz.put(result.z - z1);
 
  445           h2.SetBinContent(ix, iy, (result.t - 
V.getTime(D, z0, z1)) * 1.0e6);  
 
  447         catch(
const exception& error) {
 
  448           ERROR(error.what() << endl);
 
Utility class to parse command line options. 
 
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
 
Auxiliary data structure for floating point format specification. 
 
V(JDAQEvent-JTriggerReprocessor)*1.0/(JDAQEvent+1.0e-10)
 
static const JSoundVelocity getSoundVelocity(1541.0,-17.0e-3,-2000.0)
Function object for velocity of sound. 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
T pow(const T &x, const double y)
Power . 
 
$WORKDIR ev_configure_dqsimulator txt echo process $DQ_SIMULATOR $i $SOURCE_HOST[$index] csh c(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&($DQ_SIMULATOR\-u\$NAME\$\-H\$SERVER\$\-M\$LOGGER\$\-d $DEBUG</dev/null > &/dev/null &))'
 
Auxiliary data structure for floating point format specification. 
 
do echo Generating $dir eval D
 
#define DEBUG(A)
Message macros.