23int main(
int argc,
char **argv)
33 JParser<> zap(
"Auxiliary program histogram plot absorption and scattering lengths as well as dispersion.");
40 catch(
const exception &error) {
41 FATAL(error.what() << endl);
47 TH1D h0(
"abs[Antares]", NULL, 400, 280.0, 680.0);
48 TH1D h1(
"abs[KM3NeT]", NULL, 400, 280.0, 680.0);
49 TH1D h2(
"scat[Antares]", NULL, 400, 280.0, 680.0);
50 TH1D h3(
"scat[KM3NeT]", NULL, 400, 280.0, 680.0);
51 TH1D hp(
"pure", NULL, 400, 280.0, 680.0);
53 TH1D h4(
"vp[Antares]", NULL, 400, 280.0, 680.0);
54 TH1D h5(
"vp[KM3NeT]", NULL, 400, 280.0, 680.0);
55 TH1D h6(
"vg[Antares]", NULL, 400, 280.0, 680.0);
56 TH1D h7(
"vg[KM3NeT]", NULL, 400, 280.0, 680.0);
58 TH1D h8(
"Ps[Antares]", NULL, 5000, -1.0, +1.0);
59 TH1D h9(
"Ps[KM3NeT]", NULL, 5000, -1.0, +1.0);
60 TH1D ha(
"f4", NULL, 5000, -1.0, +1.0);
61 TH1D hb(
"p00075", NULL, 5000, -1.0, +1.0);
62 TH1D hc(
"petzhold", NULL, 5000, -1.0, +1.0);
67 for (
int i = 1; i <= h0.GetNbinsX(); ++i) {
69 const double x = h0.GetBinCenter (i);
71 h0.SetBinContent(i, ANTARES::getAbsorptionLength(x));
72 h1.SetBinContent(i, KM3NET ::getAbsorptionLength(x));
73 h2.SetBinContent(i, ANTARES::getScatteringLength(x));
74 h3.SetBinContent(i, KM3NET ::getScatteringLength(x));
75 hp.SetBinContent(i, getAbsorptionLengthOfPureWater(x));
78 h5.SetBinContent(i, km3net .getIndexOfRefractionPhase(x));
80 h7.SetBinContent(i, km3net .getIndexOfRefractionGroup(x));
83 double W[] = { 0.0, 0.0, 0.0 };
85 for (
int i = 1; i <= h8.GetNbinsX(); ++i) {
87 const double x = h8.GetBinCenter (i);
88 const double dx = h8.GetBinWidth (i);
90 h8.SetBinContent(i, ANTARES ::getScatteringProbability(x));
91 h9.SetBinContent(i, KM3NET ::getScatteringProbability(x));
101 for (
int i = 0; i !=
sizeof(W)/
sizeof(W[0]); ++i) {
102 DEBUG(
"W[" << i <<
"] = " << W[i] << endl);