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.");
 
   85   catch(
const exception &error) {
 
   86     FATAL(error.what() << endl);
 
   90   typedef double (
JPDF::*fcn)(
const double,
 
  116   typedef JSplineFunction1D_t                                     JFunction1D_t;
 
  117   typedef JMAPLIST<JPolint1FunctionalMap,
 
  118                    JPolint1FunctionalGridMap>::maplist            JMapList_t;
 
  119   typedef JPDFTable<JFunction1D_t, JMapList_t>                    JPDF_t;
 
  121   typedef JPDFTransformer<2, JFunction1D_t::argument_type>        JFunction2DTransformer_t;
 
  122   typedef JArray<2, JFunction1D_t::argument_type>                 JArray_t;
 
  127   NOTICE(
"building multi-dimensional function object <" << 
function << 
">... " << flush);
 
  129   const double ng[] = { pdf_c.getIndexOfRefractionGroup(wmax),
 
  130                         pdf_c.getIndexOfRefractionGroup(wmin) };
 
  137   if (zmap.find(
function) == zmap.end()) {
 
  138     FATAL(
"illegal function specifier" << endl);
 
  141   fcn                      
f           = zmap[
function].first;    
 
  142   JFunction2DTransformer_t transformer = zmap[
function].second;   
 
  166     for (
double buffer[] = { 0.0, 0.005, 0.01, 0.015, -1 }, *
x = buffer; *
x >= 0; ++
x) {
 
  171     for (
double x = 0.02; 
x < 0.99; 
x += 0.01)
 
  237     const double D_m = *
d;
 
  239     for (
double dc = 0.1, ct = -1.0; ct < +1.0 + 0.5*dc; ct += dc) {
 
  241       JFunction1D_t& 
f1 = pdf[D_m][ct];
 
  243       const JArray_t array(D_m, ct);
 
  245       double t_old = transformer.getXn(array, *
X.begin());
 
  250         const double t = transformer.getXn(array, *
x);
 
  251         const double y = (pdf_c.*
f)(D_m, ct, t);
 
  256             WARNING(
"dt < 0 " << *
x << 
' ' << D_m << 
' ' << t << 
' ' << y << endl);
 
  278   pdf.transform(transformer);
 
  291   catch(
const JException& error) {
 
  292     FATAL(error.what() << endl);
 
Utility class to parse command line options. 
int main(int argc, char *argv[])
o $QUALITY_ROOT d $DEBUG!CHECK_EXIT_CODE JPlot1D f
Properties of Antares PMT and deep-sea water. 
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. 
const JPolynome f1(1.0, 2.0, 3.0)
Function. 
Properties of KM3NeT PMT and deep-sea water. 
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. 
double getPhotocathodeArea()
Get photo-cathode area of PMT. 
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)
Get absorption length. 
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
Utility class to parse command line options. 
double getScatteringLength(const double lambda)
Get scattering length. 
double scatteringLengthFactor
no fit printf nominal n $STRING awk v X
do echo Generating $dir eval D
double getAngularAcceptance(const double x)
Angular acceptence of PMT. 
Auxiliary data structure for muon PDF.