49 JPDF(
const std::string& file_name,
52 const double epsilon = 1.0e-10)
57 const JPDF_t::JSupervisor supervisor(
new JPDF_t::JDefaultResult(zero));
59 cout <<
"loading input from file " << file_name <<
"... " << flush;
67 type = getPDFType(file_name);
71 cout <<
"bluring PDFs... " << flush;
77 }
else if (TTS < 0.0) {
101 const double t1)
const
107 if (is_bremsstrahlung(
type)) {
109 }
else if (is_deltarays(
type)) {
110 h1 *= JDeltaRays::getEnergyLossFromMuon(E);
162 const double epsilon = 1.0e-10)
168 DIRECT_LIGHT_FROM_MUON,
169 SCATTERED_LIGHT_FROM_MUON,
170 DIRECT_LIGHT_FROM_EMSHOWERS,
171 SCATTERED_LIGHT_FROM_EMSHOWERS,
172 DIRECT_LIGHT_FROM_DELTARAYS,
173 SCATTERED_LIGHT_FROM_DELTARAYS
176 const int N =
sizeof(pdf_t) /
sizeof(pdf_t[0]);
180 const JPDF_t::JSupervisor supervisor(
new JPDF_t::JDefaultResult(zero));
182 for (
int i = 0; i != N; ++i) {
184 const string file_name = getFilename(fileDescriptor, pdf_t[i]);
186 cout <<
"loading input from file " << file_name <<
"... " << flush;
188 pdf[i].
load(file_name.c_str());
192 cout <<
"OK" << endl;
197 cout <<
"adding PDFs... " << flush;
203 cout <<
"OK" << endl;
207 cout <<
"bluring PDFs... " << flush;
213 cout <<
"OK" << endl;
215 }
else if (TTS < 0.0) {
239 const double t1)
const
244 pdfB(R, theta, phi, t1) * E +
245 pdfC(R, theta, phi, t1) * JDeltaRays::getEnergyLossFromMuon(E));
298 const double epsilon = 1.0e-10)
304 SCATTERED_LIGHT_FROM_EMSHOWER,
305 DIRECT_LIGHT_FROM_EMSHOWER
308 const int N =
sizeof(pdf_t) /
sizeof(pdf_t[0]);
310 const JPDF_t::JSupervisor supervisor(
new JPDF_t::JDefaultResult(zero));
312 for (
int i = 0; i != N; ++i) {
314 const string file_name = getFilename(fileDescriptor, pdf_t[i]);
316 cout <<
"loading input from file " << file_name <<
"... " << flush;
320 pdf.
load(file_name.c_str());
329 cout <<
"OK" << endl;
334 cout <<
"bluring PDFs... " << flush;
338 cout <<
"OK" << endl;
340 }
else if (TTS < 0.0) {
366 const double t1)
const
General purpose class for a collection of sorted elements.
The elements in a collection are sorted according to their abscissa values and a given distance opera...
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Numbering scheme for PDF types.
This include file containes various data structures that can be used as specific return types for the...
Definition of zero value for any class.
Exception for accessing a value in a collection that is outside of its range.
Multi-dimensional PDF table for arrival time of Cherenkov light.
void blur(const double TTS, const int numberOfPoints=25, const double epsilon=1.0e-10, const double quantile=0.99)
Blur PDF.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
void load(const char *file_name)
Load from input file.
Auxiliary data structure for muon PDF.
JPP::JSplineFunction1D< JPP::JSplineElement2S< double, double >, JPP::JCollection, JPP::JResultPDF< double > > JFunction1D_t
JPP::JMAPLIST< JPP::JPolint1FunctionalMap, JPP::JPolint0FunctionalGridMap, JPP::JPolint0FunctionalGridMap >::maplist JPDFMaplist_t
JPP::JPDFTable< JFunction1D_t, JPDFMaplist_t > JPDF_t
JPDF_t pdfB
PDF for average energy losses.
JMuonPDF_t(const std::string &fileDescriptor, const double TTS, const int numberOfPoints=25, const double epsilon=1.0e-10)
Constructor.
JPDF_t pdfC
PDF for delta-rays.
JFunction1D_t::result_type result_type
result_type calculate(const double E, const double R, const double theta, const double phi, const double t1) const
Get PDF.
JPDF_t pdfA
PDF for minimum ionising particle.
Auxiliary data structure for muon PDF.
JPP::JMAPLIST< JPP::JPolint1FunctionalMap, JPP::JPolint0FunctionalGridMap, JPP::JPolint0FunctionalGridMap >::maplist JPDFMaplist_t
JPP::JSplineFunction1D< JPP::JSplineElement2S< double, double >, JPP::JCollection, JPP::JResultPDF< double > > JFunction1D_t
result_type calculate(const double E, const double R, const double theta, const double phi, const double t1) const
Get PDF.
JPDF(const std::string &file_name, const double TTS, const int numberOfPoints=25, const double epsilon=1.0e-10)
Constructor.
JPP::JPDFTable< JFunction1D_t, JPDFMaplist_t > JPDF_t
JFunction1D_t::result_type result_type
Auxiliary data structure for shower PDF.
JShowerPDF_t(const std::string &fileDescriptor, const double TTS, const int numberOfPoints=25, const double epsilon=1.0e-10)
Constructor.
JFunction1D_t::result_type result_type
JPP::JMAPLIST< JPP::JPolint1FunctionalMap, JPP::JPolint1FunctionalMap, JPP::JPolint0FunctionalGridMap, JPP::JPolint0FunctionalGridMap >::maplist JPDFMaplist_t
JPDF_t pdfA
PDF for shower.
result_type calculate(const double E, const double D, const double cd, const double theta, const double phi, const double t1) const
Get PDF.
JPP::JSplineFunction1D< JPP::JSplineElement2S< double, double >, JPP::JCollection, JPP::JResultPDF< double > > JFunction1D_t
JPP::JPDFTable< JFunction1D_t, JPDFMaplist_t > JPDF_t