38   string      fileDescriptor;
 
   43     JParser<> zap(
"Program to convert multi-dimensional histograms of muon light to multi-dimensional PDFs.");
 
   46     zap[
'o'] = 
make_field(fileDescriptor)      = 
"J%p.dat";
 
   51   catch(
const exception &error) {
 
   52     FATAL(error.what() << endl);
 
   57     FATAL(
"error file descriptor " << fileDescriptor << endl);
 
   63                                        JMAPLIST<JHistogramMap_t,
 
   65                                                 JHistogramGridMap_t>::maplist> JMultiHistogram_t;
 
   67   typedef JPDFTransformer<3, abscissa_type>                         JFunction3DTransformer_t;
 
   73   h1.transformer.reset(
new JFunction3DTransformer_t());
 
   74   h2.transformer.reset(
new JFunction3DTransformer_t());
 
   79   JFileStreamReader 
in(inputFile.c_str());
 
   81   for (JMultiHistogram_t* p : { &h0, &
h1, &h2 }) {
 
   90   for (JMultiHistogram_t::super_iterator
 
   91          i0 = h0.super_begin(),
 
   92          i1 = 
h1.super_begin(),
 
   93          i2 = h2.super_begin(); i0 != h0.super_end(); ++i0, ++i1, ++i2) {
 
   95     const double W = i0.getValue().getIntegral();
 
   99       const JDirection3D 
u(JAngle3D(i0->second->first, i0->second->second->first));
 
  102       int number_of_bins = (int) (2 + 
u.getDot(
v));
 
  116     const JMultiHistogram_t& value;
 
  125   typedef JPDFTable<JPolint1Function1D_t, 
 
  126                     JMAPLIST<JPolint1FunctionalMap,
 
  127                              JPolint1FunctionalGridMap,
 
  128                              JPolint1FunctionalGridMap>::maplist> JPDF_t;
 
  130   for (
int i = 0; i != 
sizeof(ntuple)/
sizeof(ntuple[0]); ++i) {
 
  132     const string file_name = 
getFilename(fileDescriptor, ntuple[i].type);
 
  136       NOTICE(
"storing output to file " << file_name << 
"... " << flush);
 
  138       const JPDF_t pdf(ntuple[i].value);
 
  140       pdf.store(file_name.c_str());
 
  144     catch(
const JException& error) {
 
  145       FATAL(error.what() << endl);
 
Utility class to parse command line options. 
 
then for HISTOGRAM in h0 h1
 
double getCosThetaC()
Get average cosine of Cherenkov angle of water corresponding to group velocity. 
 
scattered light from muon 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
scattered light from EM showers 
 
std::string getFilename(const std::string &file_name)
Get file name part, i.e. part after last JEEP::PATHNAME_SEPARATOR if any. 
 
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 source JAcoustics sh $DETECTOR_ID typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
 
double getSinThetaC()
Get average sine of Cherenkov angle of water corresponding to group velocity. 
 
bool hasWildCard(const std::string &file_name)
Check wild card.