54 int main(
int argc, 
char **argv)
 
   68     JParser<> zap(
"Program to create interpolation tables of the PDF of the arrival time of the Cherenkov light from a bright point.");
 
   72     zap[
'e'] = 
make_field(epsilon,                
"precision for integration")  = 1.0e-10;
 
   85   catch(
const exception &error) {
 
   86     FATAL(error.what() << endl);
 
   91   typedef double (
JPDF::*fcn)(
const double,
 
  117   typedef JSplineFunction1D_t                                     JFunction1D_t;
 
  118   typedef JMAPLIST<JPolint1FunctionalMap,
 
  119                    JPolint1FunctionalGridMap>::maplist            JMapList_t;
 
  120   typedef JPDFTable<JFunction1D_t, JMapList_t>                    JPDF_t;
 
  122   typedef JPDFTransformer<2, JFunction1D_t::argument_type>        JFunction2DTransformer_t;
 
  123   typedef JArray<2, JFunction1D_t::argument_type>                 JArray_t;
 
  128   NOTICE(
"building multi-dimensional function object <" << 
function << 
">... " << flush);
 
  130   const double ng[] = { pdf_c.getIndexOfRefractionGroup(wmax),
 
  131                         pdf_c.getIndexOfRefractionGroup(wmin) };
 
  138   if (zmap.find(
function) == zmap.end()) {
 
  139     FATAL(
"illegal function specifier" << endl);
 
  142   fcn                      
f           = zmap[
function].first;    
 
  143   JFunction2DTransformer_t transformer = zmap[
function].second;   
 
  167     for (
double buffer[] = { 0.0, 0.005, 0.01, 0.015, -1 }, *x = buffer; *x >= 0; ++x) {
 
  172     for (
double x = 0.02; x < 0.99; x += 0.01)
 
  238     const double D_m = *
d;
 
  240     for (
double dc = 0.1, ct = -1.0; ct < +1.0 + 0.5*dc; ct += dc) {
 
  242       JFunction1D_t& f1 = pdf[D_m][ct];
 
  244       const JArray_t array(D_m, ct);
 
  246       double t_old = transformer.getXn(array, *
X.begin());
 
  251         const double t = transformer.getXn(array, *x);
 
  252         const double y = (pdf_c.*
f)(D_m, ct, t);
 
  257             WARNING(
"dt < 0 " << *x << 
' ' << D_m << 
' ' << t << 
' ' << y << endl);
 
  279   pdf.transform(transformer);
 
  292   catch(
const JException& error) {
 
  293     FATAL(error.what() << endl);
 
Utility class to parse command line options. 
 
int main(int argc, char *argv[])
 
const double getPhotocathodeArea()
Photo-cathode area 10 inch PMT. 
 
Optical properties of Antares deep-sea site. 
 
double absorptionLengthFactor
Scaling of absorption and scattering length. 
 
double getScatteringProbability(const double x)
Function to describe light scattering in water. 
 
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
 
double getMinimalWavelength()
Get minimal wavelength for PDF evaluations. 
 
direct light from bright point 
 
Various implementations of functional maps. 
 
Optical properties of KM3NeT deep-sea site. 
 
double getMaximalWavelength()
Get maximal wavelength for PDF evaluations. 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
double getQE(const double R, const double mu)
Get QE for given ratio of hit probabilities and expectation value of the number of photo-electrons...
 
double getAmbientPressure()
Get ambient pressure. 
 
then break fi done getCenter read X Y Z let X
 
General purpose messaging. 
 
scattered light from bright point 
 
Empty structure for specification of parser element that is not initialised (i.e. does require input)...
 
Auxiliary classes for numerical integration. 
 
double getAbsorptionLength(const double lambda)
Absoption length. 
 
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
 
Utility class to parse command line options. 
 
double getScatteringLength(const double lambda)
Scattering length. 
 
double scatteringLengthFactor
 
do echo Generating $dir eval D
 
double getAngularAcceptance(const double x)
Angular acceptence of PMT. 
 
Auxiliary data structure for muon PDF.