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,
127 NOTICE(
"building multi-dimensional function object <" <<
function <<
">... " << flush);
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);
292 FATAL(error.what() << endl);
Properties of Antares PMT and deep-sea water.
double getAngularAcceptance(const double x)
Angular acceptence of PMT.
Various implementations of functional maps.
int main(int argc, char **argv)
double getAbsorptionLength(const double lambda)
double getScatteringLength(const double lambda)
double absorptionLengthFactor
Scaling of absorption and scattering length.
double scatteringLengthFactor
General purpose messaging.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Auxiliary classes for numerical integration.
Properties of KM3NeT PMT and deep-sea water.
Utility class to parse command line options.
virtual double getIndexOfRefractionGroup(const double lambda) const
Index of refraction for group velocity.
Multi-dimensional PDF table for arrival time of Cherenkov light.
Probability Density Functions of the time response of a PMT with an implementation of the JAbstractPM...
Low level interface for the calculation of the Probability Density Functions (PDFs) of the arrival ti...
double getAmbientPressure()
Get ambient pressure.
double getScatteringProbability(const double x)
Function to describe light scattering in water.
double getPhotocathodeArea()
Get photo-cathode area of PMT.
const JPolynome f1(1.0, 2.0, 3.0)
Function.
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 getMinimalWavelength()
Get minimal wavelength for PDF evaluations.
@ SCATTERED_LIGHT_FROM_BRIGHT_POINT
scattered light from bright point
@ DIRECT_LIGHT_FROM_BRIGHT_POINT
direct light from bright point
double getMaximalWavelength()
Get maximal wavelength for PDF evaluations.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
Empty structure for specification of parser element that is not initialised (i.e. does require input)...