51     const  int N = 
sizeof(pdf_t) / 
sizeof(pdf_t[0]);
 
   55                                    double>                          JFunction1D_t;
 
   56     typedef JPDFTable<JFunction1D_t, JNPEMaplist_t>                 JPDF_t;
 
   59     const JNPE_t::JSupervisor supervisor(
new JNPE_t::JDefaultResult(
zero));
 
   61     for (
int i = 0; i != 
N; ++i) {
 
   66       const string     file_name = 
getFilename(fileDescriptor, type);
 
   68       cout << 
"loading PDF from file " << file_name << 
"... " << flush;
 
   70       pdf.load(file_name.c_str());
 
   74       pdf.setExceptionHandler(supervisor);
 
   86     cout << 
"adding PDFs... " << flush;
 
   88     Y1[1].add(
Y1[0]); 
Y1.erase(
Y1.begin());
 
   89     YA[1].add(
YA[0]); 
YA.erase(
YA.begin());
 
   90     YB[1].add(
YB[0]); 
YB.erase(
YB.begin());
 
  111                    const double phi)
 const 
  115     const double y1 = 
getNPE(
Y1, R, theta, phi);
 
  116     const double yA = 
getNPE(
YA, R, theta, phi);
 
  117     const double yB = 
getNPE(
YB, R, theta, phi);
 
  151       if (R <= i->getXmax()) {
 
  155           const double y = 
get_value((*i)(std::max(R, i->getXmin()), theta, phi));
 
  161         catch(
const exception& error) {
 
  162           cerr << error.what() << endl;
 
  202     const  int N = 
sizeof(pdf_t) / 
sizeof(pdf_t[0]);
 
  206                                    double>                          JFunction1D_t;
 
  207     typedef JPDFTable<JFunction1D_t, JNPEMaplist_t>                 JPDF_t;
 
  210     const JNPE_t::JSupervisor supervisor(
new JNPE_t::JDefaultResult(
zero));
 
  212     for (
int i = 0; i != 
N; ++i) {
 
  214       const string file_name = 
getFilename(fileDescriptor, pdf_t[i]);
 
  216       cout << 
"loading input from file " << file_name << 
"... " << flush;
 
  220       pdf.load(file_name.c_str());
 
  222       pdf.setExceptionHandler(supervisor);
 
  231       cout << 
"OK" << endl;
 
  253                    const double phi)
 const 
  268         const double __D  = sqrt(D*D - 2.0*(D*cd)*z + z*z);
 
  269         const double __cd = (D * cd - z) / __D;
 
  272           Y += W * npe (__D, __cd, theta, phi);
 
  274         catch(
const exception& error) {
 
  282         Y = npe(D, cd, theta, phi);
 
  284       catch(
const exception& error) {
 
JPP::JMAPLIST< JPP::JPolint1FunctionalMap, JPP::JPolint1FunctionalMap, JPP::JPolint1FunctionalGridMap, JPP::JPolint1FunctionalGridMap >::maplist JNPEMaplist_t
 
double calculate(const double E, const double R, const double theta, const double phi) const 
Get PDF. 
 
JShowerNPE_t(const std::string &fileDescriptor, const int numberOfPoints=0)
Constructor. 
 
The elements in a collection are sorted according to their abscissa values and a given distance opera...
 
std::vector< JNPE_t > Y1
light from muon 
 
JPP::JNPETable< double, double, JNPEMaplist_t > JNPE_t
 
scattered light from EM shower 
 
JMuonNPE_t(const std::string &fileDescriptor)
Constructor. 
 
JPP::JNPETable< double, double, JNPEMaplist_t > JNPE_t
 
static const double MASS_MUON
muon mass [GeV] 
 
static const double INDEX_OF_REFRACTION_WATER
Average index of refraction of water corresponding to the group velocity. 
 
Auxiliary data structure for shower PDF. 
 
direct light from EM showers 
 
then JShowerPostfit f $INPUT_FILE o $OUTPUT_FILE N
 
static const JZero zero
Function object to assign zero value. 
 
then fatal Wrong number of arguments fi set_variable STRING $argv[1] set_variable DETECTORXY_TXT $WORKDIR $DETECTORXY_TXT tail read X Y CHI2 RMS printf optimum n $X $Y $CHI2 $RMS awk v Y
 
JPP::JMAPLIST< JPP::JPolint1FunctionalMap, JPP::JPolint1FunctionalGridMap, JPP::JPolint1FunctionalGridMap >::maplist JNPEMaplist_t
 
Definition of zero value for any class. 
 
Numbering scheme for PDF types. 
 
void add(const JNPETable &input)
Add NPE table. 
 
bool is_bremsstrahlung(const int pdf)
Test if given PDF type corresponds to Cherenkov light from Bremsstrahlung. 
 
scattered light from muon 
 
static double getNPE(const std::vector< JNPE_t > &NPE, const double R, const double theta, const double phi)
Get number of photo-electrons. 
 
static const JGeanz geanz(1.85, 0.62, 0.54)
Function object for longitudinal EM-shower profile. 
 
scattered light from delta-rays 
 
direct light from EM shower 
 
scattered light from EM showers 
 
General purpose class for a collection of sorted elements. 
 
then usage $script[distance] fi case set_variable R
 
direct light from delta-rays 
 
std::vector< JNPE_t > YB
light from EM showers 
 
std::vector< JNPE_t > YA
light from delta-rays 
 
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. 
 
Longitudinal emission profile EM-shower. 
 
double getLength(const double E, const double P, const double eps=1.0e-3) const 
Get shower length for a given integrated probability. 
 
do echo Generating $dir eval D
 
double calculate(const double E, const double D, const double cd, const double theta, const double phi) const 
Get PDF. 
 
JNPE_t npe
PDF for shower.