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 *= getDeltaRaysFromMuon(E);
162 const double epsilon = 1.0e-10)
167 const JPDFType_t pdf_t[] = { DIRECT_LIGHT_FROM_MUON,
168 SCATTERED_LIGHT_FROM_MUON,
169 DIRECT_LIGHT_FROM_EMSHOWERS,
170 SCATTERED_LIGHT_FROM_EMSHOWERS,
171 DIRECT_LIGHT_FROM_DELTARAYS,
172 SCATTERED_LIGHT_FROM_DELTARAYS };
174 const int N =
sizeof(pdf_t) /
sizeof(pdf_t[0]);
178 const JPDF_t::JSupervisor supervisor(
new JPDF_t::JDefaultResult(zero));
180 for (
int i = 0; i != N; ++i) {
182 const string file_name = getFilename(fileDescriptor, pdf_t[i]);
184 cout <<
"loading input from file " << file_name <<
"... " << flush;
186 pdf[i].
load(file_name.c_str());
190 cout <<
"OK" << endl;
195 cout <<
"adding PDFs... " << flush;
201 cout <<
"OK" << endl;
205 cout <<
"bluring PDFs... " << flush;
211 cout <<
"OK" << endl;
213 }
else if (TTS < 0.0) {
237 const double t1)
const
242 pdfB(R, theta, phi, t1) * E +
243 pdfC(R, theta, phi, t1) * getDeltaRaysFromMuon(E));
296 const double epsilon = 1.0e-10)
301 const JPDFType_t pdf_t[] = { SCATTERED_LIGHT_FROM_EMSHOWER,
302 DIRECT_LIGHT_FROM_EMSHOWER };
304 const int N =
sizeof(pdf_t) /
sizeof(pdf_t[0]);
306 const JPDF_t::JSupervisor supervisor(
new JPDF_t::JDefaultResult(zero));
308 for (
int i = 0; i != N; ++i) {
310 const string file_name = getFilename(fileDescriptor, pdf_t[i]);
312 cout <<
"loading input from file " << file_name <<
"... " << flush;
316 pdf.
load(file_name.c_str());
325 cout <<
"OK" << endl;
330 cout <<
"bluring PDFs... " << flush;
334 cout <<
"OK" << endl;
336 }
else if (TTS < 0.0) {
362 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