1#ifndef __JACOUSTICS__JFREMANTLE_T__ 
    2#define __JACOUSTICS__JFREMANTLE_T__ 
   53               const size_t          backlog = std::numeric_limits<size_t>::max()) :
 
   62      for (
size_t i = 0; i < ns; ++i) {
 
   64        thread worker([
this, geometry, velocity, parameters]() {
 
   68          for (
JGlobalfit katoomba(geometry, velocity, parameters); ; ) {
 
   71              unique_lock<mutex> lock(
in);
 
   73              cv.wait(lock, [
this]() { 
return stop || !
input.empty(); });
 
   79              data.swap(
input.front());
 
   86            const auto result = katoomba(data.begin(), data.end());
 
   88            if (
result.chi2 / 
result.ndf <= katoomba.parameters.chi2perNDF) {
 
   91                unique_lock<mutex> lock(
out);
 
  103                                                            katoomba.gandalf.numberOfIterations),
 
  113        workers.emplace_back(std::move(worker));
 
 
  126        unique_lock<mutex> lock(
in);
 
 
  149        unique_lock<mutex> lock(
in);
 
  154          throw runtime_error(
"The thread pool has been stopped.");
 
  157        input.emplace(std::move(data));
 
 
  173    std::condition_variable   
cv;
 
  174    std::condition_variable   
cw;
 
 
Fit function of acoustic model.
 
Thread pool for global fits.
 
static output_type * output
optional output
 
std::condition_variable cw
 
void enqueue(input_type &data)
Queue data.
 
std::vector< std::thread > workers
 
static JMATH::JQuantile_t Q
chi2/NDF
 
std::condition_variable cv
 
static int detid
detector identifier
 
JFremantle(const JGeometry &geometry, const JSoundVelocity &velocity, const JFitParameters ¶meters, const size_t ns, const size_t backlog=std::numeric_limits< size_t >::max())
Constructor.
 
JLANG::JObjectOutput< JSuperEvt > output_type
 
static bool squash
squash transmissions in output
 
std::queue< input_type > input
 
std::vector< JHit > input_type
 
Template interface of object output for single data type.
 
virtual bool put(const T &object)=0
Object output.
 
Auxiliary classes and methods for acoustic position calibration.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
Global fit of prameterised detector geometry to acoustics data.
 
Implementation for depth dependend velocity of sound.
 
Auxiliary data structure to convert model to super event.
 
Auxiliary data structure for average.
 
void put(const double x)
Put value.