30   typedef JToken<';'>                  JToken_t;
 
   31   typedef JAbstractHistogram<Double_t> JHistogram_t;
 
   47     JParser<> zap(
"Program to create TH2D and fill according given formula.");
 
   55     zap[
'x'] = 
make_field(
X)               = JHistogram_t(100, -1.0, +1.0);
 
   56     zap[
'y'] = 
make_field(
Y)               = JHistogram_t(100, -1.0, +1.0);
 
   57     zap[
'z'] = 
make_field(
Z)               = JHistogram_t(100, -1.0, +1.0);    
 
   63   catch(
const exception &error) {
 
   64     FATAL(error.what() << endl);
 
   68   if ((formula != 
"" && inputFile != 
"") ||
 
   69       (formula == 
"" && inputFile == 
"")) {
 
   70     FATAL(
"Specify input file or formula." << endl);
 
   76   TH3D h0(title.c_str(), NULL,
 
   77           X.getNumberOfBins(), 
X.getLowerLimit(), 
X.getUpperLimit(),
 
   78           Y.getNumberOfBins(), 
Y.getLowerLimit(), 
Y.getUpperLimit(),
 
   79           Z.getNumberOfBins(), 
Z.getLowerLimit(), 
Z.getUpperLimit());
 
   83     TF3 
f3(
"f3", formula.c_str());
 
   89     if (numberOfEvents > 0) {
 
   92       h0.FillRandom(
f3.GetName(), numberOfEvents);
 
   96       for (Int_t ix = 1; ix <= h0.GetXaxis()->GetNbins(); ++ix) {
 
   97         for (Int_t iy = 1; iy <= h0.GetYaxis()->GetNbins(); ++iy) {
 
   98           for (Int_t iz = 1; iz <= h0.GetZaxis()->GetNbins(); ++iz) {
 
  100             h0.SetBinContent(ix, iy, iz, 
f3.Eval(h0.GetXaxis()->GetBinCenter(ix),
 
  101                                                  h0.GetYaxis()->GetBinCenter(iy),
 
  102                                                  h0.GetZaxis()->GetBinCenter(iz)));
 
  107   } 
else if (inputFile != 
"") {
 
  113     ifstream 
in(inputFile.c_str());
 
  115     for (
double x, y, z; 
in >> x >> y >> z; ) {
 
Utility class to parse command line options. 
double getValue(const JScale_t scale)
Get numerical value corresponding to scale. 
int getParameter(const std::string &text)
Get parameter number from text string. 
*fatal Wrong number of arguments esac JCookie sh typeset Z DETECTOR typeset Z SOURCE_RUN typeset Z TARGET_RUN set_variable PARAMETERS_FILE $WORKDIR parameters
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
then fatal Wrong number of arguments fi set_variable STRING $argv[1] set_variable DETECTORXY_TXT $WORKDIR $DETECTORXY_TXT tail read X Y CHI2 RMS printf optimum n $X $Y $CHI2 $RMS awk v Y
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
no fit printf nominal n $STRING awk v X
do set_variable MODULE getModule a $WORKDIR detector_a datx L $STRING JEditDetector a $WORKDIR detector_a datx M $MODULE setz o $WORKDIR detector_a datx JEditDetector a $WORKDIR detector_b datx M $MODULE setz o $WORKDIR detector_b datx done echo Output stored at $WORKDIR detector_a datx and $WORKDIR tripod_a txt JDrawDetector2D a $WORKDIR detector_a datx a $WORKDIR detector_b datx L BL o detector $FORMAT $BATCH JDrawDetector2D T $WORKDIR tripod_a txt T $WORKDIR tripod_b txt L BL o tripod $FORMAT $BATCH JCompareDetector a $WORKDIR detector_a datx b $WORKDIR detector_b datx o $WORKDIR abc root &dev null for KEY in X Y Z
double f3(const double x, const double y, const double z)
3D function. 
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in