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;
71 cout <<
"bluring PDFs... " << flush;
77 }
else if (TTS < 0.0) {
79 THROW(JValueOutOfRange,
"Illegal value of TTS [ns]: " << TTS);
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) {
215 THROW(JValueOutOfRange,
"Illegal value of TTS [ns]: " << TTS);
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;
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) {
338 THROW(JValueOutOfRange,
"Illegal value of TTS [ns]: " << TTS);
362 const double t1)
const
void load(const char *file_name)
Load from input file.
JPP::JPDFTable< JFunction1D_t, JPDFMaplist_t > JPDF_t
JPP::JMAPLIST< JPP::JPolint1FunctionalMap, JPP::JPolint1FunctionalMap, JPP::JPolint0FunctionalGridMap, JPP::JPolint0FunctionalGridMap >::maplist JPDFMaplist_t
The elements in a collection are sorted according to their abscissa values and a given distance opera...
JPDF(const std::string &file_name, const double TTS, const int numberOfPoints=25, const double epsilon=1.0e-10)
Constructor.
This include file containes various data structures that can be used as specific return types for the...
scattered light from EM shower
JPP::JSplineFunction1D< JPP::JSplineElement2S< double, double >, JPP::JCollection, JPP::JResultPDF< double > > JFunction1D_t
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
direct light from EM showers
then JShowerPostfit f $INPUT_FILE o $OUTPUT_FILE N
void blur(const double TTS, const int numberOfPoints=25, const double epsilon=1.0e-10, const double quantile=0.99)
Blur PDF.
JPDF_t pdfA
PDF for shower.
then for HISTOGRAM in h0 h1
static const JZero zero
Function object to assign zero value.
JPP::JMAPLIST< JPP::JPolint1FunctionalMap, JPP::JPolint0FunctionalGridMap, JPP::JPolint0FunctionalGridMap >::maplist JPDFMaplist_t
Definition of zero value for any class.
Auxiliary data structure for shower PDF.
JPP::JMAPLIST< JPP::JPolint1FunctionalMap, JPP::JPolint0FunctionalGridMap, JPP::JPolint0FunctionalGridMap >::maplist JPDFMaplist_t
JMuonPDF_t(const std::string &fileDescriptor, const double TTS, const int numberOfPoints=25, const double epsilon=1.0e-10)
Constructor.
Numbering scheme for PDF types.
result_type calculate(const double E, const double R, const double theta, const double phi, const double t1) const
Get PDF.
bool is_bremsstrahlung(const int pdf)
Test if given PDF type corresponds to Cherenkov light from Bremsstrahlung.
JFunction1D_t::result_type result_type
scattered light from muon
JFunction1D_t::result_type result_type
JFunction1D_t::result_type result_type
JPDF_t pdfB
PDF for average energy losses.
result_type calculate(const double E, const double D, const double cd, const double theta, const double phi, const double t1) const
Get PDF.
scattered light from delta-rays
direct light from EM shower
JPP::JSplineFunction1D< JPP::JSplineElement2S< double, double >, JPP::JCollection, JPP::JResultPDF< double > > JFunction1D_t
scattered light from EM showers
General purpose class for a collection of sorted elements.
then usage $script[distance] fi case set_variable R
result_type calculate(const double E, const double R, const double theta, const double phi, const double t1) const
Get PDF.
Auxiliary data structure for muon PDF.
JPDF_t pdfC
PDF for delta-rays.
direct light from delta-rays
int getPDFType(const std::string &file_name)
Get PDF type.
JPP::JPDFTable< JFunction1D_t, JPDFMaplist_t > JPDF_t
bool is_deltarays(const int pdf)
Test if given PDF type corresponds to Cherenkov light from delta-rays.
double getDeltaRaysFromMuon(const double E)
Equivalent EM-shower energy due to delta-rays per unit muon track length.
std::string getFilename(const std::string &file_name)
Get file name part, i.e. part after last JEEP::PATHNAME_SEPARATOR if any.
JShowerPDF_t(const std::string &fileDescriptor, const double TTS, const int numberOfPoints=25, const double epsilon=1.0e-10)
Constructor.
JPDF_t pdfA
PDF for minimum ionising particle.
JPP::JSplineFunction1D< JPP::JSplineElement2S< double, double >, JPP::JCollection, JPP::JResultPDF< double > > JFunction1D_t
do echo Generating $dir eval D
JPP::JPDFTable< JFunction1D_t, JPDFMaplist_t > JPDF_t
Auxiliary data structure for muon PDF.