67int main(
int argc, 
char **argv)
 
   80  JLimit_t&               numberOfEvents = inputFile.getLimit();
 
   86  disable_container       disable;                              
 
   93    JParser<> zap(
"Application to fit position calibration model to acoustic data.");
 
   95    zap[
'f'] = 
make_field(inputFile,       
"output of JAcousticEventBuilder[.sh]");
 
  101    zap[
'T'] = 
make_field(tripods,         
"tripod data");
 
  106    zap[
'N'] = 
make_field(threads,         
"number of threads")              = 1;
 
  107    zap[
's'] = 
make_field(squash,          
"squash transmissions in output");
 
  112  catch(
const exception &error) {
 
  113    FATAL(error.what() << endl);
 
  116  ROOT::EnableThreadSafety();
 
  130  for (JDetector::const_iterator i = 
detector.begin(); i != 
detector.end(); ++i) {
 
  131    receivers[i->getID()] = i->getLocation();
 
  134  for (tripods_container::const_iterator i = tripods.begin(); i != tripods.end(); ++i) {
 
  135    emitters[i->getID()]  = 
JEmitter(i->getID(), i->getUTMPosition() - 
detector.getUTMPosition());
 
  138  for (transmitters_container::const_iterator i = transmitters.begin(); i != transmitters.end(); ++i) {
 
  140      emitters[i->getID()]  = 
JEmitter(i->getID(), i->getPosition() + 
detector.getModule(i->getLocation()).getPosition());
 
  142    catch(
const exception&) {}                         
 
  155  if (inputFile.size() > 1u) {                         
 
  159    for (
const string& file_name : inputFile) {
 
  165        const JEvent* evt = in.next();
 
  172          zmap[evt->begin()->getToE()] = file_name;
 
  181      inputFile.push_back(i->second);
 
  199    JFremantle fremantle(geometry, V, parameters, threads, 2 * threads);
 
  213        if (!evt->empty() && emitters.
has(evt->
getID())) {
 
  214          zbuf.push_back(*evt);
 
  218      sort(zbuf.begin(), zbuf.end());                  
 
  220      for (buffer_type::iterator p = zbuf.begin(), q; p != zbuf.end(); p = q) {
 
  222        for (q = p; ++q != zbuf.end() && q->begin()->getToE() <= p->rbegin()->getToE() + parameters.
Tmax_s; ) {}
 
  224        if (q == zbuf.end()) {
 
  228            zbuf.erase(zbuf.begin(), p);               
 
  242          for (buffer_type::iterator evt = p; evt != q; ++evt) {
 
  248            const JEmitter& emitter = emitters [evt->getID()];
 
  249            const double    weight  = 
getWeight(evt->getID());
 
  251            for (JEvent::const_iterator i = evt->begin(); i != __end; ++i) {
 
  256                if (receivers.
has(i->getID()) && geometry.
hasLocation(receivers[i->getID()]) && i->getQ() >= parameters.
Qmin * (parameters.
Qmin <= 1.0 ? i->getW() : 1.0)) {
 
  258                  data.push_back(
JHit(emitter,
 
  260                                      receivers[i->getID()],
 
  277  catch(
const exception& error) {
 
  278    FATAL(
"main " << error.what());
 
 
ROOT TTree parameter settings.
 
Data structure for detector geometry and calibration.
 
Recording of objects on file according a format that follows from the file name extension.
 
int main(int argc, char **argv)
 
Fit function of acoustic model.
 
General purpose class for hash map of unique elements.
 
Data structure for hydrophone.
 
General purpose messaging.
 
#define DEBUG(A)
Message macros.
 
Data structure for optical module.
 
Scanning of objects from multiple files according a format that follows from the extension of each fi...
 
Utility class to parse command line options.
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
 
Auxiliary class to define a range between two values.
 
Scanning of objects from a single file according a format that follows from the extension of each fil...
 
Acoustic transmission identifier.
 
Data structure for transmitter.
 
Data structure for tripod.
 
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
 
Thread pool for global fits.
 
static output_type * output
optional output
 
void enqueue(input_type &data)
Queue data.
 
static JMATH::JQuantile_t Q
chi2/NDF
 
static int detid
detector identifier
 
static bool squash
squash transmissions in output
 
Utility class to parse command line options.
 
General purpose class for object reading from a list of file names.
 
virtual bool hasNext() override
Check availability of next element.
 
virtual const pointer_type & next() override
Get next element.
 
const std::string & getFilename() const
Get current file name.
 
Object reading from a list of files.
 
virtual bool hasNext() override
Check availability of next element.
 
size_t getMinimumNumberOfEmitters(T __begin, T __end)
Get minimum number of emitters for any string in data.
 
double getWeight(T __begin, T __end)
Get total weight of data points.
 
JContainer< std::vector< JTripod > > tripods_container
 
JContainer< std::vector< JTransmitter > > transmitters_container
 
JContainer< std::vector< JHydrophone > > hydrophones_container
 
size_t getNumberOfEmitters(T __begin, T __end)
Get number of emitters.
 
static const JSoundVelocity getSoundVelocity(1541.0, -17.0e-3, -2000.0)
Function object for velocity of sound.
 
static JDetectorMechanics getMechanics
Function object to get string mechanics.
 
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
 
JComparator< JResult_t T::*, JComparison::lt > make_comparator(JResult_t T::*member)
Helper method to create comparator between values of data member.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
std::vector< JHitW0 > buffer_type
hits
 
int getID() const
Get emitter identifier.
 
const int getDetectorID() const
Get detector identifier.
 
double Qmin
minimal quality transmission
 
double deadTime_s
dead time between events [s]
 
size_t Nmin
minimum number of emitters
 
double sigma_s
time-of-arrival resolution [s]
 
double Tmax_s
time window to combine events [s]
 
bool hasLocation(const JLocation &location) const
Check if this detector has given location.
 
Global fit of prameterised detector geometry to acoustics data.
 
Template definition of fit function of acoustic model.
 
Implementation for depth dependend velocity of sound.
 
JSoundVelocity & set(const double z0)
Set depth.
 
Acoustic transmission identifier.
 
int getID() const
Get identifier.
 
Auxiliary data structure to unify weights of acoustics data according to the number of pings per emit...
 
Auxiliary wrapper for I/O of container with optional comment (see JComment).
 
double getMean() const
Get mean value.
 
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
 
Auxiliary class for defining the range of iterations of objects.
 
static counter_type max()
Get maximum counter value.
 
Auxiliary data structure for floating point format specification.