32 int main(
int argc, 
char **argv)
 
   50     JParser<> zap(
"Program to plot PDF of Cherenkov light from EM-shower using interpolation tables.");
 
   54     zap[
'D'] = 
make_field(dir,       
"(theta, phi) of PMT [rad]");
 
   57     zap[
'E'] = 
make_field(E,         
"Energy [GeV]")               = 0.0;
 
   63   catch(
const exception &error) {
 
   64     FATAL(error.what() << endl);
 
   88   const int N = inputFile.size();
 
   95     for (
int i = 0; i != N; ++i) {
 
   97       NOTICE(
"loading input from file " << inputFile[i] << 
"... " << flush);
 
   99       pdf[i].load(inputFile[i].c_str());
 
  101       pdf[i].setExceptionHandler(
new JFunction1D_t::JDefaultResult(
JMATH::zero));
 
  103       npe[i] = JNPE_t(pdf[i]);
 
  109     FATAL(error.what() << endl);
 
  118   TH2D h0(
"h0", 
"PDF Projection; D [m]; cos #theta_{0}",
 
  119           x.getNumberOfBins(), 
x.getLowerLimit(), 
x.getUpperLimit(),
 
  120           y.getNumberOfBins(), 
y.getLowerLimit(), 
y.getUpperLimit());
 
  122   for (
int ix = 1; ix <= h0.GetNbinsX(); ++ix) {
 
  123     for (
int iy = 1; iy <= h0.GetNbinsY(); ++iy) {
 
  125       const double cd = h0.GetYaxis()->GetBinCenter(iy);
 
  126       const double D  = h0.GetXaxis()->GetBinCenter(ix);
 
  132         const double W = 1.0 / (double) Z.size();
 
  136           const double __D  = sqrt(D*D - 2.0*(D*cd)*(*z) + (*z)*(*z));
 
  137           const double __cd = (D * cd - (*z)) / __D; 
 
  139           for (
int i = 0; i != N; ++i) {
 
  143             catch(
const exception& error) {}
 
  149         for (
int i = 0; i != N; ++i) {  
 
  154       h0.SetBinContent(ix, iy, Y);      
 
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.
 
double getLength(const double E, const double P, const double eps=1.0e-3) const
Get shower length for a given integrated probability.
 
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.
 
JAbstractHistogram< double > JHistogram_t
Type definition for scan along axis.
 
static const JZero zero
Function object to assign zero value.
 
static const JGeanz geanz(1.85, 0.62, 0.54)
Function object for longitudinal EM-shower profile.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).