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(); });
 
   88             if (
result.chi2 / 
result.ndf <= katoomba.parameters.chi2perNDF) {
 
   91                 unique_lock<mutex> lock(
out);
 
  112         workers.emplace_back(std::move(worker));
 
  125         unique_lock<mutex> lock(
in);
 
  148         unique_lock<mutex> lock(
in);
 
  153           throw runtime_error(
"The thread pool has been stopped.");
 
  172     std::condition_variable   
cv;
 
  173     std::condition_variable   
cw;
 
Fit function of acoustic model.
 
Thread pool for global fits.
 
static output_type * output
optional output
 
std::condition_variable cw
 
JLANG::JObjectOutput< JSuperEvt > output_type
 
void enqueue(input_type &data)
Queue data.
 
std::vector< std::thread > workers
 
std::vector< JHit > input_type
 
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.
 
static bool squash
squash transmissions in output
 
std::queue< input_type > input
 
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.