Jpp 19.3.0-rc.3
the software that should make you happy
Loading...
Searching...
No Matches
KM3NET_HIGHQE Namespace Reference

Name space for KM3NeT with high-QE PMTs. More...

Functions

const JK40RatesgetK40Rates ()
 Get K40 rates.
 
double getAmbientPressure ()
 Get ambient pressure.
 
double getPhotocathodeArea ()
 Get photo-cathode area of PMT.
 
double getAbsorptionLength (const double lambda)
 Get absorption length.
 
double getScatteringLength (const double lambda)
 Get scattering length.
 
double getScatteringProbability (const double x)
 Function to describe light scattering in water.
 
double getAngularAcceptance (const double x)
 Get angular acceptance of PMT.
 
double getQE (const double lambda)
 Get quantum efficiency of KM3NeT PMT.
 
double getPhotocathodeArea2D (const double x, const double lambda)
 Get effective photo-cathode area of PMT.
 

Detailed Description

Name space for KM3NeT with high-QE PMTs.

Function Documentation

◆ getK40Rates()

const JK40Rates & KM3NET_HIGHQE::getK40Rates ( )
inline

Get K40 rates.

This method returns an object with default values.
The singles and multiples rates are based on Analysis e-log entry 575.
They have been scaled with the outputs of JRateK40.cc and JMultiplicityK40.cc for the standard and high-QE PMT, respectively using script JPrintK40Rates.sh (see GIT issue 351).

Returns
K40 rates [Hz]

Definition at line 345 of file KM3NeT.hh.

346 {
347 static const JK40Rates rates_Hz(8529, { 1014.4, 103.77, 15.44, 1.44});
348
349 return rates_Hz;
350 }
Auxiliary class for K40 rates.
Definition JK40Rates.hh:41

◆ getAmbientPressure()

double KM3NET_HIGHQE::getAmbientPressure ( )
inline

Get ambient pressure.

Returns
pressure [Atm]

Definition at line 358 of file KM3NeT.hh.

359 {
360 return KM3NET::getAmbientPressure();
361 }

◆ getPhotocathodeArea()

double KM3NET_HIGHQE::getPhotocathodeArea ( )
inline

Get photo-cathode area of PMT.

Returns
photo-cathode area [m^2]

Definition at line 369 of file KM3NeT.hh.

370 {
371 return KM3NET::getPhotocathodeArea();
372 }

◆ getAbsorptionLength()

double KM3NET_HIGHQE::getAbsorptionLength ( const double lambda)
inline

Get absorption length.

Parameters
lambdawavelength of light [nm]
Returns
absorption length [m]

Definition at line 381 of file KM3NeT.hh.

382 {
383 return KM3NET::getAbsorptionLength(lambda);
384 }

◆ getScatteringLength()

double KM3NET_HIGHQE::getScatteringLength ( const double lambda)
inline

Get scattering length.

Parameters
lambdawavelength of light [nm]
Returns
scattering length [m]

Definition at line 393 of file KM3NeT.hh.

394 {
395 return KM3NET::getScatteringLength(lambda);
396 }

◆ getScatteringProbability()

double KM3NET_HIGHQE::getScatteringProbability ( const double x)
inline

Function to describe light scattering in water.

Parameters
xcosine scattering angle
Returns
probability

Definition at line 405 of file KM3NeT.hh.

406 {
407 return KM3NET::getScatteringProbability(x);
408 }

◆ getAngularAcceptance()

double KM3NET_HIGHQE::getAngularAcceptance ( const double x)
inline

Get angular acceptance of PMT.

Parameters
xcosine of angle of incidence
Returns
probability

Definition at line 417 of file KM3NeT.hh.

418 {
419 return KM3NET::getAngularAcceptance(x);
420 }

◆ getQE()

double KM3NET_HIGHQE::getQE ( const double lambda)
inline

Get quantum efficiency of KM3NeT PMT.

Note that the QE includes absorption in glass and gel.

Parameters
lambdawavelength of photon [nm]
Returns
quantum efficiency

Definition at line 431 of file KM3NeT.hh.

