31int main(
int argc, 
char **argv)
 
   49    JParser<> zap(
"Program to plot PDF of Cherenkov light from EM-shower using interpolation tables.");
 
   53    zap[
'D'] = 
make_field(dir,       
"(theta, phi) of PMT [rad]");
 
   54    zap[
'R'] = 
make_field(D,         
"distance from vertex to PMT [m]");
 
   56    zap[
'E'] = 
make_field(E,         
"Energy [GeV]")               = 0.0;
 
   62  catch(
const exception &error) {
 
   63    FATAL(error.what() << endl);
 
   71      Z.push_back(geanz.getLength(E, (i + 0.5) / (
double) 
numberOfPoints));  
 
   87  const int N = inputFile.size();
 
   94    for (
int i = 0; i != N; ++i) {
 
   96      NOTICE(
"loading input from file " << inputFile[i] << 
"... " << flush);
 
   98      pdf[i].load(inputFile[i].c_str());
 
  100      pdf[i].setExceptionHandler(
new JFunction1D_t::JDefaultResult(
JMATH::zero));
 
  102      npe[i] = JNPE_t(pdf[i]);
 
  110    FATAL(error.what() << endl);
 
  118    if (!x.is_valid()) { x = 
JHistogram_t(100000, -1.0, +1.0); }
 
  120    TH1D h0(
"h0", 
"PDF Projection; D [m]; P [npe]", x.getNumberOfBins(), x.getLowerLimit(), x.getUpperLimit());
 
  123    for (
int ix = 1; ix <= h0.GetNbinsX(); ++ix) {
 
  125      const double cd = h0.GetBinCenter(ix);
 
  131        const double W = 1.0 / (double) Z.size();
 
  133        for (vector<double>::const_iterator z = Z.begin(); z != Z.end(); ++z) {
 
  135          const double __D  = sqrt(D*D - 2.0*(D*cd)*(*z) + (*z)*(*z));
 
  136          const double __cd = (D * cd - (*z)) / __D;
 
  138          for (
int i = 0; i != N; ++i) {
 
  142            catch(
const exception& error) {}
 
  148        for (
int i = 0; i != N; ++i) {
 
  153      h0.SetBinContent(ix, Y);
 
  161    for (
double cd; ; ) {
 
  163      cout << 
"> " << flush;
 
  166      for (
int i = 0; i != N; ++i) {
 
 
Various implementations of functional maps.
 
Longitudinal emission profile EM-shower.
 
General purpose messaging.
 
Numbering scheme for PDF types.
 
Utility class to parse command line options.
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
 
int main(int argc, char **argv)
 
I/O formatting auxiliaries.
 
Data structure for angles in three dimensions.
 
double getTheta() const
Get theta angle.
 
double getPhi() const
Get phi angle.
 
Utility class to parse command line options.
 
Custom class for integrated values of the PDF of the arrival time of Cherenkov light.
 
Multi-dimensional PDF table for arrival time of Cherenkov light.
 
static const JZero zero
Function object to assign zero value.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
Auxiliary data structure for floating point format specification.