1 #ifndef __JACOUSTICS__JFREMANTLE_T__ 
    2 #define __JACOUSTICS__JFREMANTLE_T__ 
   24 namespace JACOUSTICS {}
 
   25 namespace JPP { 
using namespace JACOUSTICS; }
 
   27 namespace JACOUSTICS {
 
   55       for (
size_t i = 0; 
i < 
ns; ++
i) {
 
   57         thread worker([
this, geometry, velocity, parameters]() {
 
   61           for (
JGlobalfit katoomba(geometry, velocity, parameters); ; ) {
 
   64               unique_lock<mutex> lock(
in);
 
   66               cv.wait(lock, [
this]() { 
return stop || !
input.empty(); });
 
   72               data.swap(
input.front());
 
   77             const auto result = katoomba(data.begin(), data.end());
 
   79             if (
result.chi2 / 
result.ndf <= katoomba.parameters.chi2perNDF) {
 
   82                 unique_lock<mutex> lock(
out);
 
  103         workers.emplace_back(move(worker));
 
  116         unique_lock<mutex> lock(
in);
 
  139         unique_lock<mutex> lock(
in);
 
  156         unique_lock<mutex> lock(
in);
 
  159           throw runtime_error(
"The thread pool has been stopped.");
 
  162         input.emplace(move(data));
 
  179     std::condition_variable   
cv;
 
Fit function of acoustic model. 
 
JLANG::JObjectOutput< JSuperEvt > output_type
 
*fatal Wrong number of arguments esac JCookie sh typeset Z DETECTOR typeset Z SOURCE_RUN typeset Z TARGET_RUN set_variable PARAMETERS_FILE $WORKDIR parameters
 
std::condition_variable cv
 
Global fit of prameterised detector geometry to acoustics data. 
 
static std::string oid
detector identifier 
 
size_t backlog()
Get number of pending data. 
 
std::queue< data_type > input
 
JFremantle(const JGeometry &geometry, const JSoundVelocity &velocity, const JFitParameters ¶meters, const size_t ns)
Constructor. 
 
Implementation for depth dependend velocity of sound. 
 
void enqueue(data_type &data)
Queue data. 
 
static output_type * output
optional output 
 
Thread pool for global fits. 
 
static JTOOLS::JQuantile Q
chi2/NDF 
 
Template interface of object output for single data type. 
 
virtual bool put(const T &object)=0
Object output. 
 
std::vector< JHit > data_type
 
Auxiliary data structure to convert model to super event. 
 
std::vector< std::thread > workers