432 {
433 static JGridPolint1Function1D_t f1;
434 static const double cola = 0.95; // collection efficiency
435
436 if (f1.empty()) {
437
438 f1[280] = 0.0;
439 f1[285] = 0.0;
440 f1[290] = 0.0;
441 f1[295] = 0.2;
442 f1[300] = 0.3;
443 f1[305] = 2.3;
444 f1[310] = 3.9;
445 f1[315] = 9.1;
446 f1[320] = 13.7;
447 f1[325] = 19.5;
448 f1[330] = 25.2;
449 f1[335] = 28.9;
450 f1[340] = 33.0;
451 f1[345] = 34.6;
452 f1[350] = 36.6;
453 f1[355] = 37.5;
454 f1[360] = 38.3;
455 f1[365] = 38.2;
456 f1[370] = 37.8;
457 f1[375] = 36.8;
458 f1[380] = 36.3;
459 f1[385] = 36.8;
460 f1[390] = 37.3;
461 f1[395] = 36.6;
462 f1[400] = 36.5;
463 f1[405] = 36.2;
464 f1[410] = 35.5;
465 f1[415] = 35.2;
466 f1[420] = 34.7;
467 f1[425] = 34.1;
468 f1[430] = 33.7;
469 f1[435] = 33.2;
470 f1[440] = 32.6;
471 f1[445] = 31.8;
472 f1[450] = 31.1;
473 f1[455] = 30.1;
474 f1[460] = 29.1;
475 f1[465] = 28.4;
476 f1[470] = 27.6;
477 f1[475] = 27.0;
478 f1[480] = 26.2;
479 f1[485] = 25.8;
480 f1[490] = 25.2;
481 f1[495] = 24.0;
482 f1[500] = 22.8;
483 f1[505] = 20.9;
484 f1[510] = 19.1;
485 f1[515] = 17.1;
486 f1[520] = 15.3;
487 f1[525] = 14.0;
488 f1[530] = 12.9;
489 f1[535] = 12.3;
490 f1[540] = 11.6;
491 f1[545] = 11.3;
492 f1[550] = 10.7;
493 f1[555] = 10.3;
494 f1[560] = 9.6;
495 f1[565] = 9.1;
496 f1[570] = 8.6;
497 f1[575] = 8.0;
498 f1[580] = 7.3;
499 f1[585] = 6.6;
500 f1[590] = 5.9;
501 f1[595] = 5.3;
502 f1[600] = 4.7;
503 f1[605] = 4.0;
504 f1[610] = 3.4;
505 f1[615] = 2.9;
506 f1[620] = 2.5;
507 f1[625] = 2.1;
508 f1[630] = 1.6;
509 f1[635] = 1.3;
510 f1[640] = 1.0;
511 f1[645] = 0.8;
512 f1[650] = 0.6;
513 f1[655] = 0.5;
514 f1[660] = 0.4;
515 f1[665] = 0.3;
516 f1[670] = 0.2;
517 f1[675] = 0.1;
518 f1[680] = 0.1;
519 f1[685] = 0.1;
520 f1[690] = 0.0;
521 f1[695] = 0.0;
522 f1[700] = 0.0;
523 f1[705] = 0.0;
524
525 f1.compile();
526
527 f1.setExceptionHandler(new JGridPolint1Function1D_t::JDefaultResult(0.0));
528 }
529
530 return f1(lambda) * 0.01 * cola;
531 }
Type definition of a 1st degree polynomial interpolation based on a JGridCollection with result type ...

◆ getPhotocathodeArea2D()

double KM3NET_HIGHQE::getPhotocathodeArea2D ( const double x,
const double lambda )
inline

Get effective photo-cathode area of PMT.

Parameters
xcosine of angle of incidence
lambdawavelength of photon [nm]
Returns
photo-cathode area [m^2]

Definition at line 541 of file KM3NeT.hh.

542 {
543 return getPhotocathodeArea() * getQE(lambda) * getAngularAcceptance(x);
544 }
double getAngularAcceptance(const double x)
Angular acceptence of PMT.
Definition JDrawLED.cc:68