1#ifndef __JDETECTOR__JK40DEFAULTSIMULATORINTERFACE__
2#define __JDETECTOR__JK40DEFAULTSIMULATORINTERFACE__
65 const pair_type& operator()(
const double random)
const
67 double P = this->rbegin()->
P;
76 int imax = this->size() - 1;
78 for (
int i = (imax + imin) / 2; imax - imin != 1; i = (imax + imin) / 2) {
144 const size_t N =
module.size();
145 const size_t M = (N * (N - 1)) / 2;
153 for (
size_t pmt = 0; pmt != N; ++pmt) {
172 for (
size_t i = 0; i != N; ++i) {
191 for (
size_t pmt1 = 0; pmt1 != N; ++pmt1) {
192 for (
size_t pmt2 = 0; pmt2 != pmt1; ++pmt2) {
194 const double ct = getDot(
module[pmt1].getDirection(),
module[pmt2].getDirection());
225 for ( ;
M != 0; --
M) {
231 for (
size_t i = 0; i != N; ++i) {
233 if (buffer.count(i) == 0) {
237 const double ct = getDot(
module[i].getDirection(),
module[*pmt].getDirection());
306 static double sigma = 0.5;
Compiler version dependent expressions, macros, etc.
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Default K40 simulator interface.
virtual void generateHits(const JModule &module, const JTimeRange &period, JModuleData &output) const
Generate hits.
static double & get_sigma()
Get intrinsic time smearing of K40 coincidences.
static double getSigma()
Get intrinsic time smearing of K40 coincidences.
std::vector< double > rateL1_Hz
Multiples rate as a function of the multiplicity.
static void setSigma(const double sigma)
Set intrinsic time smearing of K40 coincidences.
virtual double getSinglesRate(const JPMTIdentifier &pmt) const =0
Get singles rate as a function of PMT.
virtual double getMultiplesRate(const JModuleIdentifier &module, const int M) const =0
Get multiples rate as a function of optical module.
JK40DefaultSimulatorInterface()
Default constructor.
virtual double getProbability(const double ct) const =0
Get probability of coincidence.
Interface for simulation of K40 background.
Data structure for PMT data corresponding to a detector module.
Data structure for a composite optical module.
Exception for numerical precision error.
Auxiliary class for object identification.
Template definition of a multi-dimensional oscillation probability interpolation table.
file Auxiliary data structures and methods for detector calibration.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
double P
probability of coincidence
Data structure for PMT analogue signal.