Skip to content
Snippets Groups Projects
Commit 3c60d10a authored by Documenter.jl's avatar Documenter.jl
Browse files

build based on 48a317dd

parent 1323d09d
No related branches found
No related tags found
No related merge requests found
// Generated by Documenter.jl
requirejs.config({
paths: {
'highlight-julia': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/languages/julia.min',
'headroom': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/headroom.min',
'jqueryui': 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min',
'katex-auto-render': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/contrib/auto-render.min',
'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min',
'headroom-jquery': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/jQuery.headroom.min',
'katex': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min',
'highlight': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/highlight.min',
'highlight-julia-repl': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/languages/julia-repl.min',
},
shim: {
"highlight-julia": {
"deps": [
"highlight"
]
},
"katex-auto-render": {
"deps": [
"katex"
]
},
"headroom-jquery": {
"deps": [
"jquery",
"headroom"
]
},
"highlight-julia-repl": {
"deps": [
"highlight"
]
}
}
});
////////////////////////////////////////////////////////////////////////////////
require(['jquery', 'katex', 'katex-auto-render'], function($, katex, renderMathInElement) {
$(document).ready(function() {
renderMathInElement(
document.body,
{
"delimiters": [
{
"left": "$",
"right": "$",
"display": false
},
{
"left": "$$",
"right": "$$",
"display": true
},
{
"left": "\\[",
"right": "\\]",
"display": true
}
]
}
);
})
})
////////////////////////////////////////////////////////////////////////////////
require(['jquery', 'highlight', 'highlight-julia', 'highlight-julia-repl'], function($) {
$(document).ready(function() {
hljs.highlightAll();
})
})
////////////////////////////////////////////////////////////////////////////////
require([], function() {
function addCopyButtonCallbacks() {
for (const el of document.getElementsByTagName("pre")) {
const button = document.createElement("button");
button.classList.add("copy-button", "fas", "fa-copy");
el.appendChild(button);
const success = function () {
button.classList.add("success", "fa-check");
button.classList.remove("fa-copy");
};
const failure = function () {
button.classList.add("error", "fa-times");
button.classList.remove("fa-copy");
};
button.addEventListener("click", function () {
copyToClipboard(el.innerText).then(success, failure);
setTimeout(function () {
button.classList.add("fa-copy");
button.classList.remove("success", "fa-check", "fa-times");
}, 5000);
});
}
}
function copyToClipboard(text) {
// clipboard API is only available in secure contexts
if (window.navigator && window.navigator.clipboard) {
return window.navigator.clipboard.writeText(text);
} else {
return new Promise(function (resolve, reject) {
try {
const el = document.createElement("textarea");
el.textContent = text;
el.style.position = "fixed";
el.style.opacity = 0;
document.body.appendChild(el);
el.select();
document.execCommand("copy");
resolve();
} catch (err) {
reject(err);
} finally {
document.body.removeChild(el);
}
});
}
}
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", addCopyButtonCallbacks);
} else {
addCopyButtonCallbacks();
}
})
////////////////////////////////////////////////////////////////////////////////
require(['jquery', 'headroom', 'headroom-jquery'], function($, Headroom) {
// Manages the top navigation bar (hides it when the user starts scrolling down on the
// mobile).
window.Headroom = Headroom; // work around buggy module loading?
$(document).ready(function() {
$('#documenter .docs-navbar').headroom({
"tolerance": {"up": 10, "down": 10},
});
})
})
////////////////////////////////////////////////////////////////////////////////
require(['jquery'], function($) {
// Modal settings dialog
$(document).ready(function() {
var settings = $('#documenter-settings');
$('#documenter-settings-button').click(function(){
settings.toggleClass('is-active');
});
// Close the dialog if X is clicked
$('#documenter-settings button.delete').click(function(){
settings.removeClass('is-active');
});
// Close dialog if ESC is pressed
$(document).keyup(function(e) {
if (e.keyCode == 27) settings.removeClass('is-active');
});
});
})
////////////////////////////////////////////////////////////////////////////////
require(['jquery'], function($) {
// Manages the showing and hiding of the sidebar.
$(document).ready(function() {
var sidebar = $("#documenter > .docs-sidebar");
var sidebar_button = $("#documenter-sidebar-button")
sidebar_button.click(function(ev) {
ev.preventDefault();
sidebar.toggleClass('visible');
if (sidebar.hasClass('visible')) {
// Makes sure that the current menu item is visible in the sidebar.
$("#documenter .docs-menu a.is-active").focus();
}
});
$("#documenter > .docs-main").bind('click', function(ev) {
if ($(ev.target).is(sidebar_button)) {
return;
}
if (sidebar.hasClass('visible')) {
sidebar.removeClass('visible');
}
});
})
// Resizes the package name / sitename in the sidebar if it is too wide.
// Inspired by: https://github.com/davatron5000/FitText.js
$(document).ready(function() {
e = $("#documenter .docs-autofit");
function resize() {
var L = parseInt(e.css('max-width'), 10);
var L0 = e.width();
if(L0 > L) {
var h0 = parseInt(e.css('font-size'), 10);
e.css('font-size', L * h0 / L0);
// TODO: make sure it survives resizes?
}
}
// call once and then register events
resize();
$(window).resize(resize);
$(window).on('orientationchange', resize);
});
// Scroll the navigation bar to the currently selected menu item
$(document).ready(function() {
var sidebar = $("#documenter .docs-menu").get(0);
var active = $("#documenter .docs-menu .is-active").get(0);
if(typeof active !== 'undefined') {
sidebar.scrollTop = active.offsetTop - sidebar.offsetTop - 15;
}
})
})
////////////////////////////////////////////////////////////////////////////////
require(['jquery'], function($) {
function set_theme(theme) {
var active = null;
var disabled = [];
for (var i = 0; i < document.styleSheets.length; i++) {
var ss = document.styleSheets[i];
var themename = ss.ownerNode.getAttribute("data-theme-name");
if(themename === null) continue; // ignore non-theme stylesheets
// Find the active theme
if(themename === theme) active = ss;
else disabled.push(ss);
}
if(active !== null) {
active.disabled = false;
if(active.ownerNode.getAttribute("data-theme-primary") === null) {
document.getElementsByTagName('html')[0].className = "theme--" + theme;
} else {
document.getElementsByTagName('html')[0].className = "";
}
disabled.forEach(function(ss){
ss.disabled = true;
});
}
// Store the theme in localStorage
if(typeof(window.localStorage) !== "undefined") {
window.localStorage.setItem("documenter-theme", theme);
} else {
console.error("Browser does not support window.localStorage");
}
}
// Theme picker setup
$(document).ready(function() {
// onchange callback
$('#documenter-themepicker').change(function themepick_callback(ev){
var themename = $('#documenter-themepicker option:selected').attr('value');
set_theme(themename);
});
// Make sure that the themepicker displays the correct theme when the theme is retrieved
// from localStorage
if(typeof(window.localStorage) !== "undefined") {
var theme = window.localStorage.getItem("documenter-theme");
if(theme !== null) {
$('#documenter-themepicker option').each(function(i,e) {
e.selected = (e.value === theme);
})
} else {
$('#documenter-themepicker option').each(function(i,e) {
e.selected = $("html").hasClass(`theme--${e.value}`);
})
}
}
})
})
////////////////////////////////////////////////////////////////////////////////
require(['jquery'], function($) {
// update the version selector with info from the siteinfo.js and ../versions.js files
$(document).ready(function() {
// If the version selector is disabled with DOCUMENTER_VERSION_SELECTOR_DISABLED in the
// siteinfo.js file, we just return immediately and not display the version selector.
if (typeof DOCUMENTER_VERSION_SELECTOR_DISABLED === 'boolean' && DOCUMENTER_VERSION_SELECTOR_DISABLED) {
return;
}
var version_selector = $("#documenter .docs-version-selector");
var version_selector_select = $("#documenter .docs-version-selector select");
version_selector_select.change(function(x) {
target_href = version_selector_select.children("option:selected").get(0).value;
window.location.href = target_href;
});
// add the current version to the selector based on siteinfo.js, but only if the selector is empty
if (typeof DOCUMENTER_CURRENT_VERSION !== 'undefined' && $('#version-selector > option').length == 0) {
var option = $("<option value='#' selected='selected'>" + DOCUMENTER_CURRENT_VERSION + "</option>");
version_selector_select.append(option);
}
if (typeof DOC_VERSIONS !== 'undefined') {
var existing_versions = version_selector_select.children("option");
var existing_versions_texts = existing_versions.map(function(i,x){return x.text});
DOC_VERSIONS.forEach(function(each) {
var version_url = documenterBaseURL + "/../" + each;
var existing_id = $.inArray(each, existing_versions_texts);
// if not already in the version selector, add it as a new option,
// otherwise update the old option with the URL and enable it
if (existing_id == -1) {
var option = $("<option value='" + version_url + "'>" + each + "</option>");
version_selector_select.append(option);
} else {
var option = existing_versions[existing_id];
option.value = version_url;
option.disabled = false;
}
});
}
// only show the version selector if the selector has been populated
if (version_selector_select.children("option").length > 0) {
version_selector.toggleClass("visible");
}
})
})
// Generated by Documenter.jl
requirejs.config({
paths: {
'lunr': 'https://cdnjs.cloudflare.com/ajax/libs/lunr.js/2.3.9/lunr.min',
'lodash': 'https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min',
'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min',
}
});
////////////////////////////////////////////////////////////////////////////////
require(['jquery', 'lunr', 'lodash'], function($, lunr, _) {
$(document).ready(function() {
// parseUri 1.2.2
// (c) Steven Levithan <stevenlevithan.com>
// MIT License
function parseUri (str) {
var o = parseUri.options,
m = o.parser[o.strictMode ? "strict" : "loose"].exec(str),
uri = {},
i = 14;
while (i--) uri[o.key[i]] = m[i] || "";
uri[o.q.name] = {};
uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) {
if ($1) uri[o.q.name][$1] = $2;
});
return uri;
};
parseUri.options = {
strictMode: false,
key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],
q: {
name: "queryKey",
parser: /(?:^|&)([^&=]*)=?([^&]*)/g
},
parser: {
strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
}
};
$("#search-form").submit(function(e) {
e.preventDefault()
})
// list below is the lunr 2.1.3 list minus the intersect with names(Base)
// (all, any, get, in, is, only, which) and (do, else, for, let, where, while, with)
// ideally we'd just filter the original list but it's not available as a variable
lunr.stopWordFilter = lunr.generateStopWordFilter([
'a',
'able',
'about',
'across',
'after',
'almost',
'also',
'am',
'among',
'an',
'and',
'are',
'as',
'at',
'be',
'because',
'been',
'but',
'by',
'can',
'cannot',
'could',
'dear',
'did',
'does',
'either',
'ever',
'every',
'from',
'got',
'had',
'has',
'have',
'he',
'her',
'hers',
'him',
'his',
'how',
'however',
'i',
'if',
'into',
'it',
'its',
'just',
'least',
'like',
'likely',
'may',
'me',
'might',
'most',
'must',
'my',
'neither',
'no',
'nor',
'not',
'of',
'off',
'often',
'on',
'or',
'other',
'our',
'own',
'rather',
'said',
'say',
'says',
'she',
'should',
'since',
'so',
'some',
'than',
'that',
'the',
'their',
'them',
'then',
'there',
'these',
'they',
'this',
'tis',
'to',
'too',
'twas',
'us',
'wants',
'was',
'we',
'were',
'what',
'when',
'who',
'whom',
'why',
'will',
'would',
'yet',
'you',
'your'
])
// add . as a separator, because otherwise "title": "Documenter.Anchors.add!"
// would not find anything if searching for "add!", only for the entire qualification
lunr.tokenizer.separator = /[\s\-\.]+/
// custom trimmer that doesn't strip @ and !, which are used in julia macro and function names
lunr.trimmer = function (token) {
return token.update(function (s) {
return s.replace(/^[^a-zA-Z0-9@!]+/, '').replace(/[^a-zA-Z0-9@!]+$/, '')
})
}
lunr.Pipeline.registerFunction(lunr.stopWordFilter, 'juliaStopWordFilter')
lunr.Pipeline.registerFunction(lunr.trimmer, 'juliaTrimmer')
var index = lunr(function () {
this.ref('location')
this.field('title',{boost: 100})
this.field('text')
documenterSearchIndex['docs'].forEach(function(e) {
this.add(e)
}, this)
})
var store = {}
documenterSearchIndex['docs'].forEach(function(e) {
store[e.location] = {title: e.title, category: e.category, page: e.page}
})
$(function(){
searchresults = $('#documenter-search-results');
searchinfo = $('#documenter-search-info');
searchbox = $('#documenter-search-query');
searchform = $('.docs-search');
sidebar = $('.docs-sidebar');
function update_search(querystring) {
tokens = lunr.tokenizer(querystring)
results = index.query(function (q) {
tokens.forEach(function (t) {
q.term(t.toString(), {
fields: ["title"],
boost: 100,
usePipeline: true,
editDistance: 0,
wildcard: lunr.Query.wildcard.NONE
})
q.term(t.toString(), {
fields: ["title"],
boost: 10,
usePipeline: true,
editDistance: 2,
wildcard: lunr.Query.wildcard.NONE
})
q.term(t.toString(), {
fields: ["text"],
boost: 1,
usePipeline: true,
editDistance: 0,
wildcard: lunr.Query.wildcard.NONE
})
})
})
searchinfo.text("Number of results: " + results.length)
searchresults.empty()
results.forEach(function(result) {
data = store[result.ref]
link = $('<a class="docs-label">'+data.title+'</a>')
link.attr('href', documenterBaseURL+'/'+result.ref)
if (data.category != "page"){
cat = $('<span class="docs-category">('+data.category+', '+data.page+')</span>')
} else {
cat = $('<span class="docs-category">('+data.category+')</span>')
}
li = $('<li>').append(link).append(" ").append(cat)
searchresults.append(li)
})
}
function update_search_box() {
querystring = searchbox.val()
update_search(querystring)
}
searchbox.keyup(_.debounce(update_search_box, 250))
searchbox.change(update_search_box)
// Disable enter-key form submission for the searchbox on the search page
// and just re-run search rather than refresh the whole page.
searchform.keypress(
function(event){
if (event.which == '13') {
if (sidebar.hasClass('visible')) {
sidebar.removeClass('visible');
}
update_search_box();
event.preventDefault();
}
}
);
search_query_uri = parseUri(window.location).queryKey["q"]
if(search_query_uri !== undefined) {
search_query = decodeURIComponent(search_query_uri.replace(/\+/g, '%20'))
searchbox.val(search_query)
}
update_search_box();
})
})
})
Source diff could not be displayed: it is too large. Options to address this: view the blob.
Source diff could not be displayed: it is too large. Options to address this: view the blob.
// Small function to quickly swap out themes. Gets put into the <head> tag..
function set_theme_from_local_storage() {
// Intialize the theme to null, which means default
var theme = null;
// If the browser supports the localstorage and is not disabled then try to get the
// documenter theme
if(window.localStorage != null) {
// Get the user-picked theme from localStorage. May be `null`, which means the default
// theme.
theme = window.localStorage.getItem("documenter-theme");
}
// Check if the browser supports user color preference
var darkPreference = false;
// Check if the users preference is for dark color scheme
if(window.matchMedia('(prefers-color-scheme: dark)').matches === true) {
darkPreference = true;
}
// Initialize a few variables for the loop:
//
// - active: will contain the index of the theme that should be active. Note that there
// is no guarantee that localStorage contains sane values. If `active` stays `null`
// we either could not find the theme or it is the default (primary) theme anyway.
// Either way, we then need to stick to the primary theme.
//
// - disabled: style sheets that should be disabled (i.e. all the theme style sheets
// that are not the currently active theme)
var active = null; var disabled = []; var darkTheme = null;
for (var i = 0; i < document.styleSheets.length; i++) {
var ss = document.styleSheets[i];
// The <link> tag of each style sheet is expected to have a data-theme-name attribute
// which must contain the name of the theme. The names in localStorage much match this.
var themename = ss.ownerNode.getAttribute("data-theme-name");
// attribute not set => non-theme stylesheet => ignore
if(themename === null) continue;
// To distinguish the default (primary) theme, it needs to have the data-theme-primary
// attribute set.
var isprimary = (ss.ownerNode.getAttribute("data-theme-primary") !== null);
// Check if the theme is primary dark theme
var isDarkTheme = (ss.ownerNode.getAttribute("data-theme-primary-dark") !== null);
// If ss is for dark theme then set the value of darkTheme to the name of the theme
if(isDarkTheme) darkTheme = themename;
// If we find a matching theme (and it's not the default), we'll set active to non-null
if(themename === theme) active = i;
// Store the style sheets of inactive themes so that we could disable them
if(themename !== theme) disabled.push(ss);
}
if(active !== null) {
// If we did find an active theme, we'll (1) add the theme--$(theme) class to <html>
document.getElementsByTagName('html')[0].className = "theme--" + theme;
// and (2) disable all the other theme stylesheets
disabled.forEach(function(ss){
ss.disabled = true;
});
}
else if(darkTheme !== null && darkPreference === true) {
// If we did find an active theme, we'll (1) add the theme--$(theme) class to <html>
document.getElementsByTagName('html')[0].className = "theme--" + darkTheme;
// and (2) disable all the other theme stylesheets
disabled.forEach(function(ss){
if (ss.ownerNode.getAttribute("data-theme-name") !== darkTheme) {
ss.disabled = true;
}
});
}
}
set_theme_from_local_storage();
function maybeAddWarning () {
// DOCUMENTER_NEWEST is defined in versions.js, DOCUMENTER_CURRENT_VERSION and DOCUMENTER_STABLE
// in siteinfo.js.
// If either of these are undefined something went horribly wrong, so we abort.
if (
window.DOCUMENTER_NEWEST === undefined ||
window.DOCUMENTER_CURRENT_VERSION === undefined ||
window.DOCUMENTER_STABLE === undefined
) {
return
};
// Current version is not a version number, so we can't tell if it's the newest version. Abort.
if (!/v(\d+\.)*\d+/.test(window.DOCUMENTER_CURRENT_VERSION)) {
return
};
// Current version is newest version, so no need to add a warning.
if (window.DOCUMENTER_NEWEST === window.DOCUMENTER_CURRENT_VERSION) {
return
};
// Add a noindex meta tag (unless one exists) so that search engines don't index this version of the docs.
if (document.body.querySelector('meta[name="robots"]') === null) {
const meta = document.createElement('meta');
meta.name = 'robots';
meta.content = 'noindex';
document.getElementsByTagName('head')[0].appendChild(meta);
};
const div = document.createElement('div');
div.classList.add('outdated-warning-overlay');
const closer = document.createElement('button');
closer.classList.add('outdated-warning-closer', 'delete');
closer.addEventListener('click', function () {
document.body.removeChild(div);
});
const href = window.documenterBaseURL + '/../' + window.DOCUMENTER_STABLE;
div.innerHTML = 'This documentation is not for the latest stable release, but for either the development version or an older release.<br><a href="' + href + '">Click here to go to the documentation for the latest stable release.</a>';
div.appendChild(closer);
document.body.appendChild(div);
};
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', maybeAddWarning);
} else {
maybeAddWarning();
};
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>ROyFit · NeRCA.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script><link href="../assets/custom.css" rel="stylesheet" type="text/css"/></head><body><div id="documenter"><nav class="docs-sidebar"><form class="docs-search" action="../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">Home</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../hits/">Hits</a></li><li class="is-active"><a class="tocitem" href>ROyFit</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>ROyFit</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>ROyFit</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://git.km3net.de/tgal/NeRCA.jl/blob/master/docs/src/fit.md#L" title="Edit source"><span class="docs-icon fa"></span><span class="docs-label is-hidden-touch">Edit source</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="ROyFit"><a class="docs-heading-anchor" href="#ROyFit">ROyFit</a><a id="ROyFit-1"></a><a class="docs-heading-anchor-permalink" href="#ROyFit" title="Permalink"></a></h1><article class="docstring"><header><a class="docstring-binding" id="NeRCA.dumandfit-Union{Tuple{Vector{T}}, Tuple{T}} where T&lt;:KM3io.AbstractCalibratedHit" href="#NeRCA.dumandfit-Union{Tuple{Vector{T}}, Tuple{T}} where T&lt;:KM3io.AbstractCalibratedHit"><code>NeRCA.dumandfit</code></a><span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">dumandfit(
hits::Array{T&lt;:KM3io.AbstractCalibratedHit, 1}
) -&gt; KM3io.Track
</code></pre><p>Performs the prefit algorithm which was used in DUMAND II.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/48a317dddc069611380ae79e75de1ffca17f8cda/src/fit.jl#LL29">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="NeRCA.make_cherenkov_calculator-NTuple{5, Any}" href="#NeRCA.make_cherenkov_calculator-NTuple{5, Any}"><code>NeRCA.make_cherenkov_calculator</code></a><span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">make_cherenkov_calculator(
d_closest,
t_closest,
z_closest,
dir_z,
t₀;
n
) -&gt; Tuple{NeRCA.var&quot;#d_γ#12&quot;{Float64}, NeRCA.var&quot;#t#13&quot;{Float64, _A, _B, _C, _D, Float64} where {_A, _B, _C, _D}}
</code></pre><p>Returns a function which calculates the arrival time of a Cherenkov photon at a given position.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/48a317dddc069611380ae79e75de1ffca17f8cda/src/fit.jl#LL92">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="NeRCA.make_cherenkov_calculator-Tuple{KM3io.Track}" href="#NeRCA.make_cherenkov_calculator-Tuple{KM3io.Track}"><code>NeRCA.make_cherenkov_calculator</code></a><span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">make_cherenkov_calculator(track::KM3io.Track; v, n)
</code></pre><p>Returns a function which calculates the arrival time of a Cherenkov photon at a given position.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/48a317dddc069611380ae79e75de1ffca17f8cda/src/fit.jl#LL59">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="NeRCA.make_cherenkov_calculator-Tuple{SingleDUParams}" href="#NeRCA.make_cherenkov_calculator-Tuple{SingleDUParams}"><code>NeRCA.make_cherenkov_calculator</code></a><span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">make_cherenkov_calculator(
sdp::SingleDUParams;
n
) -&gt; Tuple{NeRCA.var&quot;#d_γ#15&quot;{Float64, SingleDUParams}, NeRCA.var&quot;#t#16&quot;{Float64, SingleDUParams, NeRCA.var&quot;#d_γ#15&quot;{Float64, SingleDUParams}, Float64}}
</code></pre><p>Returns a function which calculates the arrival time of a Cherenkov photon at a given position.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/48a317dddc069611380ae79e75de1ffca17f8cda/src/fit.jl#LL103">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="NeRCA.select_hits-Tuple{Any, Any}" href="#NeRCA.select_hits-Tuple{Any, Any}"><code>NeRCA.select_hits</code></a><span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">select_hits(du_hits, hit_pool; Δt₋, Δz, new_hits) -&gt; Any
</code></pre><p>Returns the seed hits suited for a Cherenkov hit time residual based reconstruction algorithm.</p><p>The <code>du_hits</code> should only contain hits for a single DU. The hit<em>pool holds all other hit candidates (e.g. created by `create</em>hit_pool()<code>).</code>Δt₋<code>is the allowed negative time error for the arrival time,</code>Δz` distance between two floors.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/48a317dddc069611380ae79e75de1ffca17f8cda/src/fit.jl#LL151">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="NeRCA.single_du_params-Tuple{KM3io.Track}" href="#NeRCA.single_du_params-Tuple{KM3io.Track}"><code>NeRCA.single_du_params</code></a><span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">single_du_params(track::KM3io.Track)
</code></pre><p>Calculates five parameters to describe a track for a single DU case.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/48a317dddc069611380ae79e75de1ffca17f8cda/src/fit.jl#LL116">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../hits/">« Hits</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Saturday 8 July 2023 07:45">Saturday 8 July 2023</span>. Using Julia version 1.8.5.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Hits · NeRCA.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script><link href="../assets/custom.css" rel="stylesheet" type="text/css"/></head><body><div id="documenter"><nav class="docs-sidebar"><form class="docs-search" action="../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">Home</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li class="is-active"><a class="tocitem" href>Hits</a></li><li><a class="tocitem" href="../fit/">ROyFit</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Hits</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Hits</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://git.km3net.de/tgal/NeRCA.jl/blob/master/docs/src/hits.md#L" title="Edit source"><span class="docs-icon fa"></span><span class="docs-label is-hidden-touch">Edit source</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Hits"><a class="docs-heading-anchor" href="#Hits">Hits</a><a id="Hits-1"></a><a class="docs-heading-anchor-permalink" href="#Hits" title="Permalink"></a></h1><p>The hit type hierarchy is currently being redesigned!</p><p><code>NeRCA.jl</code> has three main types of hits: <code>AbstractDAQHit</code>, <code>AbstractMCHit</code> and <code>CalibratedHit</code>.</p><table><tr><th style="text-align: right">hit type</th><th style="text-align: right">supertype</th><th style="text-align: right">guaranteed attributes</th></tr><tr><td style="text-align: right"><code>Hit</code> (in future <code>SnapshotHit</code>)</td><td style="text-align: right"><code>AbstractDAQHit</code></td><td style="text-align: right"><code>channel_id</code>, <code>dom_id</code>, <code>t</code>, <code>tot</code></td></tr><tr><td style="text-align: right"><code>TriggeredHit</code></td><td style="text-align: right"><code>AbstractDAQHit</code></td><td style="text-align: right"><code>channel_id</code>, <code>dom_id</code>, <code>t</code>, <code>tot</code>, <code>trigger_mask</code></td></tr><tr><td style="text-align: right"><code>MCHit</code></td><td style="text-align: right"><code>AbstractMCHit</code></td><td style="text-align: right"><code>a</code>, <code>origin</code>, <code>pmt_id</code>, <code>t</code></td></tr></table><article class="docstring"><header><a class="docstring-binding" id="NeRCA.combine-Tuple{Vector{KM3io.SnapshotHit}, Vector{KM3io.Hit}}" href="#NeRCA.combine-Tuple{Vector{KM3io.SnapshotHit}, Vector{KM3io.Hit}}"><code>NeRCA.combine</code></a><span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">combine(
snapshot_hits::Vector{KM3io.SnapshotHit},
triggered_hits::Vector{KM3io.Hit}
) -&gt; Vector{KM3io.Hit}
</code></pre><p>Combine snapshot and triggered hits to a single hits-vector.</p><p>This should be used to transfer the trigger information to the snapshot hits from a DAQEvent. The triggered hits are a subset of the snapshot hits.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/48a317dddc069611380ae79e75de1ffca17f8cda/src/hits.jl#LL1">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="NeRCA.count_multiplicities!" href="#NeRCA.count_multiplicities!"><code>NeRCA.count_multiplicities!</code></a><span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">count_multiplicities!(hits::Vector{KM3io.XCalibratedHit})
count_multiplicities!(
hits::Vector{KM3io.XCalibratedHit},
tmax
)
</code></pre><p>Counts the multiplicities and modifies the .multiplicity field of the hits. Important: the hits have to be sorted by time and then by DOM ID first.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/48a317dddc069611380ae79e75de1ffca17f8cda/src/hits.jl#LL97">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="NeRCA.count_multiplicities-Union{Tuple{Vector{T}}, Tuple{T}, Tuple{Vector{T}, Any}} where T&lt;:KM3io.AbstractHit" href="#NeRCA.count_multiplicities-Union{Tuple{Vector{T}}, Tuple{T}, Tuple{Vector{T}, Any}} where T&lt;:KM3io.AbstractHit"><code>NeRCA.count_multiplicities</code></a><span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">count_multiplicities(
hits::Array{T&lt;:KM3io.AbstractHit, 1}
) -&gt; Tuple{Vector{Int32}, Vector{Int32}}
count_multiplicities(
hits::Array{T&lt;:KM3io.AbstractHit, 1},
tmax
) -&gt; Tuple{Vector{Int32}, Vector{Int32}}
</code></pre><p>Calculate the multiplicities for a given time window. Two arrays are are returned, one contains the multiplicities, the second one the IDs of the coincidence groups. The hits should be sorted by time and then by dom_id.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/48a317dddc069611380ae79e75de1ffca17f8cda/src/hits.jl#LL54">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="NeRCA.domhits-Tuple{Any}" href="#NeRCA.domhits-Tuple{Any}"><code>NeRCA.domhits</code></a><span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">domhits(hits) -&gt; Dict
</code></pre><p>Categorise hits by DOM ID and put them into a dictionary of DOM ID=&gt;Vector{Hit}.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/48a317dddc069611380ae79e75de1ffca17f8cda/src/hits.jl#LL155">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="NeRCA.duhits-Union{Tuple{Vector{T}}, Tuple{T}} where T&lt;:KM3io.XCalibratedHit" href="#NeRCA.duhits-Union{Tuple{Vector{T}}, Tuple{T}} where T&lt;:KM3io.XCalibratedHit"><code>NeRCA.duhits</code></a><span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">duhits(hits::Array{T&lt;:KM3io.XCalibratedHit, 1}) -&gt; Dict
</code></pre><p>Categorise hits by DU and put them into a dictionary of DU=&gt;Vector{Hit}.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/48a317dddc069611380ae79e75de1ffca17f8cda/src/hits.jl#LL161">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="NeRCA.nfoldhits-Union{Tuple{T}, Tuple{Vector{T}, Any, Any}} where T&lt;:KM3io.AbstractDAQHit" href="#NeRCA.nfoldhits-Union{Tuple{T}, Tuple{Vector{T}, Any, Any}} where T&lt;:KM3io.AbstractDAQHit"><code>NeRCA.nfoldhits</code></a><span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">nfoldhits(
hits::Array{T&lt;:KM3io.AbstractDAQHit, 1},
Δt,
n
) -&gt; Vector
</code></pre><p>Create a <code>Vector</code> with hits contributing to <code>n</code>-fold coincidences within a time window of Δt.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/48a317dddc069611380ae79e75de1ffca17f8cda/src/hits.jl#LL28">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="NeRCA.nphes-Tuple{Any}" href="#NeRCA.nphes-Tuple{Any}"><code>NeRCA.nphes</code></a><span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">nphes(tot) -&gt; Any
</code></pre><p>Returns the estimated number of photoelectrons for a given ToT.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/48a317dddc069611380ae79e75de1ffca17f8cda/src/hits.jl#LL175">source</a></section></article><article class="docstring"><header><a class="docstring-binding" id="NeRCA.totcut-Union{Tuple{T}, Tuple{Vector{T}, Any}} where T&lt;:KM3io.AbstractDAQHit" href="#NeRCA.totcut-Union{Tuple{T}, Tuple{Vector{T}, Any}} where T&lt;:KM3io.AbstractDAQHit"><code>NeRCA.totcut</code></a><span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">totcut(
hits::Array{T&lt;:KM3io.AbstractDAQHit, 1},
tot
) -&gt; Vector
</code></pre><p>Return a vector of hits with ToT &gt;= <code>tot</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/48a317dddc069611380ae79e75de1ffca17f8cda/src/hits.jl#LL167">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../io/">« I/O</a><a class="docs-footer-nextpage" href="../fit/">ROyFit »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Saturday 8 July 2023 07:45">Saturday 8 July 2023</span>. Using Julia version 1.8.5.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Home · NeRCA.jl</title><script data-outdated-warner src="assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="assets/documenter.js"></script><script src="siteinfo.js"></script><script src="../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="assets/themeswap.js"></script><link href="assets/custom.css" rel="stylesheet" type="text/css"/></head><body><div id="documenter"><nav class="docs-sidebar"><form class="docs-search" action="search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li class="is-active"><a class="tocitem" href>Home</a><ul class="internal"><li><a class="tocitem" href="#Introduction"><span>Introduction</span></a></li><li><a class="tocitem" href="#Installation"><span>Installation</span></a></li><li><a class="tocitem" href="#General-information"><span>General information</span></a></li></ul></li><li><a class="tocitem" href="io/">I/O</a></li><li><a class="tocitem" href="hits/">Hits</a></li><li><a class="tocitem" href="fit/">ROyFit</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Home</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Home</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://git.km3net.de/tgal/NeRCA.jl/blob/master/docs/src/index.md#L" title="Edit source"><span class="docs-icon fa"></span><span class="docs-label is-hidden-touch">Edit source</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="NeRCA.jl-Package"><a class="docs-heading-anchor" href="#NeRCA.jl-Package">NeRCA.jl Package</a><a id="NeRCA.jl-Package-1"></a><a class="docs-heading-anchor-permalink" href="#NeRCA.jl-Package" title="Permalink"></a></h1><h2 id="Introduction"><a class="docs-heading-anchor" href="#Introduction">Introduction</a><a id="Introduction-1"></a><a class="docs-heading-anchor-permalink" href="#Introduction" title="Permalink"></a></h2><p>Welcome to the <code>NeRCA.jl</code> (<strong>Ne</strong>utrino <strong>R</strong>esearch with <strong>C</strong>osmics in the <strong>A</strong>byss) package documentation. This piece of software was written for those who like to explore the KM3NeT world with a new, modern and ultra fast programming language designed for scientific computing: <a href="https://www.julialang.org">Julia</a>. The I/O for KM3NeT related data is provided by <a href="https://git.km3net.de/common/KM3io.jl">KM3io.jl</a>.</p><h2 id="Installation"><a class="docs-heading-anchor" href="#Installation">Installation</a><a id="Installation-1"></a><a class="docs-heading-anchor-permalink" href="#Installation" title="Permalink"></a></h2><p><code>NeRCA.jl</code> was initially registered on the officially Julia package registry but since version 0.11.0, it resides in the <a href="https://git.km3net.de/common/julia-registry">KM3NeT Julia Registry</a>. To install the latest version, you first need to add the KM3NeT Julia Registry to your local registries. Follow the instructions in its README or simply do</p><pre><code class="nohighlight hljs">git clone https://git.km3net.de/common/julia-registry ~/.julia/registries/KM3NeT</code></pre><p>After that, you can install <code>NeRCA.jl</code> just like any other Julia package with <code>Pkg</code>:</p><pre><code class="language-julia-repl hljs">using Pkg
Pkg.add(&quot;NeRCA&quot;)</code></pre><h2 id="General-information"><a class="docs-heading-anchor" href="#General-information">General information</a><a id="General-information-1"></a><a class="docs-heading-anchor-permalink" href="#General-information" title="Permalink"></a></h2><p><code>NeRCA.jl</code> started as a hobby project and contained all kinds of KM3NeT related stuff. In 2023, many of the functionalities were extracted to distinct packages. Here are some examples:</p><ul><li><a href="https://git.km3net.de/common/KM3io.jl">KM3io.jl</a>: general I/O (reading ROOT, DETX and other KM3NeT files)</li><li><a href="https://git.km3net.de/tgal/KM3DB.jl">KM3DB.jl</a>: accessing the KM3NeT Oracle Database (StreamDS, run setups, detector calibrations, ...)</li><li><a href="https://git.km3net.de/acoustics/KM3Acoustics.jl">KM3Acoustics.jl</a>: Acoustics stuff, simulation of acoustic events, calibration procedures, ..</li><li><a href="https://git.km3net.de/km3py/km3net-testdata">KM3NeTTestData.jl</a>: A collection of KM3NeT related sample files (used for tests)</li></ul></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="io/">I/O »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Saturday 8 July 2023 07:45">Saturday 8 July 2023</span>. Using Julia version 1.8.5.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>I/O · NeRCA.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script><link href="../assets/custom.css" rel="stylesheet" type="text/css"/></head><body><div id="documenter"><nav class="docs-sidebar"><form class="docs-search" action="../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">Home</a></li><li class="is-active"><a class="tocitem" href>I/O</a></li><li><a class="tocitem" href="../hits/">Hits</a></li><li><a class="tocitem" href="../fit/">ROyFit</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>I/O</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>I/O</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://git.km3net.de/tgal/NeRCA.jl/blob/master/docs/src/io.md#L" title="Edit source"><span class="docs-icon fa"></span><span class="docs-label is-hidden-touch">Edit source</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="I/O-Related-Functions"><a class="docs-heading-anchor" href="#I/O-Related-Functions">I/O Related Functions</a><a id="I/O-Related-Functions-1"></a><a class="docs-heading-anchor-permalink" href="#I/O-Related-Functions" title="Permalink"></a></h1></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../">« Home</a><a class="docs-footer-nextpage" href="../hits/">Hits »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Saturday 8 July 2023 07:45">Saturday 8 July 2023</span>. Using Julia version 1.8.5.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Search · NeRCA.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script><link href="../assets/custom.css" rel="stylesheet" type="text/css"/></head><body><div id="documenter"><nav class="docs-sidebar"><form class="docs-search" action><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">Home</a></li><li><a class="tocitem" href="../io/">I/O</a></li><li><a class="tocitem" href="../hits/">Hits</a></li><li><a class="tocitem" href="../fit/">ROyFit</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Search</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Search</a></li></ul></nav><div class="docs-right"><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article><p id="documenter-search-info">Loading search...</p><ul id="documenter-search-results"></ul></article><nav class="docs-footer"><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.25 on <span class="colophon-date" title="Saturday 8 July 2023 07:45">Saturday 8 July 2023</span>. Using Julia version 1.8.5.</p></section><footer class="modal-card-foot"></footer></div></div></div></body><script src="../search_index.js"></script><script src="../assets/search.js"></script></html>
var documenterSearchIndex = {"docs":
[{"location":"hits/#Hits","page":"Hits","title":"Hits","text":"","category":"section"},{"location":"hits/","page":"Hits","title":"Hits","text":"The hit type hierarchy is currently being redesigned!","category":"page"},{"location":"hits/","page":"Hits","title":"Hits","text":"NeRCA.jl has three main types of hits: AbstractDAQHit, AbstractMCHit and CalibratedHit.","category":"page"},{"location":"hits/","page":"Hits","title":"Hits","text":"hit type supertype guaranteed attributes\nHit (in future SnapshotHit) AbstractDAQHit channel_id, dom_id, t, tot\nTriggeredHit AbstractDAQHit channel_id, dom_id, t, tot, trigger_mask\nMCHit AbstractMCHit a, origin, pmt_id, t","category":"page"},{"location":"hits/","page":"Hits","title":"Hits","text":"Modules = [NeRCA]\nPages = [\"hits.jl\"]","category":"page"},{"location":"hits/#NeRCA.combine-Tuple{Vector{KM3io.SnapshotHit}, Vector{KM3io.Hit}}","page":"Hits","title":"NeRCA.combine","text":"combine(\n snapshot_hits::Vector{KM3io.SnapshotHit},\n triggered_hits::Vector{KM3io.Hit}\n) -> Vector{KM3io.Hit}\n\n\nCombine snapshot and triggered hits to a single hits-vector.\n\nThis should be used to transfer the trigger information to the snapshot hits from a DAQEvent. The triggered hits are a subset of the snapshot hits.\n\n\n\n\n\n","category":"method"},{"location":"hits/#NeRCA.count_multiplicities!","page":"Hits","title":"NeRCA.count_multiplicities!","text":"count_multiplicities!(hits::Vector{KM3io.XCalibratedHit})\ncount_multiplicities!(\n hits::Vector{KM3io.XCalibratedHit},\n tmax\n)\n\n\nCounts the multiplicities and modifies the .multiplicity field of the hits. Important: the hits have to be sorted by time and then by DOM ID first.\n\n\n\n\n\n","category":"function"},{"location":"hits/#NeRCA.count_multiplicities-Union{Tuple{Vector{T}}, Tuple{T}, Tuple{Vector{T}, Any}} where T<:KM3io.AbstractHit","page":"Hits","title":"NeRCA.count_multiplicities","text":"count_multiplicities(\n hits::Array{T<:KM3io.AbstractHit, 1}\n) -> Tuple{Vector{Int32}, Vector{Int32}}\ncount_multiplicities(\n hits::Array{T<:KM3io.AbstractHit, 1},\n tmax\n) -> Tuple{Vector{Int32}, Vector{Int32}}\n\n\nCalculate the multiplicities for a given time window. Two arrays are are returned, one contains the multiplicities, the second one the IDs of the coincidence groups. The hits should be sorted by time and then by dom_id.\n\n\n\n\n\n","category":"method"},{"location":"hits/#NeRCA.domhits-Tuple{Any}","page":"Hits","title":"NeRCA.domhits","text":"domhits(hits) -> Dict\n\n\nCategorise hits by DOM ID and put them into a dictionary of DOM ID=>Vector{Hit}.\n\n\n\n\n\n","category":"method"},{"location":"hits/#NeRCA.duhits-Union{Tuple{Vector{T}}, Tuple{T}} where T<:KM3io.XCalibratedHit","page":"Hits","title":"NeRCA.duhits","text":"duhits(hits::Array{T<:KM3io.XCalibratedHit, 1}) -> Dict\n\n\nCategorise hits by DU and put them into a dictionary of DU=>Vector{Hit}.\n\n\n\n\n\n","category":"method"},{"location":"hits/#NeRCA.nfoldhits-Union{Tuple{T}, Tuple{Vector{T}, Any, Any}} where T<:KM3io.AbstractDAQHit","page":"Hits","title":"NeRCA.nfoldhits","text":"nfoldhits(\n hits::Array{T<:KM3io.AbstractDAQHit, 1},\n Δt,\n n\n) -> Vector\n\n\nCreate a Vector with hits contributing to n-fold coincidences within a time window of Δt.\n\n\n\n\n\n","category":"method"},{"location":"hits/#NeRCA.nphes-Tuple{Any}","page":"Hits","title":"NeRCA.nphes","text":"nphes(tot) -> Any\n\n\nReturns the estimated number of photoelectrons for a given ToT.\n\n\n\n\n\n","category":"method"},{"location":"hits/#NeRCA.totcut-Union{Tuple{T}, Tuple{Vector{T}, Any}} where T<:KM3io.AbstractDAQHit","page":"Hits","title":"NeRCA.totcut","text":"totcut(\n hits::Array{T<:KM3io.AbstractDAQHit, 1},\n tot\n) -> Vector\n\n\nReturn a vector of hits with ToT >= tot.\n\n\n\n\n\n","category":"method"},{"location":"fit/#ROyFit","page":"ROyFit","title":"ROyFit","text":"","category":"section"},{"location":"fit/","page":"ROyFit","title":"ROyFit","text":"Modules = [NeRCA]\nPages = [\"fit.jl\"]","category":"page"},{"location":"fit/#NeRCA.dumandfit-Union{Tuple{Vector{T}}, Tuple{T}} where T<:KM3io.AbstractCalibratedHit","page":"ROyFit","title":"NeRCA.dumandfit","text":"dumandfit(\n hits::Array{T<:KM3io.AbstractCalibratedHit, 1}\n) -> KM3io.Track\n\n\nPerforms the prefit algorithm which was used in DUMAND II.\n\n\n\n\n\n","category":"method"},{"location":"fit/#NeRCA.make_cherenkov_calculator-NTuple{5, Any}","page":"ROyFit","title":"NeRCA.make_cherenkov_calculator","text":"make_cherenkov_calculator(\n d_closest,\n t_closest,\n z_closest,\n dir_z,\n t₀;\n n\n) -> Tuple{NeRCA.var\"#d_γ#12\"{Float64}, NeRCA.var\"#t#13\"{Float64, _A, _B, _C, _D, Float64} where {_A, _B, _C, _D}}\n\n\nReturns a function which calculates the arrival time of a Cherenkov photon at a given position.\n\n\n\n\n\n","category":"method"},{"location":"fit/#NeRCA.make_cherenkov_calculator-Tuple{KM3io.Track}","page":"ROyFit","title":"NeRCA.make_cherenkov_calculator","text":"make_cherenkov_calculator(track::KM3io.Track; v, n)\n\n\nReturns a function which calculates the arrival time of a Cherenkov photon at a given position.\n\n\n\n\n\n","category":"method"},{"location":"fit/#NeRCA.make_cherenkov_calculator-Tuple{SingleDUParams}","page":"ROyFit","title":"NeRCA.make_cherenkov_calculator","text":"make_cherenkov_calculator(\n sdp::SingleDUParams;\n n\n) -> Tuple{NeRCA.var\"#d_γ#15\"{Float64, SingleDUParams}, NeRCA.var\"#t#16\"{Float64, SingleDUParams, NeRCA.var\"#d_γ#15\"{Float64, SingleDUParams}, Float64}}\n\n\nReturns a function which calculates the arrival time of a Cherenkov photon at a given position.\n\n\n\n\n\n","category":"method"},{"location":"fit/#NeRCA.select_hits-Tuple{Any, Any}","page":"ROyFit","title":"NeRCA.select_hits","text":"select_hits(du_hits, hit_pool; Δt₋, Δz, new_hits) -> Any\n\n\nReturns the seed hits suited for a Cherenkov hit time residual based reconstruction algorithm.\n\nThe du_hits should only contain hits for a single DU. The hitpool holds all other hit candidates (e.g. created by `createhit_pool()).Δt₋is the allowed negative time error for the arrival time,Δz` distance between two floors.\n\n\n\n\n\n","category":"method"},{"location":"fit/#NeRCA.single_du_params-Tuple{KM3io.Track}","page":"ROyFit","title":"NeRCA.single_du_params","text":"single_du_params(track::KM3io.Track)\n\n\nCalculates five parameters to describe a track for a single DU case.\n\n\n\n\n\n","category":"method"},{"location":"#NeRCA.jl-Package","page":"Home","title":"NeRCA.jl Package","text":"","category":"section"},{"location":"#Introduction","page":"Home","title":"Introduction","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"Welcome to the NeRCA.jl (Neutrino Research with Cosmics in the Abyss) package documentation. This piece of software was written for those who like to explore the KM3NeT world with a new, modern and ultra fast programming language designed for scientific computing: Julia. The I/O for KM3NeT related data is provided by KM3io.jl.","category":"page"},{"location":"#Installation","page":"Home","title":"Installation","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"NeRCA.jl was initially registered on the officially Julia package registry but since version 0.11.0, it resides in the KM3NeT Julia Registry. To install the latest version, you first need to add the KM3NeT Julia Registry to your local registries. Follow the instructions in its README or simply do","category":"page"},{"location":"","page":"Home","title":"Home","text":"git clone https://git.km3net.de/common/julia-registry ~/.julia/registries/KM3NeT","category":"page"},{"location":"","page":"Home","title":"Home","text":"After that, you can install NeRCA.jl just like any other Julia package with Pkg:","category":"page"},{"location":"","page":"Home","title":"Home","text":"using Pkg\nPkg.add(\"NeRCA\")","category":"page"},{"location":"#General-information","page":"Home","title":"General information","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"NeRCA.jl started as a hobby project and contained all kinds of KM3NeT related stuff. In 2023, many of the functionalities were extracted to distinct packages. Here are some examples:","category":"page"},{"location":"","page":"Home","title":"Home","text":"KM3io.jl: general I/O (reading ROOT, DETX and other KM3NeT files)\nKM3DB.jl: accessing the KM3NeT Oracle Database (StreamDS, run setups, detector calibrations, ...)\nKM3Acoustics.jl: Acoustics stuff, simulation of acoustic events, calibration procedures, ..\nKM3NeTTestData.jl: A collection of KM3NeT related sample files (used for tests)","category":"page"},{"location":"io/#I/O-Related-Functions","page":"I/O","title":"I/O Related Functions","text":"","category":"section"},{"location":"io/","page":"I/O","title":"I/O","text":"Modules = [NeRCA]\nPages = [\"io.jl\"]","category":"page"}]
}
var DOCUMENTER_CURRENT_VERSION = "dev";
var DOC_VERSIONS = [
"stable",
"v0.11",
"dev",
];
var DOCUMENTER_NEWEST = "v0.11.2";
var DOCUMENTER_STABLE = "stable";
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment