49 JPDF(
const std::string& file_name,
57 const JPDF_t::JSupervisor supervisor(
new JPDF_t::JDefaultResult(
zero));
59 cout <<
"loading input from file " << file_name <<
"... " << flush;
71 cout <<
"bluring PDFs... " << flush;
77 }
else if (TTS < 0.0) {
101 const double t1)
const
162 const double epsilon = 1.0e-10)
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 +
296 const double epsilon = 1.0e-10)
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;
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.
void blur(const double TTS, const int numberOfPoints=25, const double epsilon=1.0e-10, const double quantile=0.99)
Blur PDF.
std::string getFilename(const std::string &file_name)
Get file name part, i.e. part after last JEEP::PATHNAME_SEPARATOR if any.
static const JZero zero
Function object to assign zero value.
double getDeltaRaysFromMuon(const double E, const JRange< double > T_GeV=JRange< double >(DELTARAY_TMIN, DELTARAY_TMAX))
Equivalent EM-shower energy due to delta-rays per unit muon track length.
bool is_deltarays(const int pdf)
Test if given PDF type corresponds to Cherenkov light from delta-rays.
bool is_bremsstrahlung(const int pdf)
Test if given PDF type corresponds to Cherenkov light from Bremsstrahlung.
@ SCATTERED_LIGHT_FROM_EMSHOWER
scattered light from EM shower
@ SCATTERED_LIGHT_FROM_DELTARAYS
scattered light from delta-rays
@ DIRECT_LIGHT_FROM_EMSHOWERS
direct light from EM showers
@ SCATTERED_LIGHT_FROM_EMSHOWERS
scattered light from EM showers
@ SCATTERED_LIGHT_FROM_MUON
scattered light from muon
@ DIRECT_LIGHT_FROM_EMSHOWER
direct light from EM shower
@ DIRECT_LIGHT_FROM_DELTARAYS
direct light from delta-rays
@ DIRECT_LIGHT_FROM_MUON
direct light from muon
int getPDFType(const std::string &file_name)
Get PDF type.
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::JPDFTable< JFunction1D_t, JPDFMaplist_t > JPDF_t
JPP::JSplineFunction1D< JPP::JSplineElement2S< double, double >, JPP::JCollection, JPP::JResultPDF< double > > JFunction1D_t
JPP::JMAPLIST< JPP::JPolint1FunctionalMap, JPP::JPolint0FunctionalGridMap, JPP::JPolint0FunctionalGridMap >::maplist JPDFMaplist_t
JFunction1D_t::result_type result_type
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.
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::JPDFTable< JFunction1D_t, JPDFMaplist_t > JPDF_t
JPP::JSplineFunction1D< JPP::JSplineElement2S< double, double >, JPP::JCollection, JPP::JResultPDF< double > > JFunction1D_t
JFunction1D_t::result_type result_type
JPP::JMAPLIST< JPP::JPolint1FunctionalMap, JPP::JPolint0FunctionalGridMap, JPP::JPolint0FunctionalGridMap >::maplist JPDFMaplist_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.
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.
JPP::JPDFTable< JFunction1D_t, JPDFMaplist_t > JPDF_t
JFunction1D_t::result_type result_type
JPP::JSplineFunction1D< JPP::JSplineElement2S< double, double >, JPP::JCollection, JPP::JResultPDF< double > > JFunction1D_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::JMAPLIST< JPP::JPolint1FunctionalMap, JPP::JPolint1FunctionalMap, JPP::JPolint0FunctionalGridMap, JPP::JPolint0FunctionalGridMap >::maplist JPDFMaplist_t