diff --git a/dev/.documenter-siteinfo.json b/dev/.documenter-siteinfo.json index 811a38fe3a7da3522f203bd5a3be6f0d0fef40c9..6cdb86508fc3f4c01c79fa10569dc20a26f02d24 100644 --- a/dev/.documenter-siteinfo.json +++ b/dev/.documenter-siteinfo.json @@ -1 +1 @@ -{"documenter":{"julia_version":"1.9.1","generation_timestamp":"2023-10-04T22:42:39","documenter_version":"1.1.0"}} \ No newline at end of file +{"documenter":{"julia_version":"1.9.1","generation_timestamp":"2023-10-09T12:12:32","documenter_version":"1.1.0"}} \ No newline at end of file diff --git a/dev/fit/index.html b/dev/fit/index.html index 6021ee5f8c38fedfb86051c99ceda597643d4a3e..824f13979b58827db30c8640323a2fb55216abce 100644 --- a/dev/fit/index.html +++ b/dev/fit/index.html @@ -1,10 +1,10 @@ <!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><meta name="title" content="ROyFit · NeRCA.jl"/><meta property="og:title" content="ROyFit · NeRCA.jl"/><meta property="twitter:title" content="ROyFit · NeRCA.jl"/><meta name="description" content="Documentation for NeRCA.jl."/><meta property="og:description" content="Documentation for NeRCA.jl."/><meta property="twitter:description" content="Documentation for NeRCA.jl."/><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.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/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="../search_index.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"><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><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"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><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-navbar-link" href="https://git.km3net.de/tgal/NeRCA.jl" title="View the repository"><span class="docs-icon fa-brands">ï¡</span><span class="docs-label is-hidden-touch">Repository</span></a><a class="docs-navbar-link" href="https://git.km3net.de/tgal/NeRCA.jl/blob/master/docs/src/fit.md#L" title="Edit source"><span class="docs-icon fa-solid">ï„</span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></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-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.DirectionSet" href="#NeRCA.DirectionSet"><code>NeRCA.DirectionSet</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct DirectionSet</code></pre><p>A container of directions with additionial information about their median angular separation.</p><p><strong>Fields</strong></p><ul><li><p><code>directions::Vector{Direction{Float64}}</code></p></li><li><p><code>angular_separation::Float64</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/3a879744b387c9c97acbd50239074cfc6c3afb51/src/scanfit.jl#LL14">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.Line1Z" href="#NeRCA.Line1Z"><code>NeRCA.Line1Z</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct Line1Z <: NeRCA.EstimatorModel</code></pre><p>A straight line parallel to the z-axis.</p><p><strong>Fields</strong></p><ul><li><p><code>pos::Position{Float64}</code></p></li><li><p><code>t::Float64</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/3a879744b387c9c97acbd50239074cfc6c3afb51/src/scanfit.jl#LL117">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.MuonScanfit-Tuple{KM3io.DAQEvent}" href="#NeRCA.MuonScanfit-Tuple{KM3io.DAQEvent}"><code>NeRCA.MuonScanfit</code></a> — <span class="docstring-category">Method</span></header><section><div><p>Performs a Muon track fit for a given event.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/3a879744b387c9c97acbd50239074cfc6c3afb51/src/scanfit.jl#LL40">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.MuonScanfit-Union{Tuple{Vector{T}}, Tuple{T}} where T<:KM3io.AbstractHit" href="#NeRCA.MuonScanfit-Union{Tuple{Vector{T}}, Tuple{T}} where T<:KM3io.AbstractHit"><code>NeRCA.MuonScanfit</code></a> — <span class="docstring-category">Method</span></header><section><div><p>Performs a Muon track fit for a given set of hits (usually snapshot hits).</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/3a879744b387c9c97acbd50239074cfc6c3afb51/src/scanfit.jl#LL45">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.XYTSolver" href="#NeRCA.XYTSolver"><code>NeRCA.XYTSolver</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct XYTSolver</code></pre><p>A task worker whichs solves for x, y an t for a given set of hits and a direction.</p><p><strong>Fields</strong></p><ul><li><p><code>hits_buffer::Vector{HitR1}</code></p></li><li><p><code>covmatrix::NeRCA.CovMatrix</code></p></li><li><p><code>timeresvec::Vector{Float64}</code></p></li><li><p><code>nmaxhits::Int64</code></p></li><li><p><code>matcher::Match1D</code></p></li><li><p><code>est::Line1ZEstimator</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/3a879744b387c9c97acbd50239074cfc6c3afb51/src/scanfit.jl#LL329">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.Libc.time-Tuple{Line1Z, Position}" href="#Base.Libc.time-Tuple{Line1Z, Position}"><code>Base.Libc.time</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">time(lz::Line1Z, pos::Position) -> Any -</code></pre><p>Calculate the Chernkov arrival tive for a given position.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/3a879744b387c9c97acbd50239074cfc6c3afb51/src/scanfit.jl#LL132">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.dumandfit-Union{Tuple{Vector{T}}, Tuple{T}} where T<:KM3io.AbstractCalibratedHit" href="#NeRCA.dumandfit-Union{Tuple{Vector{T}}, Tuple{T}} where T<:KM3io.AbstractCalibratedHit"><code>NeRCA.dumandfit</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">dumandfit( +<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>ROyFit · NeRCA.jl</title><meta name="title" content="ROyFit · NeRCA.jl"/><meta property="og:title" content="ROyFit · NeRCA.jl"/><meta property="twitter:title" content="ROyFit · NeRCA.jl"/><meta name="description" content="Documentation for NeRCA.jl."/><meta property="og:description" content="Documentation for NeRCA.jl."/><meta property="twitter:description" content="Documentation for NeRCA.jl."/><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.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/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="../search_index.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"><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><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"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><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-navbar-link" href="https://git.km3net.de/tgal/NeRCA.jl" title="View the repository"><span class="docs-icon fa-brands">ï¡</span><span class="docs-label is-hidden-touch">Repository</span></a><a class="docs-navbar-link" href="https://git.km3net.de/tgal/NeRCA.jl/blob/master/docs/src/fit.md#L" title="Edit source"><span class="docs-icon fa-solid">ï„</span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></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-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.DirectionSet" href="#NeRCA.DirectionSet"><code>NeRCA.DirectionSet</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct DirectionSet</code></pre><p>A container of directions with additionial information about their median angular separation.</p><p><strong>Fields</strong></p><ul><li><p><code>directions::Vector{Direction{Float64}}</code></p></li><li><p><code>angular_separation::Float64</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/scanfit.jl#LL14">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.Line1Z" href="#NeRCA.Line1Z"><code>NeRCA.Line1Z</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct Line1Z <: NeRCA.EstimatorModel</code></pre><p>A straight line parallel to the z-axis.</p><p><strong>Fields</strong></p><ul><li><p><code>pos::Position{Float64}</code></p></li><li><p><code>t::Float64</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/scanfit.jl#LL117">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.MuonScanfit-Tuple{KM3io.DAQEvent}" href="#NeRCA.MuonScanfit-Tuple{KM3io.DAQEvent}"><code>NeRCA.MuonScanfit</code></a> — <span class="docstring-category">Method</span></header><section><div><p>Performs a Muon track fit for a given event.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/scanfit.jl#LL40">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.MuonScanfit-Union{Tuple{Vector{T}}, Tuple{T}} where T<:KM3io.AbstractHit" href="#NeRCA.MuonScanfit-Union{Tuple{Vector{T}}, Tuple{T}} where T<:KM3io.AbstractHit"><code>NeRCA.MuonScanfit</code></a> — <span class="docstring-category">Method</span></header><section><div><p>Performs a Muon track fit for a given set of hits (usually snapshot hits).</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/scanfit.jl#LL45">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.XYTSolver" href="#NeRCA.XYTSolver"><code>NeRCA.XYTSolver</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct XYTSolver</code></pre><p>A task worker whichs solves for x, y an t for a given set of hits and a direction.</p><p><strong>Fields</strong></p><ul><li><p><code>hits_buffer::Vector{HitR1}</code></p></li><li><p><code>covmatrix::NeRCA.CovMatrix</code></p></li><li><p><code>timeresvec::Vector{Float64}</code></p></li><li><p><code>nmaxhits::Int64</code></p></li><li><p><code>matcher::Match1D</code></p></li><li><p><code>est::Line1ZEstimator</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/scanfit.jl#LL347">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="Base.Libc.time-Tuple{Line1Z, Position}" href="#Base.Libc.time-Tuple{Line1Z, Position}"><code>Base.Libc.time</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">time(lz::Line1Z, pos::Position) -> Any +</code></pre><p>Calculate the Chernkov arrival tive for a given position.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/scanfit.jl#LL132">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.dumandfit-Union{Tuple{Vector{T}}, Tuple{T}} where T<:KM3io.AbstractCalibratedHit" href="#NeRCA.dumandfit-Union{Tuple{Vector{T}}, Tuple{T}} where T<: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<:KM3io.AbstractCalibratedHit, 1} ) -> 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/3a879744b387c9c97acbd50239074cfc6c3afb51/src/dumandfit.jl#LL1">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.invert!-Tuple{Any, Any}" href="#NeRCA.invert!-Tuple{Any, Any}"><code>NeRCA.invert!</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">invert!(V, precision) -> Any -</code></pre><p>Invert matrix in-place with a given precision (clamps eigenvalues to 0 below that).</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/3a879744b387c9c97acbd50239074cfc6c3afb51/src/scanfit.jl#LL247">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><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( +</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/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/dumandfit.jl#LL1">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.invert!-Tuple{Any, Any}" href="#NeRCA.invert!-Tuple{Any, Any}"><code>NeRCA.invert!</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">invert!(V, precision) -> Any +</code></pre><p>Invert matrix in-place with a given precision (clamps eigenvalues to 0 below that).</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/scanfit.jl#LL252">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><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, @@ -12,17 +12,17 @@ tâ‚€; n ) -> Tuple{NeRCA.var"#d_γ#34"{Float64}, NeRCA.var"#t#35"{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/3a879744b387c9c97acbd50239074cfc6c3afb51/src/royfit.jl#LL62">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><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/3a879744b387c9c97acbd50239074cfc6c3afb51/src/royfit.jl#LL29">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><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( +</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/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/royfit.jl#LL62">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><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/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/royfit.jl#LL29">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><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 ) -> Tuple{NeRCA.var"#d_γ#37"{Float64, SingleDUParams}, NeRCA.var"#t#38"{Float64, SingleDUParams, NeRCA.var"#d_γ#37"{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/3a879744b387c9c97acbd50239074cfc6c3afb51/src/royfit.jl#LL73">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.quality-Tuple{Any, Any, Any}" href="#NeRCA.quality-Tuple{Any, Any, Any}"><code>NeRCA.quality</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">quality(χ², N, NDF) -> Any -</code></pre><p>The quality of the fit, the larger the better, as used in e.g. Jpp.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/3a879744b387c9c97acbd50239074cfc6c3afb51/src/scanfit.jl#LL110">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.scanfit-Union{Tuple{T}, Tuple{MuonScanfitParameters, Vector{T}, NeRCA.DirectionSet}} where T<:NeRCA.AbstractReducedHit" href="#NeRCA.scanfit-Union{Tuple{T}, Tuple{MuonScanfitParameters, Vector{T}, NeRCA.DirectionSet}} where T<:NeRCA.AbstractReducedHit"><code>NeRCA.scanfit</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">scanfit( +</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/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/royfit.jl#LL73">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.quality-Tuple{Any, Any, Any}" href="#NeRCA.quality-Tuple{Any, Any, Any}"><code>NeRCA.quality</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">quality(χ², N, NDF) -> Any +</code></pre><p>The quality of the fit, the larger the better, as used in e.g. Jpp.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/scanfit.jl#LL110">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.scanfit-Union{Tuple{T}, Tuple{MuonScanfitParameters, Vector{T}, NeRCA.DirectionSet}} where T<:NeRCA.AbstractReducedHit" href="#NeRCA.scanfit-Union{Tuple{T}, Tuple{MuonScanfitParameters, Vector{T}, NeRCA.DirectionSet}} where T<:NeRCA.AbstractReducedHit"><code>NeRCA.scanfit</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">scanfit( params::MuonScanfitParameters, rhits::Array{T<:NeRCA.AbstractReducedHit, 1}, directionset::NeRCA.DirectionSet ) -> Any -</code></pre><p>Performs the scanfit for each given direction and returns a <code>Vector{MuonScanfitCandidate}</code> with all successful fits. The resulting vector can be empty if none of the directions had enough hits to perform the algorithm.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/3a879744b387c9c97acbd50239074cfc6c3afb51/src/scanfit.jl#LL80">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><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) -> 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/3a879744b387c9c97acbd50239074cfc6c3afb51/src/royfit.jl#LL116">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><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/3a879744b387c9c97acbd50239074cfc6c3afb51/src/royfit.jl#LL86">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><option value="auto">Automatic (OS)</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.1.0 on <span class="colophon-date" title="Wednesday 4 October 2023 22:42">Wednesday 4 October 2023</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> +</code></pre><p>Performs the scanfit for each given direction and returns a <code>Vector{MuonScanfitCandidate}</code> with all successful fits. The resulting vector can be empty if none of the directions had enough hits to perform the algorithm.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/scanfit.jl#LL80">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><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) -> 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/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/royfit.jl#LL116">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><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/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/royfit.jl#LL86">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><option value="auto">Automatic (OS)</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.1.0 on <span class="colophon-date" title="Monday 9 October 2023 12:12">Monday 9 October 2023</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> diff --git a/dev/hits/index.html b/dev/hits/index.html index 4b9c08c39b5a4ae9f0f88fd8dde1f4665b5b2ea6..d33c6c02deda96ce3a60523153aa0c2e417b5c41 100644 --- a/dev/hits/index.html +++ b/dev/hits/index.html @@ -1,45 +1,46 @@ <!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><meta name="title" content="Hits · NeRCA.jl"/><meta property="og:title" content="Hits · NeRCA.jl"/><meta property="twitter:title" content="Hits · NeRCA.jl"/><meta name="description" content="Documentation for NeRCA.jl."/><meta property="og:description" content="Documentation for NeRCA.jl."/><meta property="twitter:description" content="Documentation for NeRCA.jl."/><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.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/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="../search_index.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"><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><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"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><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-navbar-link" href="https://git.km3net.de/tgal/NeRCA.jl" title="View the repository"><span class="docs-icon fa-brands">ï¡</span><span class="docs-label is-hidden-touch">Repository</span></a><a class="docs-navbar-link" href="https://git.km3net.de/tgal/NeRCA.jl/blob/master/docs/src/hits.md#L" title="Edit source"><span class="docs-icon fa-solid">ï„</span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></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-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.Clique" href="#NeRCA.Clique"><code>NeRCA.Clique</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct Clique{T<:NeRCA.AbstractMatcher}</code></pre><p>Clique clusterizer which takes a matcher algorithm like <code>Match3B</code> as input.</p><p><strong>Fields</strong></p><ul><li><p><code>match::NeRCA.AbstractMatcher</code></p></li><li><p><code>weights::Vector{Float64}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/3a879744b387c9c97acbd50239074cfc6c3afb51/src/hits.jl#LL570">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.L1Builder-Union{Tuple{H}, Tuple{T}, Tuple{Type{H}, Detector, Vector{T}}} where {T, H}" href="#NeRCA.L1Builder-Union{Tuple{H}, Tuple{T}, Tuple{Type{H}, Detector, Vector{T}}} where {T, H}"><code>NeRCA.L1Builder</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">L1Builder(params) -> L1Builder -</code></pre><p>Find coincidences within the time window <code>Δt</code> of the initialised <code>params</code>. The return value is a vector of <code>L1Hit</code>s.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/3a879744b387c9c97acbd50239074cfc6c3afb51/src/hits.jl#LL349">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.Match1D" href="#NeRCA.Match1D"><code>NeRCA.Match1D</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">mutable struct Match1D <: NeRCA.AbstractMatcher</code></pre><p>Simple Cherenkov matcher for muon signals. The muon is assumed to travel parallel to the Z-axis.</p><p><strong>Fields</strong></p><ul><li><p><code>roadwidth::Float64</code></p></li><li><p><code>tmaxextra::Float64</code></p></li><li><p><code>tmax::Float64</code></p></li><li><p><code>x::Float64</code></p></li><li><p><code>y::Float64</code></p></li><li><p><code>z::Float64</code></p></li><li><p><code>d::Float64</code></p></li><li><p><code>t::Float64</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/3a879744b387c9c97acbd50239074cfc6c3afb51/src/hits.jl#LL525">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.Match3B" href="#NeRCA.Match3B"><code>NeRCA.Match3B</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">mutable struct Match3B <: NeRCA.AbstractMatcher</code></pre><p>3D match criterion with road width, intended for muon signals.</p><p>Origin: B. Bakker, "Trigger studies for the Antares and KM3NeT detector.", Master thesis, University of Amsterdam. With modifications from Jpp (M. de Jong).</p><p><strong>Fields</strong></p><ul><li><p><code>roadwidth::Float64</code></p></li><li><p><code>tmaxextra::Float64</code></p></li><li><p><code>x::Float64</code></p></li><li><p><code>y::Float64</code></p></li><li><p><code>z::Float64</code></p></li><li><p><code>d::Float64</code></p></li><li><p><code>t::Float64</code></p></li><li><p><code>dmin::Float64</code></p></li><li><p><code>dmax::Float64</code></p></li><li><p><code>dâ‚‚::Float64</code></p></li><li><p><code>D0::Float64</code></p></li><li><p><code>D1::Float64</code></p></li><li><p><code>D2::Float64</code></p></li><li><p><code>D02::Float64</code></p></li><li><p><code>D12::Float64</code></p></li><li><p><code>D22::Float64</code></p></li><li><p><code>Rs2::Float64</code></p></li><li><p><code>Rst::Float64</code></p></li><li><p><code>Rt::Float64</code></p></li><li><p><code>R2::Float64</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/3a879744b387c9c97acbd50239074cfc6c3afb51/src/hits.jl#LL442">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="KM3io.calibrate-Tuple{Type{HitR1}, Detector, Any}" href="#KM3io.calibrate-Tuple{Type{HitR1}, Detector, Any}"><code>KM3io.calibrate</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">calibrate( +<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Hits · NeRCA.jl</title><meta name="title" content="Hits · NeRCA.jl"/><meta property="og:title" content="Hits · NeRCA.jl"/><meta property="twitter:title" content="Hits · NeRCA.jl"/><meta name="description" content="Documentation for NeRCA.jl."/><meta property="og:description" content="Documentation for NeRCA.jl."/><meta property="twitter:description" content="Documentation for NeRCA.jl."/><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.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/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="../search_index.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"><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><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"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><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-navbar-link" href="https://git.km3net.de/tgal/NeRCA.jl" title="View the repository"><span class="docs-icon fa-brands">ï¡</span><span class="docs-label is-hidden-touch">Repository</span></a><a class="docs-navbar-link" href="https://git.km3net.de/tgal/NeRCA.jl/blob/master/docs/src/hits.md#L" title="Edit source"><span class="docs-icon fa-solid">ï„</span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></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-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.Clique" href="#NeRCA.Clique"><code>NeRCA.Clique</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct Clique{T<:NeRCA.AbstractMatcher}</code></pre><p>Clique clusterizer which takes a matcher algorithm like <code>Match3B</code> as input.</p><p><strong>Fields</strong></p><ul><li><p><code>match::NeRCA.AbstractMatcher</code></p></li><li><p><code>weights::Vector{Float64}</code></p></li><li><p><code>times::Vector{Float64}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/hits.jl#LL590">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.L1Builder-Union{Tuple{H}, Tuple{T}, Tuple{Type{H}, Detector, Vector{T}}} where {T, H}" href="#NeRCA.L1Builder-Union{Tuple{H}, Tuple{T}, Tuple{Type{H}, Detector, Vector{T}}} where {T, H}"><code>NeRCA.L1Builder</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">L1Builder(params) -> L1Builder +</code></pre><p>Find coincidences within the time window <code>Δt</code> of the initialised <code>params</code>. The return value is a vector of <code>L1Hit</code>s.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/hits.jl#LL356">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.Match1D" href="#NeRCA.Match1D"><code>NeRCA.Match1D</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">mutable struct Match1D <: NeRCA.AbstractMatcher</code></pre><p>Simple Cherenkov matcher for muon signals. The muon is assumed to travel parallel to the Z-axis.</p><p><strong>Fields</strong></p><ul><li><p><code>roadwidth::Float64</code></p></li><li><p><code>tmaxextra::Float64</code></p></li><li><p><code>tmax::Float64</code></p></li><li><p><code>x::Float64</code></p></li><li><p><code>y::Float64</code></p></li><li><p><code>z::Float64</code></p></li><li><p><code>d::Float64</code></p></li><li><p><code>t::Float64</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/hits.jl#LL541">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.Match1D-NTuple{4, Any}" href="#NeRCA.Match1D-NTuple{4, Any}"><code>NeRCA.Match1D</code></a> — <span class="docstring-category">Method</span></header><section><div><p>Optimised version of Match1D which avoids the usage of calling <code>time(hit)</code> multiple times.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/hits.jl#LL562">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.Match3B" href="#NeRCA.Match3B"><code>NeRCA.Match3B</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">mutable struct Match3B <: NeRCA.AbstractMatcher</code></pre><p>3D match criterion with road width, intended for muon signals.</p><p>Origin: B. Bakker, "Trigger studies for the Antares and KM3NeT detector.", Master thesis, University of Amsterdam. With modifications from Jpp (M. de Jong).</p><p><strong>Fields</strong></p><ul><li><p><code>roadwidth::Float64</code></p></li><li><p><code>tmaxextra::Float64</code></p></li><li><p><code>x::Float64</code></p></li><li><p><code>y::Float64</code></p></li><li><p><code>z::Float64</code></p></li><li><p><code>d::Float64</code></p></li><li><p><code>t::Float64</code></p></li><li><p><code>dmin::Float64</code></p></li><li><p><code>dmax::Float64</code></p></li><li><p><code>dâ‚‚::Float64</code></p></li><li><p><code>D0::Float64</code></p></li><li><p><code>D1::Float64</code></p></li><li><p><code>D2::Float64</code></p></li><li><p><code>D02::Float64</code></p></li><li><p><code>D12::Float64</code></p></li><li><p><code>D22::Float64</code></p></li><li><p><code>Rs2::Float64</code></p></li><li><p><code>Rst::Float64</code></p></li><li><p><code>Rt::Float64</code></p></li><li><p><code>R2::Float64</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/hits.jl#LL449">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.Match3B-NTuple{4, Any}" href="#NeRCA.Match3B-NTuple{4, Any}"><code>NeRCA.Match3B</code></a> — <span class="docstring-category">Method</span></header><section><div><p>Optimised version which avoids the usage of calling <code>time(hit)</code> multiple times.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/hits.jl#LL512">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.Match3B-Tuple{Any, Any}" href="#NeRCA.Match3B-Tuple{Any, Any}"><code>NeRCA.Match3B</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">Match3B(roadwidth, tmaxextra) -> Match3B +</code></pre><p>The Match3B algorithm.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/hits.jl#LL506">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="KM3io.calibrate-Tuple{Type{HitR1}, Detector, Any}" href="#KM3io.calibrate-Tuple{Type{HitR1}, Detector, Any}"><code>KM3io.calibrate</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">calibrate( T::Type{HitR1}, det::Detector, hits ) -> Vector{HitR1} -</code></pre><p>Calibrates hits.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/3a879744b387c9c97acbd50239074cfc6c3afb51/src/hits.jl#LL293">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.clusterize!-Union{Tuple{T}, Tuple{AbstractArray{T}, NeRCA.AbstractMatcher}} where T<:NeRCA.AbstractSpecialHit" href="#NeRCA.clusterize!-Union{Tuple{T}, Tuple{AbstractArray{T}, NeRCA.AbstractMatcher}} where T<:NeRCA.AbstractSpecialHit"><code>NeRCA.clusterize!</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">clusterize!( +</code></pre><p>Calibrates hits.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/hits.jl#LL300">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.clusterize!-Union{Tuple{T}, Tuple{AbstractArray{T}, NeRCA.AbstractMatcher}} where T<:NeRCA.AbstractSpecialHit" href="#NeRCA.clusterize!-Union{Tuple{T}, Tuple{AbstractArray{T}, NeRCA.AbstractMatcher}} where T<:NeRCA.AbstractSpecialHit"><code>NeRCA.clusterize!</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">clusterize!( hits::AbstractArray{T<:NeRCA.AbstractSpecialHit}, m::NeRCA.AbstractMatcher ) -> Any -</code></pre><p>Applies the clique clusterization algorithm and leaves only the best matching hits in the input array.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/3a879744b387c9c97acbd50239074cfc6c3afb51/src/hits.jl#LL579">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.combine-Tuple{Vector{KM3io.SnapshotHit}, Vector{KM3io.TriggeredHit}}" href="#NeRCA.combine-Tuple{Vector{KM3io.SnapshotHit}, Vector{KM3io.TriggeredHit}}"><code>NeRCA.combine</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">combine( +</code></pre><p>Applies the clique clusterization algorithm and leaves only the best matching hits in the input array.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/hits.jl#LL600">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.combine-Tuple{Vector{KM3io.SnapshotHit}, Vector{KM3io.TriggeredHit}}" href="#NeRCA.combine-Tuple{Vector{KM3io.SnapshotHit}, Vector{KM3io.TriggeredHit}}"><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.TriggeredHit} ) -> Vector{KM3io.TriggeredHit} -</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/3a879744b387c9c97acbd50239074cfc6c3afb51/src/hits.jl#LL85">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.combine-Union{Tuple{Vector{T}}, Tuple{T}} where T<:KM3io.AbstractHit" href="#NeRCA.combine-Union{Tuple{Vector{T}}, Tuple{T}} where T<:KM3io.AbstractHit"><code>NeRCA.combine</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">combine(hits::Array{T<:KM3io.AbstractHit, 1}) -> Hit -</code></pre><p>Combines several hits into a single one by taking the earliest start time, then latest endtime and a ToT which spans over the time range.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/3a879744b387c9c97acbd50239074cfc6c3afb51/src/hits.jl#LL316">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><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}) +</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/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/hits.jl#LL92">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.combine-Union{Tuple{Vector{T}}, Tuple{T}} where T<:KM3io.AbstractHit" href="#NeRCA.combine-Union{Tuple{Vector{T}}, Tuple{T}} where T<:KM3io.AbstractHit"><code>NeRCA.combine</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">combine(hits::Array{T<:KM3io.AbstractHit, 1}) -> Hit +</code></pre><p>Combines several hits into a single one by taking the earliest start time, then latest endtime and a ToT which spans over the time range.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/hits.jl#LL323">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><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/3a879744b387c9c97acbd50239074cfc6c3afb51/src/hits.jl#LL181">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.count_multiplicities-Union{Tuple{Vector{T}}, Tuple{T}, Tuple{Vector{T}, Any}} where T<:KM3io.AbstractHit" href="#NeRCA.count_multiplicities-Union{Tuple{Vector{T}}, Tuple{T}, Tuple{Vector{T}, Any}} where T<: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( +</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/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/hits.jl#LL188">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.count_multiplicities-Union{Tuple{Vector{T}}, Tuple{T}, Tuple{Vector{T}, Any}} where T<:KM3io.AbstractHit" href="#NeRCA.count_multiplicities-Union{Tuple{Vector{T}}, Tuple{T}, Tuple{Vector{T}, Any}} where T<: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<:KM3io.AbstractHit, 1} ) -> Tuple{Vector{Int32}, Vector{Int32}} count_multiplicities( hits::Array{T<:KM3io.AbstractHit, 1}, tmax ) -> 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/3a879744b387c9c97acbd50239074cfc6c3afb51/src/hits.jl#LL138">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.duhits-Union{Tuple{Vector{T}}, Tuple{T}} where T<:KM3io.XCalibratedHit" href="#NeRCA.duhits-Union{Tuple{Vector{T}}, Tuple{T}} where T<: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<:KM3io.XCalibratedHit, 1}) -> Dict -</code></pre><p>Categorise hits by DU and put them into a dictionary of DU=>Vector{Hit}.</p><p>Caveat: this function is not typesafe, only suited for high-level analysis (like plots).</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/3a879744b387c9c97acbd50239074cfc6c3afb51/src/hits.jl#LL239">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.hitcount-Union{Tuple{AbstractArray{T}}, Tuple{T}} where T<:NeRCA.AbstractReducedHit" href="#NeRCA.hitcount-Union{Tuple{AbstractArray{T}}, Tuple{T}} where T<:NeRCA.AbstractReducedHit"><code>NeRCA.hitcount</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">hitcount( +</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/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/hits.jl#LL145">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.duhits-Union{Tuple{Vector{T}}, Tuple{T}} where T<:KM3io.XCalibratedHit" href="#NeRCA.duhits-Union{Tuple{Vector{T}}, Tuple{T}} where T<: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<:KM3io.XCalibratedHit, 1}) -> Dict +</code></pre><p>Categorise hits by DU and put them into a dictionary of DU=>Vector{Hit}.</p><p>Caveat: this function is not typesafe, only suited for high-level analysis (like plots).</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/hits.jl#LL246">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.hitcount-Union{Tuple{AbstractArray{T}}, Tuple{T}} where T<:NeRCA.AbstractReducedHit" href="#NeRCA.hitcount-Union{Tuple{AbstractArray{T}}, Tuple{T}} where T<:NeRCA.AbstractReducedHit"><code>NeRCA.hitcount</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">hitcount( hits::AbstractArray{T<:NeRCA.AbstractReducedHit} ) -> Any -</code></pre><p>Return the total number of hits for a collection of reduced hits.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/3a879744b387c9c97acbd50239074cfc6c3afb51/src/hits.jl#LL80">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.modulemap-Union{Tuple{Vector{T}}, Tuple{T}} where T" href="#NeRCA.modulemap-Union{Tuple{Vector{T}}, Tuple{T}} where T"><code>NeRCA.modulemap</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">modulemap(hits::Array{T, 1}) -> Dict{Int32} -</code></pre><p>Creates a map (<code>Dict{Int32, Vector{T}}</code>) from a flat <code>Vector{T}</code> split up based on the <code>dom_id</code> of each element. A typical use is to split up a vector of hits by their optical module IDs.</p><p>This function is similar to <code>categorize(:dom_id, Vector{T})</code> but this method is completely typesafe.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/3a879744b387c9c97acbd50239074cfc6c3afb51/src/hits.jl#LL272">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.nfoldhits-Union{Tuple{T}, Tuple{Vector{T}, Any, Any}} where T<:KM3io.AbstractDAQHit" href="#NeRCA.nfoldhits-Union{Tuple{T}, Tuple{Vector{T}, Any, Any}} where T<:KM3io.AbstractDAQHit"><code>NeRCA.nfoldhits</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">nfoldhits( +</code></pre><p>Return the total number of hits for a collection of reduced hits.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/hits.jl#LL87">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.modulemap-Union{Tuple{Vector{T}}, Tuple{T}} where T" href="#NeRCA.modulemap-Union{Tuple{Vector{T}}, Tuple{T}} where T"><code>NeRCA.modulemap</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">modulemap(hits::Array{T, 1}) -> Dict{Int32} +</code></pre><p>Creates a map (<code>Dict{Int32, Vector{T}}</code>) from a flat <code>Vector{T}</code> split up based on the <code>dom_id</code> of each element. A typical use is to split up a vector of hits by their optical module IDs.</p><p>This function is similar to <code>categorize(:dom_id, Vector{T})</code> but this method is completely typesafe.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/hits.jl#LL279">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.nfoldhits-Union{Tuple{T}, Tuple{Vector{T}, Any, Any}} where T<:KM3io.AbstractDAQHit" href="#NeRCA.nfoldhits-Union{Tuple{T}, Tuple{Vector{T}, Any, Any}} where T<: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<:KM3io.AbstractDAQHit, 1}, Δt, n ) -> 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/3a879744b387c9c97acbd50239074cfc6c3afb51/src/hits.jl#LL112">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><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) -> 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/3a879744b387c9c97acbd50239074cfc6c3afb51/src/hits.jl#LL255">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.timetoz-Tuple{Any}" href="#NeRCA.timetoz-Tuple{Any}"><code>NeRCA.timetoz</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">timetoz(hit) -> Any -</code></pre><p>Calculates the time to reach the z-position of the <code>hit</code> along the z-axis.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/3a879744b387c9c97acbd50239074cfc6c3afb51/src/hits.jl#LL432">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.totcut-Union{Tuple{T}, Tuple{Vector{T}, Any}} where T<:KM3io.AbstractDAQHit" href="#NeRCA.totcut-Union{Tuple{T}, Tuple{Vector{T}, Any}} where T<:KM3io.AbstractDAQHit"><code>NeRCA.totcut</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">totcut( +</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/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/hits.jl#LL119">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><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) -> 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/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/hits.jl#LL262">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.timetoz-Tuple{Any}" href="#NeRCA.timetoz-Tuple{Any}"><code>NeRCA.timetoz</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">timetoz(hit) -> Any +</code></pre><p>Calculates the time to reach the z-position of the <code>hit</code> along the z-axis.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/hits.jl#LL439">source</a></section></article><article class="docstring"><header><a class="docstring-article-toggle-button fa-solid fa-chevron-down" href="javascript:;" title="Collapse docstring"></a><a class="docstring-binding" id="NeRCA.totcut-Union{Tuple{T}, Tuple{Vector{T}, Any}} where T<:KM3io.AbstractDAQHit" href="#NeRCA.totcut-Union{Tuple{T}, Tuple{Vector{T}, Any}} where T<: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<:KM3io.AbstractDAQHit, 1}, tot ) -> Vector -</code></pre><p>Return a vector of hits with ToT >= <code>tot</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/3a879744b387c9c97acbd50239074cfc6c3afb51/src/hits.jl#LL247">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><option value="auto">Automatic (OS)</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.1.0 on <span class="colophon-date" title="Wednesday 4 October 2023 22:42">Wednesday 4 October 2023</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> +</code></pre><p>Return a vector of hits with ToT >= <code>tot</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/tgal/NeRCA.jl/blob/d9a1e95348ac85a89b7d96840d02786dd9b2b3df/src/hits.jl#LL254">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><option value="auto">Automatic (OS)</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.1.0 on <span class="colophon-date" title="Monday 9 October 2023 12:12">Monday 9 October 2023</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> diff --git a/dev/index.html b/dev/index.html index fd103dc836b248653c8e70102d98008e5ae60134..2eb854545a4254cfa5fe2c26f4bab5e62463cc55 100644 --- a/dev/index.html +++ b/dev/index.html @@ -1,3 +1,3 @@ <!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><meta name="title" content="Home · NeRCA.jl"/><meta property="og:title" content="Home · NeRCA.jl"/><meta property="twitter:title" content="Home · NeRCA.jl"/><meta name="description" content="Documentation for NeRCA.jl."/><meta property="og:description" content="Documentation for NeRCA.jl."/><meta property="twitter:description" content="Documentation for NeRCA.jl."/><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.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/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="search_index.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"><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><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"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><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-navbar-link" href="https://git.km3net.de/tgal/NeRCA.jl" title="View the repository"><span class="docs-icon fa-brands">ï¡</span><span class="docs-label is-hidden-touch">Repository</span></a><a class="docs-navbar-link" href="https://git.km3net.de/tgal/NeRCA.jl/blob/master/docs/src/index.md#L" title="Edit source"><span class="docs-icon fa-solid">ï„</span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></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("NeRCA")</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><option value="auto">Automatic (OS)</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.1.0 on <span class="colophon-date" title="Wednesday 4 October 2023 22:42">Wednesday 4 October 2023</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> +Pkg.add("NeRCA")</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><option value="auto">Automatic (OS)</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.1.0 on <span class="colophon-date" title="Monday 9 October 2023 12:12">Monday 9 October 2023</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> diff --git a/dev/io/index.html b/dev/io/index.html index 8303bbc010be55151cc411b00a19599b7fbccfd3..933f86b50a929b92d0d49a6583c78f9838a07d71 100644 --- a/dev/io/index.html +++ b/dev/io/index.html @@ -1,2 +1,2 @@ <!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><meta name="title" content="I/O · NeRCA.jl"/><meta property="og:title" content="I/O · NeRCA.jl"/><meta property="twitter:title" content="I/O · NeRCA.jl"/><meta name="description" content="Documentation for NeRCA.jl."/><meta property="og:description" content="Documentation for NeRCA.jl."/><meta property="twitter:description" content="Documentation for NeRCA.jl."/><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.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/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="../search_index.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"><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><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"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><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-navbar-link" href="https://git.km3net.de/tgal/NeRCA.jl" title="View the repository"><span class="docs-icon fa-brands">ï¡</span><span class="docs-label is-hidden-touch">Repository</span></a><a class="docs-navbar-link" href="https://git.km3net.de/tgal/NeRCA.jl/blob/master/docs/src/io.md#L" title="Edit source"><span class="docs-icon fa-solid">ï„</span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></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><option value="auto">Automatic (OS)</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.1.0 on <span class="colophon-date" title="Wednesday 4 October 2023 22:42">Wednesday 4 October 2023</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></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><meta name="title" content="I/O · NeRCA.jl"/><meta property="og:title" content="I/O · NeRCA.jl"/><meta property="twitter:title" content="I/O · NeRCA.jl"/><meta name="description" content="Documentation for NeRCA.jl."/><meta property="og:description" content="Documentation for NeRCA.jl."/><meta property="twitter:description" content="Documentation for NeRCA.jl."/><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.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/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="../search_index.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"><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><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"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><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-navbar-link" href="https://git.km3net.de/tgal/NeRCA.jl" title="View the repository"><span class="docs-icon fa-brands">ï¡</span><span class="docs-label is-hidden-touch">Repository</span></a><a class="docs-navbar-link" href="https://git.km3net.de/tgal/NeRCA.jl/blob/master/docs/src/io.md#L" title="Edit source"><span class="docs-icon fa-solid">ï„</span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></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><option value="auto">Automatic (OS)</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.1.0 on <span class="colophon-date" title="Monday 9 October 2023 12:12">Monday 9 October 2023</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> diff --git a/dev/search_index.js b/dev/search_index.js index 5773ff4b136fe595c8ada56703ad32f90230355b..40f3a58ec68a1a696d15c3cdfaa0649e6fd05d84 100644 --- a/dev/search_index.js +++ b/dev/search_index.js @@ -1,3 +1,3 @@ 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.Clique","page":"Hits","title":"NeRCA.Clique","text":"struct Clique{T<:NeRCA.AbstractMatcher}\n\nClique clusterizer which takes a matcher algorithm like Match3B as input.\n\nFields\n\nmatch::NeRCA.AbstractMatcher\nweights::Vector{Float64}\n\n\n\n\n\n","category":"type"},{"location":"hits/#NeRCA.L1Builder-Union{Tuple{H}, Tuple{T}, Tuple{Type{H}, Detector, Vector{T}}} where {T, H}","page":"Hits","title":"NeRCA.L1Builder","text":"L1Builder(params) -> L1Builder\n\n\nFind coincidences within the time window Δt of the initialised params. The return value is a vector of L1Hits.\n\n\n\n\n\n","category":"method"},{"location":"hits/#NeRCA.Match1D","page":"Hits","title":"NeRCA.Match1D","text":"mutable struct Match1D <: NeRCA.AbstractMatcher\n\nSimple Cherenkov matcher for muon signals. The muon is assumed to travel parallel to the Z-axis.\n\nFields\n\nroadwidth::Float64\ntmaxextra::Float64\ntmax::Float64\nx::Float64\ny::Float64\nz::Float64\nd::Float64\nt::Float64\n\n\n\n\n\n","category":"type"},{"location":"hits/#NeRCA.Match3B","page":"Hits","title":"NeRCA.Match3B","text":"mutable struct Match3B <: NeRCA.AbstractMatcher\n\n3D match criterion with road width, intended for muon signals.\n\nOrigin: B. Bakker, \"Trigger studies for the Antares and KM3NeT detector.\", Master thesis, University of Amsterdam. With modifications from Jpp (M. de Jong).\n\nFields\n\nroadwidth::Float64\ntmaxextra::Float64\nx::Float64\ny::Float64\nz::Float64\nd::Float64\nt::Float64\ndmin::Float64\ndmax::Float64\ndâ‚‚::Float64\nD0::Float64\nD1::Float64\nD2::Float64\nD02::Float64\nD12::Float64\nD22::Float64\nRs2::Float64\nRst::Float64\nRt::Float64\nR2::Float64\n\n\n\n\n\n","category":"type"},{"location":"hits/#KM3io.calibrate-Tuple{Type{HitR1}, Detector, Any}","page":"Hits","title":"KM3io.calibrate","text":"calibrate(\n T::Type{HitR1},\n det::Detector,\n hits\n) -> Vector{HitR1}\n\n\nCalibrates hits.\n\n\n\n\n\n","category":"method"},{"location":"hits/#NeRCA.clusterize!-Union{Tuple{T}, Tuple{AbstractArray{T}, NeRCA.AbstractMatcher}} where T<:NeRCA.AbstractSpecialHit","page":"Hits","title":"NeRCA.clusterize!","text":"clusterize!(\n hits::AbstractArray{T<:NeRCA.AbstractSpecialHit},\n m::NeRCA.AbstractMatcher\n) -> Any\n\n\nApplies the clique clusterization algorithm and leaves only the best matching hits in the input array.\n\n\n\n\n\n","category":"method"},{"location":"hits/#NeRCA.combine-Tuple{Vector{KM3io.SnapshotHit}, Vector{KM3io.TriggeredHit}}","page":"Hits","title":"NeRCA.combine","text":"combine(\n snapshot_hits::Vector{KM3io.SnapshotHit},\n triggered_hits::Vector{KM3io.TriggeredHit}\n) -> Vector{KM3io.TriggeredHit}\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.combine-Union{Tuple{Vector{T}}, Tuple{T}} where T<:KM3io.AbstractHit","page":"Hits","title":"NeRCA.combine","text":"combine(hits::Array{T<:KM3io.AbstractHit, 1}) -> Hit\n\n\nCombines several hits into a single one by taking the earliest start time, then latest endtime and a ToT which spans over the time range.\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.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\nCaveat: this function is not typesafe, only suited for high-level analysis (like plots).\n\n\n\n\n\n","category":"method"},{"location":"hits/#NeRCA.hitcount-Union{Tuple{AbstractArray{T}}, Tuple{T}} where T<:NeRCA.AbstractReducedHit","page":"Hits","title":"NeRCA.hitcount","text":"hitcount(\n hits::AbstractArray{T<:NeRCA.AbstractReducedHit}\n) -> Any\n\n\nReturn the total number of hits for a collection of reduced hits.\n\n\n\n\n\n","category":"method"},{"location":"hits/#NeRCA.modulemap-Union{Tuple{Vector{T}}, Tuple{T}} where T","page":"Hits","title":"NeRCA.modulemap","text":"modulemap(hits::Array{T, 1}) -> Dict{Int32}\n\n\nCreates a map (Dict{Int32, Vector{T}}) from a flat Vector{T} split up based on the dom_id of each element. A typical use is to split up a vector of hits by their optical module IDs.\n\nThis function is similar to categorize(:dom_id, Vector{T}) but this method is completely typesafe.\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.timetoz-Tuple{Any}","page":"Hits","title":"NeRCA.timetoz","text":"timetoz(hit) -> Any\n\n\nCalculates the time to reach the z-position of the hit along the z-axis.\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.DirectionSet","page":"ROyFit","title":"NeRCA.DirectionSet","text":"struct DirectionSet\n\nA container of directions with additionial information about their median angular separation.\n\nFields\n\ndirections::Vector{Direction{Float64}}\nangular_separation::Float64\n\n\n\n\n\n","category":"type"},{"location":"fit/#NeRCA.Line1Z","page":"ROyFit","title":"NeRCA.Line1Z","text":"struct Line1Z <: NeRCA.EstimatorModel\n\nA straight line parallel to the z-axis.\n\nFields\n\npos::Position{Float64}\nt::Float64\n\n\n\n\n\n","category":"type"},{"location":"fit/#NeRCA.MuonScanfit-Tuple{KM3io.DAQEvent}","page":"ROyFit","title":"NeRCA.MuonScanfit","text":"Performs a Muon track fit for a given event.\n\n\n\n\n\n","category":"method"},{"location":"fit/#NeRCA.MuonScanfit-Union{Tuple{Vector{T}}, Tuple{T}} where T<:KM3io.AbstractHit","page":"ROyFit","title":"NeRCA.MuonScanfit","text":"Performs a Muon track fit for a given set of hits (usually snapshot hits).\n\n\n\n\n\n","category":"method"},{"location":"fit/#NeRCA.XYTSolver","page":"ROyFit","title":"NeRCA.XYTSolver","text":"struct XYTSolver\n\nA task worker whichs solves for x, y an t for a given set of hits and a direction.\n\nFields\n\nhits_buffer::Vector{HitR1}\ncovmatrix::NeRCA.CovMatrix\ntimeresvec::Vector{Float64}\nnmaxhits::Int64\nmatcher::Match1D\nest::Line1ZEstimator\n\n\n\n\n\n","category":"type"},{"location":"fit/#Base.Libc.time-Tuple{Line1Z, Position}","page":"ROyFit","title":"Base.Libc.time","text":"time(lz::Line1Z, pos::Position) -> Any\n\n\nCalculate the Chernkov arrival tive for a given position.\n\n\n\n\n\n","category":"method"},{"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.invert!-Tuple{Any, Any}","page":"ROyFit","title":"NeRCA.invert!","text":"invert!(V, precision) -> Any\n\n\nInvert matrix in-place with a given precision (clamps eigenvalues to 0 below that).\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_γ#34\"{Float64}, NeRCA.var\"#t#35\"{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_γ#37\"{Float64, SingleDUParams}, NeRCA.var\"#t#38\"{Float64, SingleDUParams, NeRCA.var\"#d_γ#37\"{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.quality-Tuple{Any, Any, Any}","page":"ROyFit","title":"NeRCA.quality","text":"quality(χ², N, NDF) -> Any\n\n\nThe quality of the fit, the larger the better, as used in e.g. Jpp.\n\n\n\n\n\n","category":"method"},{"location":"fit/#NeRCA.scanfit-Union{Tuple{T}, Tuple{MuonScanfitParameters, Vector{T}, NeRCA.DirectionSet}} where T<:NeRCA.AbstractReducedHit","page":"ROyFit","title":"NeRCA.scanfit","text":"scanfit(\n params::MuonScanfitParameters,\n rhits::Array{T<:NeRCA.AbstractReducedHit, 1},\n directionset::NeRCA.DirectionSet\n) -> Any\n\n\nPerforms the scanfit for each given direction and returns a Vector{MuonScanfitCandidate} with all successful fits. The resulting vector can be empty if none of the directions had enough hits to perform the algorithm.\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"}] +[{"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.Clique","page":"Hits","title":"NeRCA.Clique","text":"struct Clique{T<:NeRCA.AbstractMatcher}\n\nClique clusterizer which takes a matcher algorithm like Match3B as input.\n\nFields\n\nmatch::NeRCA.AbstractMatcher\nweights::Vector{Float64}\ntimes::Vector{Float64}\n\n\n\n\n\n","category":"type"},{"location":"hits/#NeRCA.L1Builder-Union{Tuple{H}, Tuple{T}, Tuple{Type{H}, Detector, Vector{T}}} where {T, H}","page":"Hits","title":"NeRCA.L1Builder","text":"L1Builder(params) -> L1Builder\n\n\nFind coincidences within the time window Δt of the initialised params. The return value is a vector of L1Hits.\n\n\n\n\n\n","category":"method"},{"location":"hits/#NeRCA.Match1D","page":"Hits","title":"NeRCA.Match1D","text":"mutable struct Match1D <: NeRCA.AbstractMatcher\n\nSimple Cherenkov matcher for muon signals. The muon is assumed to travel parallel to the Z-axis.\n\nFields\n\nroadwidth::Float64\ntmaxextra::Float64\ntmax::Float64\nx::Float64\ny::Float64\nz::Float64\nd::Float64\nt::Float64\n\n\n\n\n\n","category":"type"},{"location":"hits/#NeRCA.Match1D-NTuple{4, Any}","page":"Hits","title":"NeRCA.Match1D","text":"Optimised version of Match1D which avoids the usage of calling time(hit) multiple times.\n\n\n\n\n\n","category":"method"},{"location":"hits/#NeRCA.Match3B","page":"Hits","title":"NeRCA.Match3B","text":"mutable struct Match3B <: NeRCA.AbstractMatcher\n\n3D match criterion with road width, intended for muon signals.\n\nOrigin: B. Bakker, \"Trigger studies for the Antares and KM3NeT detector.\", Master thesis, University of Amsterdam. With modifications from Jpp (M. de Jong).\n\nFields\n\nroadwidth::Float64\ntmaxextra::Float64\nx::Float64\ny::Float64\nz::Float64\nd::Float64\nt::Float64\ndmin::Float64\ndmax::Float64\ndâ‚‚::Float64\nD0::Float64\nD1::Float64\nD2::Float64\nD02::Float64\nD12::Float64\nD22::Float64\nRs2::Float64\nRst::Float64\nRt::Float64\nR2::Float64\n\n\n\n\n\n","category":"type"},{"location":"hits/#NeRCA.Match3B-NTuple{4, Any}","page":"Hits","title":"NeRCA.Match3B","text":"Optimised version which avoids the usage of calling time(hit) multiple times.\n\n\n\n\n\n","category":"method"},{"location":"hits/#NeRCA.Match3B-Tuple{Any, Any}","page":"Hits","title":"NeRCA.Match3B","text":"Match3B(roadwidth, tmaxextra) -> Match3B\n\n\nThe Match3B algorithm.\n\n\n\n\n\n","category":"method"},{"location":"hits/#KM3io.calibrate-Tuple{Type{HitR1}, Detector, Any}","page":"Hits","title":"KM3io.calibrate","text":"calibrate(\n T::Type{HitR1},\n det::Detector,\n hits\n) -> Vector{HitR1}\n\n\nCalibrates hits.\n\n\n\n\n\n","category":"method"},{"location":"hits/#NeRCA.clusterize!-Union{Tuple{T}, Tuple{AbstractArray{T}, NeRCA.AbstractMatcher}} where T<:NeRCA.AbstractSpecialHit","page":"Hits","title":"NeRCA.clusterize!","text":"clusterize!(\n hits::AbstractArray{T<:NeRCA.AbstractSpecialHit},\n m::NeRCA.AbstractMatcher\n) -> Any\n\n\nApplies the clique clusterization algorithm and leaves only the best matching hits in the input array.\n\n\n\n\n\n","category":"method"},{"location":"hits/#NeRCA.combine-Tuple{Vector{KM3io.SnapshotHit}, Vector{KM3io.TriggeredHit}}","page":"Hits","title":"NeRCA.combine","text":"combine(\n snapshot_hits::Vector{KM3io.SnapshotHit},\n triggered_hits::Vector{KM3io.TriggeredHit}\n) -> Vector{KM3io.TriggeredHit}\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.combine-Union{Tuple{Vector{T}}, Tuple{T}} where T<:KM3io.AbstractHit","page":"Hits","title":"NeRCA.combine","text":"combine(hits::Array{T<:KM3io.AbstractHit, 1}) -> Hit\n\n\nCombines several hits into a single one by taking the earliest start time, then latest endtime and a ToT which spans over the time range.\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.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\nCaveat: this function is not typesafe, only suited for high-level analysis (like plots).\n\n\n\n\n\n","category":"method"},{"location":"hits/#NeRCA.hitcount-Union{Tuple{AbstractArray{T}}, Tuple{T}} where T<:NeRCA.AbstractReducedHit","page":"Hits","title":"NeRCA.hitcount","text":"hitcount(\n hits::AbstractArray{T<:NeRCA.AbstractReducedHit}\n) -> Any\n\n\nReturn the total number of hits for a collection of reduced hits.\n\n\n\n\n\n","category":"method"},{"location":"hits/#NeRCA.modulemap-Union{Tuple{Vector{T}}, Tuple{T}} where T","page":"Hits","title":"NeRCA.modulemap","text":"modulemap(hits::Array{T, 1}) -> Dict{Int32}\n\n\nCreates a map (Dict{Int32, Vector{T}}) from a flat Vector{T} split up based on the dom_id of each element. A typical use is to split up a vector of hits by their optical module IDs.\n\nThis function is similar to categorize(:dom_id, Vector{T}) but this method is completely typesafe.\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.timetoz-Tuple{Any}","page":"Hits","title":"NeRCA.timetoz","text":"timetoz(hit) -> Any\n\n\nCalculates the time to reach the z-position of the hit along the z-axis.\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.DirectionSet","page":"ROyFit","title":"NeRCA.DirectionSet","text":"struct DirectionSet\n\nA container of directions with additionial information about their median angular separation.\n\nFields\n\ndirections::Vector{Direction{Float64}}\nangular_separation::Float64\n\n\n\n\n\n","category":"type"},{"location":"fit/#NeRCA.Line1Z","page":"ROyFit","title":"NeRCA.Line1Z","text":"struct Line1Z <: NeRCA.EstimatorModel\n\nA straight line parallel to the z-axis.\n\nFields\n\npos::Position{Float64}\nt::Float64\n\n\n\n\n\n","category":"type"},{"location":"fit/#NeRCA.MuonScanfit-Tuple{KM3io.DAQEvent}","page":"ROyFit","title":"NeRCA.MuonScanfit","text":"Performs a Muon track fit for a given event.\n\n\n\n\n\n","category":"method"},{"location":"fit/#NeRCA.MuonScanfit-Union{Tuple{Vector{T}}, Tuple{T}} where T<:KM3io.AbstractHit","page":"ROyFit","title":"NeRCA.MuonScanfit","text":"Performs a Muon track fit for a given set of hits (usually snapshot hits).\n\n\n\n\n\n","category":"method"},{"location":"fit/#NeRCA.XYTSolver","page":"ROyFit","title":"NeRCA.XYTSolver","text":"struct XYTSolver\n\nA task worker whichs solves for x, y an t for a given set of hits and a direction.\n\nFields\n\nhits_buffer::Vector{HitR1}\ncovmatrix::NeRCA.CovMatrix\ntimeresvec::Vector{Float64}\nnmaxhits::Int64\nmatcher::Match1D\nest::Line1ZEstimator\n\n\n\n\n\n","category":"type"},{"location":"fit/#Base.Libc.time-Tuple{Line1Z, Position}","page":"ROyFit","title":"Base.Libc.time","text":"time(lz::Line1Z, pos::Position) -> Any\n\n\nCalculate the Chernkov arrival tive for a given position.\n\n\n\n\n\n","category":"method"},{"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.invert!-Tuple{Any, Any}","page":"ROyFit","title":"NeRCA.invert!","text":"invert!(V, precision) -> Any\n\n\nInvert matrix in-place with a given precision (clamps eigenvalues to 0 below that).\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_γ#34\"{Float64}, NeRCA.var\"#t#35\"{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_γ#37\"{Float64, SingleDUParams}, NeRCA.var\"#t#38\"{Float64, SingleDUParams, NeRCA.var\"#d_γ#37\"{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.quality-Tuple{Any, Any, Any}","page":"ROyFit","title":"NeRCA.quality","text":"quality(χ², N, NDF) -> Any\n\n\nThe quality of the fit, the larger the better, as used in e.g. Jpp.\n\n\n\n\n\n","category":"method"},{"location":"fit/#NeRCA.scanfit-Union{Tuple{T}, Tuple{MuonScanfitParameters, Vector{T}, NeRCA.DirectionSet}} where T<:NeRCA.AbstractReducedHit","page":"ROyFit","title":"NeRCA.scanfit","text":"scanfit(\n params::MuonScanfitParameters,\n rhits::Array{T<:NeRCA.AbstractReducedHit, 1},\n directionset::NeRCA.DirectionSet\n) -> Any\n\n\nPerforms the scanfit for each given direction and returns a Vector{MuonScanfitCandidate} with all successful fits. The resulting vector can be empty if none of the directions had enough hits to perform the algorithm.\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"}] }