1 #ifndef __JDETECTOR__JK40DEFAULTSIMULATOR__ 
    2 #define __JDETECTOR__JK40DEFAULTSIMULATOR__ 
   17 namespace JDETECTOR {}
 
   18 namespace JPP { 
using namespace JDETECTOR; }
 
  103       return exp(ct * (
p1() + ct * (
p2() + ct * (
p3() + ct*
p4()))));
 
  116       const double rateL0 = 
object.rateL0;
 
  118       if (in >> 
object.rateL0) {
 
  120         object.rateL1.clear();
 
  122         for (
double x; in >> 
x; ) {
 
  123           object.rateL1.push_back(x);
 
  144       out << 
object.rateL0;
 
  146       for (JRateL1_t::const_iterator i = 
object.
rateL1.begin(); i != 
object.rateL1.end(); ++i) {
 
  160     static double p1() { 
return  3.0767; }
 
  161     static double p2() { 
return -1.2078; }
 
  162     static double p3() { 
return  0.9905; }
 
  163     static double p4() { 
return  0.9379; }
 
static JK40DefaultSimulator & getInstance()
Get reference to unique instance of this class object. 
 
Default implementation of the simulation of K40 background. 
 
Default K40 simulator interface. 
 
static double p1()
Parameters for probability of coincidence as a function of the cosine of space angle between PMT axes...
 
virtual double getProbability(const double ct) const override
Get probability of coincidence. 
 
const JK40Rates & getK40Rates()
Get K40 rates. 
 
JK40DefaultSimulator()
Default constructor. 
 
virtual double getSinglesRate(const JPMTIdentifier &pmt) const override
Get singles rate as a function of PMT. 
 
Compiler version dependent expressions, macros, etc. 
 
Properties of KM3NeT PMT and deep-sea water. 
 
JK40DefaultSimulator(const JK40Rates &rates)
Constructor. 
 
JRateL1_t rateL1
multiples rates [Hz] 
 
double getMultiplesRate(const multiplicity_type M) const 
Get multiples rate at given multiplicity. 
 
friend std::ostream & operator<<(std::ostream &out, const JK40DefaultSimulator &object)
Write K40 simulator to output. 
 
friend std::istream & operator>>(std::istream &in, JK40DefaultSimulator &object)
Read K40 simulator from input. 
 
double getSinglesRate() const 
Get singles rate. 
 
Auxiliary class for object identification. 
 
std::vector< double > JRateL1_t
Type definition of count rate as a function of multiplicty [Hz] The multiples rate start counting at ...
 
double JRateL0_t
Type definition of singles rate [Hz]. 
 
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
 
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable STRING $argv[2] set_array QUANTILES set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"` source JAcousticsToolkit.sh typeset -A TRIPODS get_tripods $WORKDIR/tripod.txt TRIPODS XMEAN
 
virtual double getMultiplesRate(const JModuleIdentifier &module, const int M) const override
Get multiples rate as a function of optical module. 
 
JRateL0_t rateL0
singles rate [Hz] 
 
Auxiliary class for K40 rates.