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 
 
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. 
 
then usage $script[input file[working directory[option]]] nWhere option can be N
 
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. 
 
then usage $script[input file[working directory[option]]] nWhere option can be E
 
JNPE_t npe
PDF for shower.