From f77a9d7c1e5e1f13b0875d1d2b250d411c97e973 Mon Sep 17 00:00:00 2001 From: "Documenter.jl" <documenter@juliadocs.github.io> Date: Wed, 20 Mar 2024 10:04:21 +0000 Subject: [PATCH] build based on af58ad1 --- dev/.documenter-siteinfo.json | 2 +- dev/api/index.html | 150 ++++++++++++------------ dev/examples/cherenkov.pdf | Bin 28588 -> 28588 bytes dev/examples/cherenkov_times/index.html | 2 +- dev/examples/controlhost/index.html | 2 +- dev/examples/foo.h5 | Bin 14929 -> 14929 bytes dev/examples/hdf5/index.html | 6 +- dev/examples/offline_data/index.html | 2 +- dev/index.html | 2 +- dev/manual/calibration/index.html | 2 +- dev/manual/detector/index.html | 2 +- dev/manual/hdf5/index.html | 2 +- dev/manual/rootfiles/index.html | 2 +- dev/manual/tools/index.html | 2 +- dev/objects.inv | Bin 1778 -> 1778 bytes 15 files changed, 88 insertions(+), 88 deletions(-) diff --git a/dev/.documenter-siteinfo.json b/dev/.documenter-siteinfo.json index 5b9c9c93..e528b9c0 100644 --- a/dev/.documenter-siteinfo.json +++ b/dev/.documenter-siteinfo.json @@ -1 +1 @@ -{"documenter":{"julia_version":"1.9.1","generation_timestamp":"2024-03-20T10:03:33","documenter_version":"1.3.0"}} \ No newline at end of file +{"documenter":{"julia_version":"1.9.1","generation_timestamp":"2024-03-20T10:04:17","documenter_version":"1.3.0"}} \ No newline at end of file diff --git a/dev/api/index.html b/dev/api/index.html index 668e0c97..4b5a3b90 100644 --- a/dev/api/index.html +++ b/dev/api/index.html @@ -1,9 +1,9 @@ <!DOCTYPE html> -<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>API · KM3io.jl</title><meta name="title" content="API · KM3io.jl"/><meta property="og:title" content="API · KM3io.jl"/><meta property="twitter:title" content="API · KM3io.jl"/><meta name="description" content="Documentation for KM3io.jl."/><meta property="og:description" content="Documentation for KM3io.jl."/><meta property="twitter:description" content="Documentation for KM3io.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"><a class="docs-logo" href="../"><img src="../assets/logo.svg" alt="KM3io.jl logo"/></a><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><span class="tocitem">Manual</span><ul><li><a class="tocitem" href="../manual/rootfiles/">ROOT Files</a></li><li><a class="tocitem" href="../manual/detector/">Detector and its Components</a></li><li><a class="tocitem" href="../manual/calibration/">Calibration</a></li><li><a class="tocitem" href="../manual/tools/">Tools</a></li></ul></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../examples/offline_data/">Offline data</a></li><li><a class="tocitem" href="../examples/cherenkov_times/">Cherenkov times</a></li><li><a class="tocitem" href="../examples/controlhost/">Accessing Live Data</a></li><li><a class="tocitem" href="../examples/hdf5/">HDF5</a></li></ul></li><li class="is-active"><a class="tocitem" href>API</a><ul class="internal"><li><a class="tocitem" href="#Basic-Data-Structures"><span>Basic Data Structures</span></a></li><li><a class="tocitem" href="#Offline-Format"><span>Offline Format</span></a></li><li><a class="tocitem" href="#Online-Format"><span>Online Format</span></a></li><li><a class="tocitem" href="#HDF5"><span>HDF5</span></a></li><li><a class="tocitem" href="#Hardware"><span>Hardware</span></a></li><li><a class="tocitem" href="#Optical-Data"><span>Optical Data</span></a></li><li><a class="tocitem" href="#Acoustics"><span>Acoustics</span></a></li><li><a class="tocitem" href="#Calibration"><span>Calibration</span></a></li><li><a class="tocitem" href="#Physics"><span>Physics</span></a></li><li><a class="tocitem" href="#Trigger"><span>Trigger</span></a></li><li><a class="tocitem" href="#ControlHost"><span>ControlHost</span></a></li><li><a class="tocitem" href="#Tools"><span>Tools</span></a></li></ul></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>API</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>API</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://git.km3net.de/common/KM3io.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/common/KM3io.jl/blob/main/docs/src/api.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="API"><a class="docs-heading-anchor" href="#API">API</a><a id="API-1"></a><a class="docs-heading-anchor-permalink" href="#API" title="Permalink"></a></h1><ul><li><a href="#KM3io.AcousticSignal"><code>KM3io.AcousticSignal</code></a></li><li><a href="#KM3io.AcousticsTriggerParameter"><code>KM3io.AcousticsTriggerParameter</code></a></li><li><a href="#KM3io.CHClient"><code>KM3io.CHClient</code></a></li><li><a href="#KM3io.CalibratedHit"><code>KM3io.CalibratedHit</code></a></li><li><a href="#KM3io.CalibratedMCHit"><code>KM3io.CalibratedMCHit</code></a></li><li><a href="#KM3io.CalibratedSnapshotHit"><code>KM3io.CalibratedSnapshotHit</code></a></li><li><a href="#KM3io.CalibratedTriggeredHit"><code>KM3io.CalibratedTriggeredHit</code></a></li><li><a href="#KM3io.CherenkovPhoton"><code>KM3io.CherenkovPhoton</code></a></li><li><a href="#KM3io.DAQEvent"><code>KM3io.DAQEvent</code></a></li><li><a href="#KM3io.Detector"><code>KM3io.Detector</code></a></li><li><a href="#KM3io.DetectorModule"><code>KM3io.DetectorModule</code></a></li><li><a href="#KM3io.Direction"><code>KM3io.Direction</code></a></li><li><a href="#KM3io.EventHeader"><code>KM3io.EventHeader</code></a></li><li><a href="#KM3io.Evt"><code>KM3io.Evt</code></a></li><li><a href="#KM3io.H5CompoundDataset"><code>KM3io.H5CompoundDataset</code></a></li><li><a href="#KM3io.H5File"><code>KM3io.H5File</code></a></li><li><a href="#KM3io.Hydrophone"><code>KM3io.Hydrophone</code></a></li><li><a href="#KM3io.K40Rates"><code>KM3io.K40Rates</code></a></li><li><a href="#KM3io.Location"><code>KM3io.Location</code></a></li><li><a href="#KM3io.MCTrk"><code>KM3io.MCTrk</code></a></li><li><a href="#KM3io.PMT"><code>KM3io.PMT</code></a></li><li><a href="#KM3io.Position"><code>KM3io.Position</code></a></li><li><a href="#KM3io.RecStageRange"><code>KM3io.RecStageRange</code></a></li><li><a href="#KM3io.SnapshotHit"><code>KM3io.SnapshotHit</code></a></li><li><a href="#KM3io.StringMechanics"><code>KM3io.StringMechanics</code></a></li><li><a href="#KM3io.StringMechanicsParameters"><code>KM3io.StringMechanicsParameters</code></a></li><li><a href="#KM3io.SummaryFrame"><code>KM3io.SummaryFrame</code></a></li><li><a href="#KM3io.Summaryslice"><code>KM3io.Summaryslice</code></a></li><li><a href="#KM3io.SummarysliceHeader"><code>KM3io.SummarysliceHeader</code></a></li><li><a href="#KM3io.TriggeredHit"><code>KM3io.TriggeredHit</code></a></li><li><a href="#KM3io.Tripod"><code>KM3io.Tripod</code></a></li><li><a href="#KM3io.Trk"><code>KM3io.Trk</code></a></li><li><a href="#KM3io.UTCExtended"><code>KM3io.UTCExtended</code></a></li><li><a href="#KM3io.UTCTime"><code>KM3io.UTCTime</code></a></li><li><a href="#KM3io.Waveform"><code>KM3io.Waveform</code></a></li><li><a href="#KM3io.XCalibratedHit"><code>KM3io.XCalibratedHit</code></a></li><li><a href="#Base.angle"><code>Base.angle</code></a></li><li><a href="#Base.flush"><code>Base.flush</code></a></li><li><a href="#Base.read-Tuple{AbstractString, Type{AcousticsTriggerParameter}}"><code>Base.read</code></a></li><li><a href="#Base.read-Tuple{AbstractString, Type{Hydrophone}}"><code>Base.read</code></a></li><li><a href="#Base.read-Tuple{AbstractString, Type{Tripod}}"><code>Base.read</code></a></li><li><a href="#Base.read-Tuple{AbstractString, Type{Waveform}}"><code>Base.read</code></a></li><li><a href="#Base.read-Tuple{AbstractString, Type{StringMechanics}}"><code>Base.read</code></a></li><li><a href="#Base.write-Tuple{IO, Detector}"><code>Base.write</code></a></li><li><a href="#Base.write-Tuple{AbstractString, Detector}"><code>Base.write</code></a></li><li><a href="#Base.write-Tuple{AbstractString, Vector{Tripod}}"><code>Base.write</code></a></li><li><a href="#HDF5.create_dataset"><code>HDF5.create_dataset</code></a></li><li><a href="#KM3io.addmeta"><code>KM3io.addmeta</code></a></li><li><a href="#KM3io.azimuth"><code>KM3io.azimuth</code></a></li><li><a href="#KM3io.bestaashower"><code>KM3io.bestaashower</code></a></li><li><a href="#KM3io.bestjppmuon"><code>KM3io.bestjppmuon</code></a></li><li><a href="#KM3io.bestjppshower"><code>KM3io.bestjppshower</code></a></li><li><a href="#KM3io.besttrack"><code>KM3io.besttrack</code></a></li><li><a href="#KM3io.calibrate"><code>KM3io.calibrate</code></a></li><li><a href="#KM3io.calibratetime"><code>KM3io.calibratetime</code></a></li><li><a href="#KM3io.categorize"><code>KM3io.categorize</code></a></li><li><a href="#KM3io.center"><code>KM3io.center</code></a></li><li><a href="#KM3io.cherenkov"><code>KM3io.cherenkov</code></a></li><li><a href="#KM3io.combine"><code>KM3io.combine</code></a></li><li><a href="#KM3io.count_active_channels"><code>KM3io.count_active_channels</code></a></li><li><a href="#KM3io.count_fifostatus"><code>KM3io.count_fifostatus</code></a></li><li><a href="#KM3io.count_hrvstatus"><code>KM3io.count_hrvstatus</code></a></li><li><a href="#KM3io.distance"><code>KM3io.distance</code></a></li><li><a href="#KM3io.fifostatus"><code>KM3io.fifostatus</code></a></li><li><a href="#KM3io.floordist"><code>KM3io.floordist</code></a></li><li><a href="#KM3io.getmodule"><code>KM3io.getmodule</code></a></li><li><a href="#KM3io.getpmt"><code>KM3io.getpmt</code></a></li><li><a href="#KM3io.hashistory"><code>KM3io.hashistory</code></a></li><li><a href="#KM3io.haslocation"><code>KM3io.haslocation</code></a></li><li><a href="#KM3io.hasudptrailer"><code>KM3io.hasudptrailer</code></a></li><li><a href="#KM3io.hrvstatus"><code>KM3io.hrvstatus</code></a></li><li><a href="#KM3io.hydrophoneenabled"><code>KM3io.hydrophoneenabled</code></a></li><li><a href="#KM3io.is3dmuon"><code>KM3io.is3dmuon</code></a></li><li><a href="#KM3io.is3dshower"><code>KM3io.is3dshower</code></a></li><li><a href="#KM3io.isbasemodule"><code>KM3io.isbasemodule</code></a></li><li><a href="#KM3io.ismxshower"><code>KM3io.ismxshower</code></a></li><li><a href="#KM3io.isnb"><code>KM3io.isnb</code></a></li><li><a href="#KM3io.isopticalmodule"><code>KM3io.isopticalmodule</code></a></li><li><a href="#KM3io.maximal_udp_sequence_number"><code>KM3io.maximal_udp_sequence_number</code></a></li><li><a href="#KM3io.modules"><code>KM3io.modules</code></a></li><li><a href="#KM3io.most_frequent"><code>KM3io.most_frequent</code></a></li><li><a href="#KM3io.nthbitset"><code>KM3io.nthbitset</code></a></li><li><a href="#KM3io.number_of_udp_packets_received"><code>KM3io.number_of_udp_packets_received</code></a></li><li><a href="#KM3io.phi"><code>KM3io.phi</code></a></li><li><a href="#KM3io.piezoenabled"><code>KM3io.piezoenabled</code></a></li><li><a href="#KM3io.pmtrate"><code>KM3io.pmtrate</code></a></li><li><a href="#KM3io.pmtrates"><code>KM3io.pmtrates</code></a></li><li><a href="#KM3io.slew"><code>KM3io.slew</code></a></li><li><a href="#KM3io.status"><code>KM3io.status</code></a></li><li><a href="#KM3io.tdcstatus"><code>KM3io.tdcstatus</code></a></li><li><a href="#KM3io.theta"><code>KM3io.theta</code></a></li><li><a href="#KM3io.triggered"><code>KM3io.triggered</code></a></li><li><a href="#KM3io.wrstatus"><code>KM3io.wrstatus</code></a></li><li><a href="#KM3io.zenith"><code>KM3io.zenith</code></a></li></ul><h2 id="Basic-Data-Structures"><a class="docs-heading-anchor" href="#Basic-Data-Structures">Basic Data Structures</a><a id="Basic-Data-Structures-1"></a><a class="docs-heading-anchor-permalink" href="#Basic-Data-Structures" title="Permalink"></a></h2><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.Position" href="#KM3io.Position"><code>KM3io.Position</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct Position{T} <: StaticArraysCore.FieldVector{3, T}</code></pre><p>A vector to represent a position in 3D.</p><p><strong>Fields</strong></p><ul><li><p><code>x::Any</code></p></li><li><p><code>y::Any</code></p></li><li><p><code>z::Any</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/types.jl#LL7">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.Direction" href="#KM3io.Direction"><code>KM3io.Direction</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct Direction{T<:AbstractFloat} <: StaticArraysCore.FieldVector{3, T<:AbstractFloat}</code></pre><p>A vector to represent a direction in 3D.</p><p><strong>Fields</strong></p><ul><li><p><code>x::AbstractFloat</code></p></li><li><p><code>y::AbstractFloat</code></p></li><li><p><code>z::AbstractFloat</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/types.jl#LL16">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.Location" href="#KM3io.Location"><code>KM3io.Location</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct Location</code></pre><p>A module's location in the detector where string represents the detection unit identifier and floor counts from 0 from the bottom to top. Base modules are sitting on floor 0 and optical modules on floor 1 and higher.</p><p><strong>Fields</strong></p><ul><li><p><code>string::Int32</code></p></li><li><p><code>floor::Int8</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL27">source</a></section></article><h2 id="Offline-Format"><a class="docs-heading-anchor" href="#Offline-Format">Offline Format</a><a id="Offline-Format-1"></a><a class="docs-heading-anchor-permalink" href="#Offline-Format" title="Permalink"></a></h2><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.Evt" href="#KM3io.Evt"><code>KM3io.Evt</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct Evt</code></pre><p>An offline event.</p><p><strong>Fields</strong></p><ul><li><p><code>id::Int64</code></p></li><li><p><code>det_id::Int64</code></p></li><li><p><code>mc_id::Int64</code></p></li><li><p><code>run_id::Int64</code></p></li><li><p><code>mc_run_id::Int64</code></p></li><li><p><code>frame_index::Int64</code></p></li><li><p><code>trigger_mask::UInt64</code></p></li><li><p><code>trigger_counter::UInt64</code></p></li><li><p><code>overlays::UInt64</code></p></li><li><p><code>t::UTCTime</code></p></li><li><p><code>hits::Vector{CalibratedHit}</code></p></li><li><p><code>trks::Vector{Trk}</code></p></li><li><p><code>w::Vector{Float64}</code></p></li><li><p><code>w2list::Vector{Float64}</code></p></li><li><p><code>w3list::Vector{Float64}</code></p></li><li><p><code>mc_event_time::UTCTime</code></p></li><li><p><code>mc_t::Float64</code></p></li><li><p><code>mc_hits::Vector{CalibratedMCHit}</code></p></li><li><p><code>mc_trks::Vector{MCTrk}</code></p></li><li><p><code>index::Int64</code></p></li><li><p><code>flags::Int64</code></p></li><li><p><code>usr::Dict{String, Float64}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/root/offline.jl#LL72">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.CalibratedHit" href="#KM3io.CalibratedHit"><code>KM3io.CalibratedHit</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct CalibratedHit <: AbstractCalibratedHit</code></pre><p>A calibrated hit of the offline dataformat. Caveat: the <code>position</code>, <code>direction</code> and <code>t</code> fields might still be <code>0</code> due to the design philosophy of the offline format (one class for all).</p><p><strong>Fields</strong></p><ul><li><p><code>dom_id::Int32</code></p></li><li><p><code>channel_id::UInt32</code></p></li><li><p><code>tdc::UInt32</code></p></li><li><p><code>tot::UInt32</code></p></li><li><p><code>trigger_mask::UInt64</code></p></li><li><p><code>t::Float64</code></p></li><li><p><code>pos::Position{Float64}</code></p></li><li><p><code>dir::Direction{Float64}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/root/offline.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="KM3io.CalibratedMCHit" href="#KM3io.CalibratedMCHit"><code>KM3io.CalibratedMCHit</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct CalibratedMCHit</code></pre><p>A calibrated MC hit of the offline dataformat. Caveat: the <code>position</code> and <code>direction</code> fields might still be <code>0</code> due to the design philosophy of the offline format (one class for all).</p><p><strong>Fields</strong></p><ul><li><p><code>pmt_id::Int32</code></p></li><li><p><code>t::Float64</code></p></li><li><p><code>a::Float64</code></p></li><li><p><code>type::Int32</code></p></li><li><p><code>origin::Int32</code></p></li><li><p><code>pos::Position{Float64}</code></p></li><li><p><code>dir::Direction{Float64}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/root/offline.jl#LL21">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.XCalibratedHit" href="#KM3io.XCalibratedHit"><code>KM3io.XCalibratedHit</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct XCalibratedHit <: AbstractCalibratedHit</code></pre><p>A fully dressed hit with all calibration information which can be obtained. This structure is similar to the Hit structure in aanet and should be used wisely. Most of the time it's much more performant to use dedicated (simplified) structures.</p><p><strong>Fields</strong></p><ul><li><p><code>dom_id::UInt32</code></p></li><li><p><code>channel_id::UInt32</code></p></li><li><p><code>t::Float64</code></p></li><li><p><code>tot::UInt8</code></p></li><li><p><code>trigger_mask::UInt64</code></p></li><li><p><code>pos::Position{Float64}</code></p></li><li><p><code>dir::Direction{Float64}</code></p></li><li><p><code>t0::Float64</code></p></li><li><p><code>string::UInt8</code></p></li><li><p><code>floor::UInt8</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/types.jl#LL100">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.Trk" href="#KM3io.Trk"><code>KM3io.Trk</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct Trk</code></pre><p>Represents a reconstructed "track", which can be e.g. a muon track but also a shower.</p><p><strong>Fields</strong></p><ul><li><p><code>id::Int64</code></p></li><li><p><code>pos::Position{Float64}</code></p></li><li><p><code>dir::Direction{Float64}</code></p></li><li><p><code>t::Float64</code></p></li><li><p><code>E::Float64</code></p></li><li><p><code>len::Float64</code></p></li><li><p><code>lik::Float64</code></p></li><li><p><code>rec_type::Int32</code></p></li><li><p><code>rec_stages::Vector{Int32}</code></p></li><li><p><code>fitinf::Vector{Float64}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/root/offline.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="KM3io.MCTrk" href="#KM3io.MCTrk"><code>KM3io.MCTrk</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct MCTrk</code></pre><p>A simulated (Monte Carlo, hence "MC") track (or shower).</p><p><strong>Fields</strong></p><ul><li><p><code>id::Int64</code></p></li><li><p><code>pos::Position{Float64}</code></p></li><li><p><code>dir::Direction{Float64}</code></p></li><li><p><code>t::Float64</code></p></li><li><p><code>E::Float64</code></p></li><li><p><code>len::Float64</code></p></li><li><p><code>type::Int32</code></p></li><li><p><code>status::Int32</code></p></li><li><p><code>mother_id::Int32</code></p></li><li><p><code>counter::Int32</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/root/offline.jl#LL56">source</a></section></article><h2 id="Online-Format"><a class="docs-heading-anchor" href="#Online-Format">Online Format</a><a id="Online-Format-1"></a><a class="docs-heading-anchor-permalink" href="#Online-Format" title="Permalink"></a></h2><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.DAQEvent" href="#KM3io.DAQEvent"><code>KM3io.DAQEvent</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct DAQEvent</code></pre><p>A (triggered) event holding snapshot hits and triggered hits. The triggered hits are a subset of the snapshot hits.</p><p><strong>Fields</strong></p><ul><li><p><code>header::EventHeader</code></p></li><li><p><code>snapshot_hits::Vector{SnapshotHit}</code></p></li><li><p><code>triggered_hits::Vector{TriggeredHit}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/types.jl#LL197">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.EventHeader" href="#KM3io.EventHeader"><code>KM3io.EventHeader</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct EventHeader</code></pre><p>The header of an event.</p><p><strong>Fields</strong></p><ul><li><p><code>detector_id::Int32</code></p></li><li><p><code>run::Int32</code></p></li><li><p><code>frame_index::Int32</code></p></li><li><p><code>t::UTCExtended</code></p></li><li><p><code>trigger_counter::UInt64</code></p></li><li><p><code>trigger_mask::UInt64</code></p></li><li><p><code>overlays::UInt32</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/types.jl#LL182">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.SnapshotHit" href="#KM3io.SnapshotHit"><code>KM3io.SnapshotHit</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct SnapshotHit <: KM3io.AbstractDAQHit</code></pre><p>A snapshot hit.</p><p><strong>Fields</strong></p><ul><li><p><code>dom_id::UInt32</code></p></li><li><p><code>channel_id::UInt8</code></p></li><li><p><code>t::Int32</code></p></li><li><p><code>tot::UInt8</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/types.jl#LL49">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.TriggeredHit" href="#KM3io.TriggeredHit"><code>KM3io.TriggeredHit</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct TriggeredHit <: KM3io.AbstractDAQHit</code></pre><p>A hit which was triggered.</p><p><strong>Fields</strong></p><ul><li><p><code>dom_id::Int32</code></p></li><li><p><code>channel_id::UInt8</code></p></li><li><p><code>t::Int32</code></p></li><li><p><code>tot::UInt8</code></p></li><li><p><code>trigger_mask::UInt64</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/types.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="KM3io.CalibratedSnapshotHit" href="#KM3io.CalibratedSnapshotHit"><code>KM3io.CalibratedSnapshotHit</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct CalibratedSnapshotHit <: AbstractCalibratedHit</code></pre><p>A calibrated snapshot hit.</p><p><strong>Fields</strong></p><ul><li><p><code>dom_id::UInt32</code></p></li><li><p><code>channel_id::UInt8</code></p></li><li><p><code>t::Float64</code></p></li><li><p><code>tot::UInt8</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/types.jl#LL61">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.CalibratedTriggeredHit" href="#KM3io.CalibratedTriggeredHit"><code>KM3io.CalibratedTriggeredHit</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct CalibratedTriggeredHit <: AbstractCalibratedHit</code></pre><p>A calibrated triggered hit.</p><p><strong>Fields</strong></p><ul><li><p><code>dom_id::UInt32</code></p></li><li><p><code>channel_id::UInt8</code></p></li><li><p><code>t::Float64</code></p></li><li><p><code>tot::UInt8</code></p></li><li><p><code>trigger_mask::UInt64</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/types.jl#LL86">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.UTCTime" href="#KM3io.UTCTime"><code>KM3io.UTCTime</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct UTCTime</code></pre><p>A basic time structure with seconds and nanoseconds. The seconds are counting from the start of the epoch, just like the UNIX time.</p><p><strong>Fields</strong></p><ul><li><p><code>s::UInt64</code></p></li><li><p><code>ns::UInt64</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/types.jl#LL121">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.UTCExtended" href="#KM3io.UTCExtended"><code>KM3io.UTCExtended</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct UTCExtended</code></pre><p>An extended time structure which contains the White Rabbit time synchronisation status. <code>wr_status == 0</code> means that the synchronisation is OK.</p><p><strong>Fields</strong></p><ul><li><p><code>s::UInt32</code></p></li><li><p><code>ns::UInt32</code></p></li><li><p><code>wr_status::Int64</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/types.jl#LL133">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.Summaryslice" href="#KM3io.Summaryslice"><code>KM3io.Summaryslice</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct Summaryslice</code></pre><p>A summaryslice is a condensed timeslice with the header information of the corresponding timeslice and a summary frame for each optical module. The hit information of the original timeslice is reduced so that for each PMT a single byte is used to encode the hit rate.</p><p><strong>Fields</strong></p><ul><li><p><code>header::SummarysliceHeader</code></p></li><li><p><code>frames::Vector{SummaryFrame}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/root/online.jl#LL104">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.SummarysliceHeader" href="#KM3io.SummarysliceHeader"><code>KM3io.SummarysliceHeader</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct SummarysliceHeader</code></pre><p>The header of a summaryslice.</p><p><strong>Fields</strong></p><ul><li><p><code>detector_id::Int32</code></p></li><li><p><code>run::Int32</code></p></li><li><p><code>frame_index::Int32</code></p></li><li><p><code>t::UTCExtended</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/types.jl#LL170">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.SummaryFrame" href="#KM3io.SummaryFrame"><code>KM3io.SummaryFrame</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct SummaryFrame</code></pre><p>A <code>SummaryFrame</code> contains reduced timeslice data from an optical module.</p><p>The PMT <code>rates</code> are encoded as single bytes and can be converted to real hit rates using the <code>rates(s::SummaryFrame)</code> function.</p><p><strong>Fields</strong></p><ul><li><p><code>dom_id::Int32</code></p></li><li><p><code>daq::UInt32</code></p></li><li><p><code>status::UInt32</code></p></li><li><p><code>fifo::UInt32</code></p></li><li><p><code>status3::UInt32</code></p></li><li><p><code>status4::UInt32</code></p></li><li><p><code>rates::StaticArraysCore.SVector{31, UInt8}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/types.jl#LL152">source</a></section></article><h2 id="HDF5"><a class="docs-heading-anchor" href="#HDF5">HDF5</a><a id="HDF5-1"></a><a class="docs-heading-anchor-permalink" href="#HDF5" title="Permalink"></a></h2><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.H5File" href="#KM3io.H5File"><code>KM3io.H5File</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct H5File</code></pre><p>A wrapper for an HDF5 file used in KM3NeT.</p><p><strong>Fields</strong></p><ul><li><p><code>_h5f::HDF5.File</code></p></li><li><p><code>_datasets::Dict{String, H5CompoundDataset}</code></p></li><li><p><code>_lock::ReentrantLock</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hdf5/hdf5.jl#LL39">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.H5CompoundDataset" href="#KM3io.H5CompoundDataset"><code>KM3io.H5CompoundDataset</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct H5CompoundDataset{T}</code></pre><p>A flat HDF5 compound dataset which is essentially a vector of structs. It has a cache which is filled when elements are pushed to it. The cache is automatically written to the target HDF5 path when full.</p><p><strong>Fields</strong></p><ul><li><p><code>dset::HDF5.Dataset</code></p></li><li><p><code>cache::KM3io.H5CompoundDatasetCache</code></p></li><li><p><code>_lock::ReentrantLock</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hdf5/hdf5.jl#LL6">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.addmeta" href="#KM3io.addmeta"><code>KM3io.addmeta</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">addmeta( +<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>API · KM3io.jl</title><meta name="title" content="API · KM3io.jl"/><meta property="og:title" content="API · KM3io.jl"/><meta property="twitter:title" content="API · KM3io.jl"/><meta name="description" content="Documentation for KM3io.jl."/><meta property="og:description" content="Documentation for KM3io.jl."/><meta property="twitter:description" content="Documentation for KM3io.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"><a class="docs-logo" href="../"><img src="../assets/logo.svg" alt="KM3io.jl logo"/></a><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><span class="tocitem">Manual</span><ul><li><a class="tocitem" href="../manual/rootfiles/">ROOT Files</a></li><li><a class="tocitem" href="../manual/detector/">Detector and its Components</a></li><li><a class="tocitem" href="../manual/calibration/">Calibration</a></li><li><a class="tocitem" href="../manual/tools/">Tools</a></li></ul></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../examples/offline_data/">Offline data</a></li><li><a class="tocitem" href="../examples/cherenkov_times/">Cherenkov times</a></li><li><a class="tocitem" href="../examples/controlhost/">Accessing Live Data</a></li><li><a class="tocitem" href="../examples/hdf5/">HDF5</a></li></ul></li><li class="is-active"><a class="tocitem" href>API</a><ul class="internal"><li><a class="tocitem" href="#Basic-Data-Structures"><span>Basic Data Structures</span></a></li><li><a class="tocitem" href="#Offline-Format"><span>Offline Format</span></a></li><li><a class="tocitem" href="#Online-Format"><span>Online Format</span></a></li><li><a class="tocitem" href="#HDF5"><span>HDF5</span></a></li><li><a class="tocitem" href="#Hardware"><span>Hardware</span></a></li><li><a class="tocitem" href="#Optical-Data"><span>Optical Data</span></a></li><li><a class="tocitem" href="#Acoustics"><span>Acoustics</span></a></li><li><a class="tocitem" href="#Calibration"><span>Calibration</span></a></li><li><a class="tocitem" href="#Physics"><span>Physics</span></a></li><li><a class="tocitem" href="#Trigger"><span>Trigger</span></a></li><li><a class="tocitem" href="#ControlHost"><span>ControlHost</span></a></li><li><a class="tocitem" href="#Tools"><span>Tools</span></a></li></ul></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>API</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>API</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://git.km3net.de/common/KM3io.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/common/KM3io.jl/blob/main/docs/src/api.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="API"><a class="docs-heading-anchor" href="#API">API</a><a id="API-1"></a><a class="docs-heading-anchor-permalink" href="#API" title="Permalink"></a></h1><ul><li><a href="#KM3io.AcousticSignal"><code>KM3io.AcousticSignal</code></a></li><li><a href="#KM3io.AcousticsTriggerParameter"><code>KM3io.AcousticsTriggerParameter</code></a></li><li><a href="#KM3io.CHClient"><code>KM3io.CHClient</code></a></li><li><a href="#KM3io.CalibratedHit"><code>KM3io.CalibratedHit</code></a></li><li><a href="#KM3io.CalibratedMCHit"><code>KM3io.CalibratedMCHit</code></a></li><li><a href="#KM3io.CalibratedSnapshotHit"><code>KM3io.CalibratedSnapshotHit</code></a></li><li><a href="#KM3io.CalibratedTriggeredHit"><code>KM3io.CalibratedTriggeredHit</code></a></li><li><a href="#KM3io.CherenkovPhoton"><code>KM3io.CherenkovPhoton</code></a></li><li><a href="#KM3io.DAQEvent"><code>KM3io.DAQEvent</code></a></li><li><a href="#KM3io.Detector"><code>KM3io.Detector</code></a></li><li><a href="#KM3io.DetectorModule"><code>KM3io.DetectorModule</code></a></li><li><a href="#KM3io.Direction"><code>KM3io.Direction</code></a></li><li><a href="#KM3io.EventHeader"><code>KM3io.EventHeader</code></a></li><li><a href="#KM3io.Evt"><code>KM3io.Evt</code></a></li><li><a href="#KM3io.H5CompoundDataset"><code>KM3io.H5CompoundDataset</code></a></li><li><a href="#KM3io.H5File"><code>KM3io.H5File</code></a></li><li><a href="#KM3io.Hydrophone"><code>KM3io.Hydrophone</code></a></li><li><a href="#KM3io.K40Rates"><code>KM3io.K40Rates</code></a></li><li><a href="#KM3io.Location"><code>KM3io.Location</code></a></li><li><a href="#KM3io.MCTrk"><code>KM3io.MCTrk</code></a></li><li><a href="#KM3io.PMT"><code>KM3io.PMT</code></a></li><li><a href="#KM3io.Position"><code>KM3io.Position</code></a></li><li><a href="#KM3io.RecStageRange"><code>KM3io.RecStageRange</code></a></li><li><a href="#KM3io.SnapshotHit"><code>KM3io.SnapshotHit</code></a></li><li><a href="#KM3io.StringMechanics"><code>KM3io.StringMechanics</code></a></li><li><a href="#KM3io.StringMechanicsParameters"><code>KM3io.StringMechanicsParameters</code></a></li><li><a href="#KM3io.SummaryFrame"><code>KM3io.SummaryFrame</code></a></li><li><a href="#KM3io.Summaryslice"><code>KM3io.Summaryslice</code></a></li><li><a href="#KM3io.SummarysliceHeader"><code>KM3io.SummarysliceHeader</code></a></li><li><a href="#KM3io.TriggeredHit"><code>KM3io.TriggeredHit</code></a></li><li><a href="#KM3io.Tripod"><code>KM3io.Tripod</code></a></li><li><a href="#KM3io.Trk"><code>KM3io.Trk</code></a></li><li><a href="#KM3io.UTCExtended"><code>KM3io.UTCExtended</code></a></li><li><a href="#KM3io.UTCTime"><code>KM3io.UTCTime</code></a></li><li><a href="#KM3io.Waveform"><code>KM3io.Waveform</code></a></li><li><a href="#KM3io.XCalibratedHit"><code>KM3io.XCalibratedHit</code></a></li><li><a href="#Base.angle"><code>Base.angle</code></a></li><li><a href="#Base.flush"><code>Base.flush</code></a></li><li><a href="#Base.read-Tuple{AbstractString, Type{Hydrophone}}"><code>Base.read</code></a></li><li><a href="#Base.read-Tuple{AbstractString, Type{AcousticsTriggerParameter}}"><code>Base.read</code></a></li><li><a href="#Base.read-Tuple{AbstractString, Type{StringMechanics}}"><code>Base.read</code></a></li><li><a href="#Base.read-Tuple{AbstractString, Type{Tripod}}"><code>Base.read</code></a></li><li><a href="#Base.read-Tuple{AbstractString, Type{Waveform}}"><code>Base.read</code></a></li><li><a href="#Base.write-Tuple{AbstractString, Vector{Tripod}}"><code>Base.write</code></a></li><li><a href="#Base.write-Tuple{AbstractString, Detector}"><code>Base.write</code></a></li><li><a href="#Base.write-Tuple{IO, Detector}"><code>Base.write</code></a></li><li><a href="#HDF5.create_dataset"><code>HDF5.create_dataset</code></a></li><li><a href="#KM3io.addmeta"><code>KM3io.addmeta</code></a></li><li><a href="#KM3io.azimuth"><code>KM3io.azimuth</code></a></li><li><a href="#KM3io.bestaashower"><code>KM3io.bestaashower</code></a></li><li><a href="#KM3io.bestjppmuon"><code>KM3io.bestjppmuon</code></a></li><li><a href="#KM3io.bestjppshower"><code>KM3io.bestjppshower</code></a></li><li><a href="#KM3io.besttrack"><code>KM3io.besttrack</code></a></li><li><a href="#KM3io.calibrate"><code>KM3io.calibrate</code></a></li><li><a href="#KM3io.calibratetime"><code>KM3io.calibratetime</code></a></li><li><a href="#KM3io.categorize"><code>KM3io.categorize</code></a></li><li><a href="#KM3io.center"><code>KM3io.center</code></a></li><li><a href="#KM3io.cherenkov"><code>KM3io.cherenkov</code></a></li><li><a href="#KM3io.combine"><code>KM3io.combine</code></a></li><li><a href="#KM3io.count_active_channels"><code>KM3io.count_active_channels</code></a></li><li><a href="#KM3io.count_fifostatus"><code>KM3io.count_fifostatus</code></a></li><li><a href="#KM3io.count_hrvstatus"><code>KM3io.count_hrvstatus</code></a></li><li><a href="#KM3io.distance"><code>KM3io.distance</code></a></li><li><a href="#KM3io.fifostatus"><code>KM3io.fifostatus</code></a></li><li><a href="#KM3io.floordist"><code>KM3io.floordist</code></a></li><li><a href="#KM3io.getmodule"><code>KM3io.getmodule</code></a></li><li><a href="#KM3io.getpmt"><code>KM3io.getpmt</code></a></li><li><a href="#KM3io.hashistory"><code>KM3io.hashistory</code></a></li><li><a href="#KM3io.haslocation"><code>KM3io.haslocation</code></a></li><li><a href="#KM3io.hasudptrailer"><code>KM3io.hasudptrailer</code></a></li><li><a href="#KM3io.hrvstatus"><code>KM3io.hrvstatus</code></a></li><li><a href="#KM3io.hydrophoneenabled"><code>KM3io.hydrophoneenabled</code></a></li><li><a href="#KM3io.is3dmuon"><code>KM3io.is3dmuon</code></a></li><li><a href="#KM3io.is3dshower"><code>KM3io.is3dshower</code></a></li><li><a href="#KM3io.isbasemodule"><code>KM3io.isbasemodule</code></a></li><li><a href="#KM3io.ismxshower"><code>KM3io.ismxshower</code></a></li><li><a href="#KM3io.isnb"><code>KM3io.isnb</code></a></li><li><a href="#KM3io.isopticalmodule"><code>KM3io.isopticalmodule</code></a></li><li><a href="#KM3io.maximal_udp_sequence_number"><code>KM3io.maximal_udp_sequence_number</code></a></li><li><a href="#KM3io.modules"><code>KM3io.modules</code></a></li><li><a href="#KM3io.most_frequent"><code>KM3io.most_frequent</code></a></li><li><a href="#KM3io.nthbitset"><code>KM3io.nthbitset</code></a></li><li><a href="#KM3io.number_of_udp_packets_received"><code>KM3io.number_of_udp_packets_received</code></a></li><li><a href="#KM3io.phi"><code>KM3io.phi</code></a></li><li><a href="#KM3io.piezoenabled"><code>KM3io.piezoenabled</code></a></li><li><a href="#KM3io.pmtrate"><code>KM3io.pmtrate</code></a></li><li><a href="#KM3io.pmtrates"><code>KM3io.pmtrates</code></a></li><li><a href="#KM3io.slew"><code>KM3io.slew</code></a></li><li><a href="#KM3io.status"><code>KM3io.status</code></a></li><li><a href="#KM3io.tdcstatus"><code>KM3io.tdcstatus</code></a></li><li><a href="#KM3io.theta"><code>KM3io.theta</code></a></li><li><a href="#KM3io.triggered"><code>KM3io.triggered</code></a></li><li><a href="#KM3io.wrstatus"><code>KM3io.wrstatus</code></a></li><li><a href="#KM3io.zenith"><code>KM3io.zenith</code></a></li></ul><h2 id="Basic-Data-Structures"><a class="docs-heading-anchor" href="#Basic-Data-Structures">Basic Data Structures</a><a id="Basic-Data-Structures-1"></a><a class="docs-heading-anchor-permalink" href="#Basic-Data-Structures" title="Permalink"></a></h2><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.Position" href="#KM3io.Position"><code>KM3io.Position</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct Position{T} <: StaticArraysCore.FieldVector{3, T}</code></pre><p>A vector to represent a position in 3D.</p><p><strong>Fields</strong></p><ul><li><p><code>x::Any</code></p></li><li><p><code>y::Any</code></p></li><li><p><code>z::Any</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/types.jl#LL7">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.Direction" href="#KM3io.Direction"><code>KM3io.Direction</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct Direction{T<:AbstractFloat} <: StaticArraysCore.FieldVector{3, T<:AbstractFloat}</code></pre><p>A vector to represent a direction in 3D.</p><p><strong>Fields</strong></p><ul><li><p><code>x::AbstractFloat</code></p></li><li><p><code>y::AbstractFloat</code></p></li><li><p><code>z::AbstractFloat</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/types.jl#LL16">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.Location" href="#KM3io.Location"><code>KM3io.Location</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct Location</code></pre><p>A module's location in the detector where string represents the detection unit identifier and floor counts from 0 from the bottom to top. Base modules are sitting on floor 0 and optical modules on floor 1 and higher.</p><p><strong>Fields</strong></p><ul><li><p><code>string::Int32</code></p></li><li><p><code>floor::Int8</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL27">source</a></section></article><h2 id="Offline-Format"><a class="docs-heading-anchor" href="#Offline-Format">Offline Format</a><a id="Offline-Format-1"></a><a class="docs-heading-anchor-permalink" href="#Offline-Format" title="Permalink"></a></h2><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.Evt" href="#KM3io.Evt"><code>KM3io.Evt</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct Evt</code></pre><p>An offline event.</p><p><strong>Fields</strong></p><ul><li><p><code>id::Int64</code></p></li><li><p><code>det_id::Int64</code></p></li><li><p><code>mc_id::Int64</code></p></li><li><p><code>run_id::Int64</code></p></li><li><p><code>mc_run_id::Int64</code></p></li><li><p><code>frame_index::Int64</code></p></li><li><p><code>trigger_mask::UInt64</code></p></li><li><p><code>trigger_counter::UInt64</code></p></li><li><p><code>overlays::UInt64</code></p></li><li><p><code>t::UTCTime</code></p></li><li><p><code>hits::Vector{CalibratedHit}</code></p></li><li><p><code>trks::Vector{Trk}</code></p></li><li><p><code>w::Vector{Float64}</code></p></li><li><p><code>w2list::Vector{Float64}</code></p></li><li><p><code>w3list::Vector{Float64}</code></p></li><li><p><code>mc_event_time::UTCTime</code></p></li><li><p><code>mc_t::Float64</code></p></li><li><p><code>mc_hits::Vector{CalibratedMCHit}</code></p></li><li><p><code>mc_trks::Vector{MCTrk}</code></p></li><li><p><code>index::Int64</code></p></li><li><p><code>flags::Int64</code></p></li><li><p><code>usr::Dict{String, Float64}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/root/offline.jl#LL72">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.CalibratedHit" href="#KM3io.CalibratedHit"><code>KM3io.CalibratedHit</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct CalibratedHit <: AbstractCalibratedHit</code></pre><p>A calibrated hit of the offline dataformat. Caveat: the <code>position</code>, <code>direction</code> and <code>t</code> fields might still be <code>0</code> due to the design philosophy of the offline format (one class for all).</p><p><strong>Fields</strong></p><ul><li><p><code>dom_id::Int32</code></p></li><li><p><code>channel_id::UInt32</code></p></li><li><p><code>tdc::UInt32</code></p></li><li><p><code>tot::UInt32</code></p></li><li><p><code>trigger_mask::UInt64</code></p></li><li><p><code>t::Float64</code></p></li><li><p><code>pos::Position{Float64}</code></p></li><li><p><code>dir::Direction{Float64}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/root/offline.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="KM3io.CalibratedMCHit" href="#KM3io.CalibratedMCHit"><code>KM3io.CalibratedMCHit</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct CalibratedMCHit</code></pre><p>A calibrated MC hit of the offline dataformat. Caveat: the <code>position</code> and <code>direction</code> fields might still be <code>0</code> due to the design philosophy of the offline format (one class for all).</p><p><strong>Fields</strong></p><ul><li><p><code>pmt_id::Int32</code></p></li><li><p><code>t::Float64</code></p></li><li><p><code>a::Float64</code></p></li><li><p><code>type::Int32</code></p></li><li><p><code>origin::Int32</code></p></li><li><p><code>pos::Position{Float64}</code></p></li><li><p><code>dir::Direction{Float64}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/root/offline.jl#LL21">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.XCalibratedHit" href="#KM3io.XCalibratedHit"><code>KM3io.XCalibratedHit</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct XCalibratedHit <: AbstractCalibratedHit</code></pre><p>A fully dressed hit with all calibration information which can be obtained. This structure is similar to the Hit structure in aanet and should be used wisely. Most of the time it's much more performant to use dedicated (simplified) structures.</p><p><strong>Fields</strong></p><ul><li><p><code>dom_id::UInt32</code></p></li><li><p><code>channel_id::UInt32</code></p></li><li><p><code>t::Float64</code></p></li><li><p><code>tot::UInt8</code></p></li><li><p><code>trigger_mask::UInt64</code></p></li><li><p><code>pos::Position{Float64}</code></p></li><li><p><code>dir::Direction{Float64}</code></p></li><li><p><code>t0::Float64</code></p></li><li><p><code>string::UInt8</code></p></li><li><p><code>floor::UInt8</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/types.jl#LL100">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.Trk" href="#KM3io.Trk"><code>KM3io.Trk</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct Trk</code></pre><p>Represents a reconstructed "track", which can be e.g. a muon track but also a shower.</p><p><strong>Fields</strong></p><ul><li><p><code>id::Int64</code></p></li><li><p><code>pos::Position{Float64}</code></p></li><li><p><code>dir::Direction{Float64}</code></p></li><li><p><code>t::Float64</code></p></li><li><p><code>E::Float64</code></p></li><li><p><code>len::Float64</code></p></li><li><p><code>lik::Float64</code></p></li><li><p><code>rec_type::Int32</code></p></li><li><p><code>rec_stages::Vector{Int32}</code></p></li><li><p><code>fitinf::Vector{Float64}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/root/offline.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="KM3io.MCTrk" href="#KM3io.MCTrk"><code>KM3io.MCTrk</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct MCTrk</code></pre><p>A simulated (Monte Carlo, hence "MC") track (or shower).</p><p><strong>Fields</strong></p><ul><li><p><code>id::Int64</code></p></li><li><p><code>pos::Position{Float64}</code></p></li><li><p><code>dir::Direction{Float64}</code></p></li><li><p><code>t::Float64</code></p></li><li><p><code>E::Float64</code></p></li><li><p><code>len::Float64</code></p></li><li><p><code>type::Int32</code></p></li><li><p><code>status::Int32</code></p></li><li><p><code>mother_id::Int32</code></p></li><li><p><code>counter::Int32</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/root/offline.jl#LL56">source</a></section></article><h2 id="Online-Format"><a class="docs-heading-anchor" href="#Online-Format">Online Format</a><a id="Online-Format-1"></a><a class="docs-heading-anchor-permalink" href="#Online-Format" title="Permalink"></a></h2><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.DAQEvent" href="#KM3io.DAQEvent"><code>KM3io.DAQEvent</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct DAQEvent</code></pre><p>A (triggered) event holding snapshot hits and triggered hits. The triggered hits are a subset of the snapshot hits.</p><p><strong>Fields</strong></p><ul><li><p><code>header::EventHeader</code></p></li><li><p><code>snapshot_hits::Vector{SnapshotHit}</code></p></li><li><p><code>triggered_hits::Vector{TriggeredHit}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/types.jl#LL197">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.EventHeader" href="#KM3io.EventHeader"><code>KM3io.EventHeader</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct EventHeader</code></pre><p>The header of an event.</p><p><strong>Fields</strong></p><ul><li><p><code>detector_id::Int32</code></p></li><li><p><code>run::Int32</code></p></li><li><p><code>frame_index::Int32</code></p></li><li><p><code>t::UTCExtended</code></p></li><li><p><code>trigger_counter::UInt64</code></p></li><li><p><code>trigger_mask::UInt64</code></p></li><li><p><code>overlays::UInt32</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/types.jl#LL182">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.SnapshotHit" href="#KM3io.SnapshotHit"><code>KM3io.SnapshotHit</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct SnapshotHit <: KM3io.AbstractDAQHit</code></pre><p>A snapshot hit.</p><p><strong>Fields</strong></p><ul><li><p><code>dom_id::UInt32</code></p></li><li><p><code>channel_id::UInt8</code></p></li><li><p><code>t::Int32</code></p></li><li><p><code>tot::UInt8</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/types.jl#LL49">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.TriggeredHit" href="#KM3io.TriggeredHit"><code>KM3io.TriggeredHit</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct TriggeredHit <: KM3io.AbstractDAQHit</code></pre><p>A hit which was triggered.</p><p><strong>Fields</strong></p><ul><li><p><code>dom_id::Int32</code></p></li><li><p><code>channel_id::UInt8</code></p></li><li><p><code>t::Int32</code></p></li><li><p><code>tot::UInt8</code></p></li><li><p><code>trigger_mask::UInt64</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/types.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="KM3io.CalibratedSnapshotHit" href="#KM3io.CalibratedSnapshotHit"><code>KM3io.CalibratedSnapshotHit</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct CalibratedSnapshotHit <: AbstractCalibratedHit</code></pre><p>A calibrated snapshot hit.</p><p><strong>Fields</strong></p><ul><li><p><code>dom_id::UInt32</code></p></li><li><p><code>channel_id::UInt8</code></p></li><li><p><code>t::Float64</code></p></li><li><p><code>tot::UInt8</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/types.jl#LL61">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.CalibratedTriggeredHit" href="#KM3io.CalibratedTriggeredHit"><code>KM3io.CalibratedTriggeredHit</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct CalibratedTriggeredHit <: AbstractCalibratedHit</code></pre><p>A calibrated triggered hit.</p><p><strong>Fields</strong></p><ul><li><p><code>dom_id::UInt32</code></p></li><li><p><code>channel_id::UInt8</code></p></li><li><p><code>t::Float64</code></p></li><li><p><code>tot::UInt8</code></p></li><li><p><code>trigger_mask::UInt64</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/types.jl#LL86">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.UTCTime" href="#KM3io.UTCTime"><code>KM3io.UTCTime</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct UTCTime</code></pre><p>A basic time structure with seconds and nanoseconds. The seconds are counting from the start of the epoch, just like the UNIX time.</p><p><strong>Fields</strong></p><ul><li><p><code>s::UInt64</code></p></li><li><p><code>ns::UInt64</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/types.jl#LL121">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.UTCExtended" href="#KM3io.UTCExtended"><code>KM3io.UTCExtended</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct UTCExtended</code></pre><p>An extended time structure which contains the White Rabbit time synchronisation status. <code>wr_status == 0</code> means that the synchronisation is OK.</p><p><strong>Fields</strong></p><ul><li><p><code>s::UInt32</code></p></li><li><p><code>ns::UInt32</code></p></li><li><p><code>wr_status::Int64</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/types.jl#LL133">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.Summaryslice" href="#KM3io.Summaryslice"><code>KM3io.Summaryslice</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct Summaryslice</code></pre><p>A summaryslice is a condensed timeslice with the header information of the corresponding timeslice and a summary frame for each optical module. The hit information of the original timeslice is reduced so that for each PMT a single byte is used to encode the hit rate.</p><p><strong>Fields</strong></p><ul><li><p><code>header::SummarysliceHeader</code></p></li><li><p><code>frames::Vector{SummaryFrame}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/root/online.jl#LL104">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.SummarysliceHeader" href="#KM3io.SummarysliceHeader"><code>KM3io.SummarysliceHeader</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct SummarysliceHeader</code></pre><p>The header of a summaryslice.</p><p><strong>Fields</strong></p><ul><li><p><code>detector_id::Int32</code></p></li><li><p><code>run::Int32</code></p></li><li><p><code>frame_index::Int32</code></p></li><li><p><code>t::UTCExtended</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/types.jl#LL170">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.SummaryFrame" href="#KM3io.SummaryFrame"><code>KM3io.SummaryFrame</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct SummaryFrame</code></pre><p>A <code>SummaryFrame</code> contains reduced timeslice data from an optical module.</p><p>The PMT <code>rates</code> are encoded as single bytes and can be converted to real hit rates using the <code>rates(s::SummaryFrame)</code> function.</p><p><strong>Fields</strong></p><ul><li><p><code>dom_id::Int32</code></p></li><li><p><code>daq::UInt32</code></p></li><li><p><code>status::UInt32</code></p></li><li><p><code>fifo::UInt32</code></p></li><li><p><code>status3::UInt32</code></p></li><li><p><code>status4::UInt32</code></p></li><li><p><code>rates::StaticArraysCore.SVector{31, UInt8}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/types.jl#LL152">source</a></section></article><h2 id="HDF5"><a class="docs-heading-anchor" href="#HDF5">HDF5</a><a id="HDF5-1"></a><a class="docs-heading-anchor-permalink" href="#HDF5" title="Permalink"></a></h2><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.H5File" href="#KM3io.H5File"><code>KM3io.H5File</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct H5File</code></pre><p>A wrapper for an HDF5 file used in KM3NeT.</p><p><strong>Fields</strong></p><ul><li><p><code>_h5f::HDF5.File</code></p></li><li><p><code>_datasets::Dict{String, H5CompoundDataset}</code></p></li><li><p><code>_lock::ReentrantLock</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hdf5/hdf5.jl#LL39">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.H5CompoundDataset" href="#KM3io.H5CompoundDataset"><code>KM3io.H5CompoundDataset</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct H5CompoundDataset{T}</code></pre><p>A flat HDF5 compound dataset which is essentially a vector of structs. It has a cache which is filled when elements are pushed to it. The cache is automatically written to the target HDF5 path when full.</p><p><strong>Fields</strong></p><ul><li><p><code>dset::HDF5.Dataset</code></p></li><li><p><code>cache::KM3io.H5CompoundDatasetCache</code></p></li><li><p><code>_lock::ReentrantLock</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hdf5/hdf5.jl#LL6">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.addmeta" href="#KM3io.addmeta"><code>KM3io.addmeta</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">addmeta( dset::Union{HDF5.Dataset, HDF5.Datatype, HDF5.File, HDF5.Group}, object ) -</code></pre><p>Attaches key-value-pair meta entries to an HDF5 instance for each field of the given object.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hdf5/hdf5.jl#LL106">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="HDF5.create_dataset" href="#HDF5.create_dataset"><code>HDF5.create_dataset</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">create_dataset( +</code></pre><p>Attaches key-value-pair meta entries to an HDF5 instance for each field of the given object.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hdf5/hdf5.jl#LL106">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="HDF5.create_dataset" href="#HDF5.create_dataset"><code>HDF5.create_dataset</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">create_dataset( f::H5File, path::AbstractString, ::Type{T}; @@ -12,80 +12,80 @@ filters, kwargs... ) -> H5CompoundDataset -</code></pre><p>Creates a one-dimensional compound dataset <a href="#KM3io.H5CompoundDataset"><code>H5CompoundDataset</code></a> of a given type which can be extended one-by-one. The cache is used to accumulate data and reduce the number of dataset extensions. Each time the cache is full, the HDF5 dataset will be extended, the buffer written and cleared.</p><p>To force the writing, use <a href="#Base.flush"><code>flush</code></a></p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hdf5/hdf5.jl#LL79">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.flush" href="#Base.flush"><code>Base.flush</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">flush(d::H5CompoundDataset; nolock) -> H5CompoundDataset -</code></pre><p>Forces the cache to be written to the HDF5 file.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hdf5/hdf5.jl#LL22">source</a></section></article><h2 id="Hardware"><a class="docs-heading-anchor" href="#Hardware">Hardware</a><a id="Hardware-1"></a><a class="docs-heading-anchor-permalink" href="#Hardware" title="Permalink"></a></h2><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.PMT" href="#KM3io.PMT"><code>KM3io.PMT</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct PMT</code></pre><p>The photomultiplier tube of an optical module. The <code>id</code> stands for the DAQ channel ID.</p><p>A non-zero status means the PMT is "not OK". Individual bits can be read out to identify the problem (see definitions/pmt_status.jl for the bit positions and check them using the <code>nthbitset()</code> function).</p><p><strong>Fields</strong></p><ul><li><p><code>id::Int32</code></p></li><li><p><code>pos::Position{Float64}</code></p></li><li><p><code>dir::Direction{Float64}</code></p></li><li><p><code>tâ‚€::Float64</code></p></li><li><p><code>status::Union{Missing, Int32}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.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="KM3io.DetectorModule" href="#KM3io.DetectorModule"><code>KM3io.DetectorModule</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct DetectorModule</code></pre><p>Either a base module or an optical module. A non-zero status means the module is "not OK". Individual bits can be read out to identify the problem (see definitions/module_status.jl for the bit positions and check them using the <code>nthbitset()</code> function).</p><p><strong>Fields</strong></p><ul><li><p><code>id::Int32</code></p></li><li><p><code>pos::Position{Float64}</code></p></li><li><p><code>location::Location</code></p></li><li><p><code>n_pmts::Int8</code></p></li><li><p><code>pmts::Vector{PMT}</code></p></li><li><p><code>q::Union{Missing, Quaternion{Float64}}</code></p></li><li><p><code>status::Int32</code></p></li><li><p><code>tâ‚€::Float64</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL41">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.Detector" href="#KM3io.Detector"><code>KM3io.Detector</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct Detector</code></pre><p>A KM3NeT detector.</p><p><strong>Fields</strong></p><ul><li><p><code>version::Int8</code></p></li><li><p><code>id::Int32</code></p></li><li><p><code>validity::Union{Missing, KM3io.DateRange}</code></p></li><li><p><code>pos::Union{Missing, UTMPosition{Float64}}</code></p></li><li><p><code>utm_ref_grid::Union{Missing, String}</code></p></li><li><p><code>n_modules::Int32</code></p></li><li><p><code>modules::Dict{Int32, DetectorModule}</code></p></li><li><p><code>locations::Dict{Tuple{Int64, Int64}, DetectorModule}</code></p></li><li><p><code>strings::Vector{Int64}</code></p></li><li><p><code>comments::Vector{String}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL270">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.modules" href="#KM3io.modules"><code>KM3io.modules</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">modules(d::Detector) -> Vector{DetectorModule} -</code></pre><p>Return a vector of all modules of a given detector.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL286">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.getmodule" href="#KM3io.getmodule"><code>KM3io.getmodule</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">getmodule(d::Detector, module_id::Integer) -> DetectorModule -</code></pre><p>Return the detector module for a given module ID.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL303">source</a></section><section><div><pre><code class="language-julia hljs">getmodule( +</code></pre><p>Creates a one-dimensional compound dataset <a href="#KM3io.H5CompoundDataset"><code>H5CompoundDataset</code></a> of a given type which can be extended one-by-one. The cache is used to accumulate data and reduce the number of dataset extensions. Each time the cache is full, the HDF5 dataset will be extended, the buffer written and cleared.</p><p>To force the writing, use <a href="#Base.flush"><code>flush</code></a></p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hdf5/hdf5.jl#LL79">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.flush" href="#Base.flush"><code>Base.flush</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">flush(d::H5CompoundDataset; nolock) -> H5CompoundDataset +</code></pre><p>Forces the cache to be written to the HDF5 file.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hdf5/hdf5.jl#LL22">source</a></section></article><h2 id="Hardware"><a class="docs-heading-anchor" href="#Hardware">Hardware</a><a id="Hardware-1"></a><a class="docs-heading-anchor-permalink" href="#Hardware" title="Permalink"></a></h2><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.PMT" href="#KM3io.PMT"><code>KM3io.PMT</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct PMT</code></pre><p>The photomultiplier tube of an optical module. The <code>id</code> stands for the DAQ channel ID.</p><p>A non-zero status means the PMT is "not OK". Individual bits can be read out to identify the problem (see definitions/pmt_status.jl for the bit positions and check them using the <code>nthbitset()</code> function).</p><p><strong>Fields</strong></p><ul><li><p><code>id::Int32</code></p></li><li><p><code>pos::Position{Float64}</code></p></li><li><p><code>dir::Direction{Float64}</code></p></li><li><p><code>tâ‚€::Float64</code></p></li><li><p><code>status::Union{Missing, Int32}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.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="KM3io.DetectorModule" href="#KM3io.DetectorModule"><code>KM3io.DetectorModule</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct DetectorModule</code></pre><p>Either a base module or an optical module. A non-zero status means the module is "not OK". Individual bits can be read out to identify the problem (see definitions/module_status.jl for the bit positions and check them using the <code>nthbitset()</code> function).</p><p><strong>Fields</strong></p><ul><li><p><code>id::Int32</code></p></li><li><p><code>pos::Position{Float64}</code></p></li><li><p><code>location::Location</code></p></li><li><p><code>n_pmts::Int8</code></p></li><li><p><code>pmts::Vector{PMT}</code></p></li><li><p><code>q::Union{Missing, Quaternion{Float64}}</code></p></li><li><p><code>status::Int32</code></p></li><li><p><code>tâ‚€::Float64</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL41">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.Detector" href="#KM3io.Detector"><code>KM3io.Detector</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct Detector</code></pre><p>A KM3NeT detector.</p><p><strong>Fields</strong></p><ul><li><p><code>version::Int8</code></p></li><li><p><code>id::Int32</code></p></li><li><p><code>validity::Union{Missing, KM3io.DateRange}</code></p></li><li><p><code>pos::Union{Missing, UTMPosition{Float64}}</code></p></li><li><p><code>utm_ref_grid::Union{Missing, String}</code></p></li><li><p><code>n_modules::Int32</code></p></li><li><p><code>modules::Dict{Int32, DetectorModule}</code></p></li><li><p><code>locations::Dict{Tuple{Int64, Int64}, DetectorModule}</code></p></li><li><p><code>strings::Vector{Int64}</code></p></li><li><p><code>comments::Vector{String}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL270">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.modules" href="#KM3io.modules"><code>KM3io.modules</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">modules(d::Detector) -> Vector{DetectorModule} +</code></pre><p>Return a vector of all modules of a given detector.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL286">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.getmodule" href="#KM3io.getmodule"><code>KM3io.getmodule</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">getmodule(d::Detector, module_id::Integer) -> DetectorModule +</code></pre><p>Return the detector module for a given module ID.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL303">source</a></section><section><div><pre><code class="language-julia hljs">getmodule( d::Detector, string::Integer, floor::Integer ) -> DetectorModule -</code></pre><p>Return the detector module for a given string and floor.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL307">source</a></section><section><div><pre><code class="language-julia hljs">getmodule( +</code></pre><p>Return the detector module for a given string and floor.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL307">source</a></section><section><div><pre><code class="language-julia hljs">getmodule( d::Detector, loc::Tuple{T<:Integer, T<:Integer} ) -> DetectorModule -</code></pre><p>Return the detector module for a given string and floor (as <code>Tuple</code>).</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL311">source</a></section><section><div><pre><code class="language-julia hljs">getmodule(d::Detector, loc::Location) -> DetectorModule -</code></pre><p>Return the detector module for a given location.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL315">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.getpmt" href="#KM3io.getpmt"><code>KM3io.getpmt</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">getpmt(d::DetectorModule, channel_id::Integer) -> Any -</code></pre><p>Get the PMT for a given DAQ channel ID (TDC)</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL93">source</a></section><section><div><pre><code class="language-julia hljs">getpmt(d::Detector, hit) -> Any -</code></pre><p>Return the <code>PMT</code> for a given hit.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL319">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.haslocation" href="#KM3io.haslocation"><code>KM3io.haslocation</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">haslocation(d::Detector, loc::Location) -> Bool -</code></pre><p>Returns true if there is a module at the given location.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL342">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.isbasemodule" href="#KM3io.isbasemodule"><code>KM3io.isbasemodule</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">isbasemodule(d::DetectorModule) -> Bool -</code></pre><p>Returns true if the module is a basemodule.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL84">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.isopticalmodule" href="#KM3io.isopticalmodule"><code>KM3io.isopticalmodule</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">isopticalmodule(d::DetectorModule) -> Bool -</code></pre><p>Returns true if the module is an optical module.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL88">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.write-Tuple{AbstractString, Detector}" href="#Base.write-Tuple{AbstractString, Detector}"><code>Base.write</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">write(filename::AbstractString, d::Detector; version) -</code></pre><p>Writes the detector definition to a file, according to the DETX format specification. The <code>version</code> parameter can be a version number or <code>:same</code>, which is the default value and writes the same version as the provided detector has.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.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="Base.write-Tuple{IO, Detector}" href="#Base.write-Tuple{IO, Detector}"><code>Base.write</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">write(io::IO, d::Detector; version) -</code></pre><pre><code class="nohighlight hljs">function write(io::IO, d::Detector; version=:same)</code></pre><p>Writes the detector to a DETX formatted file. The target version can be specified via the <code>version</code> keyword. Note that if converting to higher versions, missing parameters will be filled with reasonable default values. In case of downgrading, information will be lost.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL595">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.Hydrophone" href="#KM3io.Hydrophone"><code>KM3io.Hydrophone</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct Hydrophone</code></pre><p>A hydrophone, typically installed in the base module of a KM3NeT detector's string.</p><p><strong>Fields</strong></p><ul><li><p><code>location::Location</code></p></li><li><p><code>pos::Position{Float64}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL144">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.read-Tuple{AbstractString, Type{Hydrophone}}" href="#Base.read-Tuple{AbstractString, Type{Hydrophone}}"><code>Base.read</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">read( +</code></pre><p>Return the detector module for a given string and floor (as <code>Tuple</code>).</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL311">source</a></section><section><div><pre><code class="language-julia hljs">getmodule(d::Detector, loc::Location) -> DetectorModule +</code></pre><p>Return the detector module for a given location.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL315">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.getpmt" href="#KM3io.getpmt"><code>KM3io.getpmt</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">getpmt(d::DetectorModule, channel_id::Integer) -> Any +</code></pre><p>Get the PMT for a given DAQ channel ID (TDC)</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL93">source</a></section><section><div><pre><code class="language-julia hljs">getpmt(d::Detector, hit) -> Any +</code></pre><p>Return the <code>PMT</code> for a given hit.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL319">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.haslocation" href="#KM3io.haslocation"><code>KM3io.haslocation</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">haslocation(d::Detector, loc::Location) -> Bool +</code></pre><p>Returns true if there is a module at the given location.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL342">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.isbasemodule" href="#KM3io.isbasemodule"><code>KM3io.isbasemodule</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">isbasemodule(d::DetectorModule) -> Bool +</code></pre><p>Returns true if the module is a basemodule.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL84">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.isopticalmodule" href="#KM3io.isopticalmodule"><code>KM3io.isopticalmodule</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">isopticalmodule(d::DetectorModule) -> Bool +</code></pre><p>Returns true if the module is an optical module.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL88">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.write-Tuple{AbstractString, Detector}" href="#Base.write-Tuple{AbstractString, Detector}"><code>Base.write</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">write(filename::AbstractString, d::Detector; version) +</code></pre><p>Writes the detector definition to a file, according to the DETX format specification. The <code>version</code> parameter can be a version number or <code>:same</code>, which is the default value and writes the same version as the provided detector has.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.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="Base.write-Tuple{IO, Detector}" href="#Base.write-Tuple{IO, Detector}"><code>Base.write</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">write(io::IO, d::Detector; version) +</code></pre><pre><code class="nohighlight hljs">function write(io::IO, d::Detector; version=:same)</code></pre><p>Writes the detector to a DETX formatted file. The target version can be specified via the <code>version</code> keyword. Note that if converting to higher versions, missing parameters will be filled with reasonable default values. In case of downgrading, information will be lost.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL595">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.Hydrophone" href="#KM3io.Hydrophone"><code>KM3io.Hydrophone</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct Hydrophone</code></pre><p>A hydrophone, typically installed in the base module of a KM3NeT detector's string.</p><p><strong>Fields</strong></p><ul><li><p><code>location::Location</code></p></li><li><p><code>pos::Position{Float64}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL144">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.read-Tuple{AbstractString, Type{Hydrophone}}" href="#Base.read-Tuple{AbstractString, Type{Hydrophone}}"><code>Base.read</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">read( filename::AbstractString, T::Type{Hydrophone} ) -> Vector{Hydrophone} -</code></pre><pre><code class="nohighlight hljs">function read(filename::AbstractString, T::Type{Hydrophone})</code></pre><p>Reads a vector of <code>Hydrophone</code>s from an ASCII file.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL153">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.Tripod" href="#KM3io.Tripod"><code>KM3io.Tripod</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct Tripod</code></pre><p>A tripod installed on the seabed which sends acoustic signals to modules.</p><p><strong>Fields</strong></p><ul><li><p><code>id::Int8</code></p></li><li><p><code>pos::Position{Float64}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL171">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.read-Tuple{AbstractString, Type{Tripod}}" href="#Base.read-Tuple{AbstractString, Type{Tripod}}"><code>Base.read</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">read( +</code></pre><pre><code class="nohighlight hljs">function read(filename::AbstractString, T::Type{Hydrophone})</code></pre><p>Reads a vector of <code>Hydrophone</code>s from an ASCII file.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL153">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.Tripod" href="#KM3io.Tripod"><code>KM3io.Tripod</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct Tripod</code></pre><p>A tripod installed on the seabed which sends acoustic signals to modules.</p><p><strong>Fields</strong></p><ul><li><p><code>id::Int8</code></p></li><li><p><code>pos::Position{Float64}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL171">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.read-Tuple{AbstractString, Type{Tripod}}" href="#Base.read-Tuple{AbstractString, Type{Tripod}}"><code>Base.read</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">read( filename::AbstractString, T::Type{Tripod} ) -> Vector{Tripod} -</code></pre><pre><code class="nohighlight hljs">function read(filename:AbstractString, T::Type{Tripod})</code></pre><p>Reads a vector of <code>Tripod</code>s from an ASCII file.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL178">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.write-Tuple{AbstractString, Vector{Tripod}}" href="#Base.write-Tuple{AbstractString, Vector{Tripod}}"><code>Base.write</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">write(filename::AbstractString, tripods::Vector{Tripod}) -</code></pre><pre><code class="nohighlight hljs">function write(filename::AbstractString, tripods::Dict{Int8, Tripod})</code></pre><p>Writes the position of tripods out into an ASCII file.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL196">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.piezoenabled" href="#KM3io.piezoenabled"><code>KM3io.piezoenabled</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">piezoenabled(m::DetectorModule) -> Bool -</code></pre><pre><code class="nohighlight hljs">function piezoenabled(m::DetectorModule)</code></pre><p>Return <code>true</code> if the piezo is enabled, <code>false</code> otherwise.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/acoustics.jl#LL47">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.hydrophoneenabled" href="#KM3io.hydrophoneenabled"><code>KM3io.hydrophoneenabled</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">hydrophoneenabled(m::DetectorModule) -> Bool -</code></pre><pre><code class="nohighlight hljs">function hydrophonenabled(m::DetectorModule)</code></pre><p>Return <code>true</code> if the hydrophone is enabled, <code>false</code> otherwise.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/acoustics.jl#LL54">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.center" href="#KM3io.center"><code>KM3io.center</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">center(m::DetectorModule) -> Position{Float64} -</code></pre><p>Calculate the centre of a module by fitting the crossing point of the PMT axes.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL98">source</a></section><section><div><pre><code class="language-julia hljs">center(d::Detector) -> Position{Float64} -</code></pre><p>Calculate the center of the detector based on the location of the optical modules.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.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="KM3io.StringMechanics" href="#KM3io.StringMechanics"><code>KM3io.StringMechanics</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct StringMechanics</code></pre><p>A container structure which holds the mechanical model parameters for multiple strings, including a default value for strings which have specific parameters.</p><p><strong>Fields</strong></p><ul><li><p><code>default::StringMechanicsParameters</code></p></li><li><p><code>stringparams::Dict{Int64, StringMechanicsParameters}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL689">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.StringMechanicsParameters" href="#KM3io.StringMechanicsParameters"><code>KM3io.StringMechanicsParameters</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct StringMechanicsParameters</code></pre><p>Data structure for parameters of the mechanical model of strings. This data structure is used to calculate the effective height conform to the mechanical model of the string.</p><p><strong>Fields</strong></p><ul><li><p><code>a::Float64</code></p></li><li><p><code>b::Float64</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL677">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.read-Tuple{AbstractString, Type{StringMechanics}}" href="#Base.read-Tuple{AbstractString, Type{StringMechanics}}"><code>Base.read</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">read( +</code></pre><pre><code class="nohighlight hljs">function read(filename:AbstractString, T::Type{Tripod})</code></pre><p>Reads a vector of <code>Tripod</code>s from an ASCII file.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL178">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.write-Tuple{AbstractString, Vector{Tripod}}" href="#Base.write-Tuple{AbstractString, Vector{Tripod}}"><code>Base.write</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">write(filename::AbstractString, tripods::Vector{Tripod}) +</code></pre><pre><code class="nohighlight hljs">function write(filename::AbstractString, tripods::Dict{Int8, Tripod})</code></pre><p>Writes the position of tripods out into an ASCII file.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL196">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.piezoenabled" href="#KM3io.piezoenabled"><code>KM3io.piezoenabled</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">piezoenabled(m::DetectorModule) -> Bool +</code></pre><pre><code class="nohighlight hljs">function piezoenabled(m::DetectorModule)</code></pre><p>Return <code>true</code> if the piezo is enabled, <code>false</code> otherwise.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/acoustics.jl#LL47">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.hydrophoneenabled" href="#KM3io.hydrophoneenabled"><code>KM3io.hydrophoneenabled</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">hydrophoneenabled(m::DetectorModule) -> Bool +</code></pre><pre><code class="nohighlight hljs">function hydrophonenabled(m::DetectorModule)</code></pre><p>Return <code>true</code> if the hydrophone is enabled, <code>false</code> otherwise.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/acoustics.jl#LL54">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.center" href="#KM3io.center"><code>KM3io.center</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">center(m::DetectorModule) -> Position{Float64} +</code></pre><p>Calculate the centre of a module by fitting the crossing point of the PMT axes.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL98">source</a></section><section><div><pre><code class="language-julia hljs">center(d::Detector) -> Position{Float64} +</code></pre><p>Calculate the center of the detector based on the location of the optical modules.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.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="KM3io.StringMechanics" href="#KM3io.StringMechanics"><code>KM3io.StringMechanics</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct StringMechanics</code></pre><p>A container structure which holds the mechanical model parameters for multiple strings, including a default value for strings which have specific parameters.</p><p><strong>Fields</strong></p><ul><li><p><code>default::StringMechanicsParameters</code></p></li><li><p><code>stringparams::Dict{Int64, StringMechanicsParameters}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL689">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.StringMechanicsParameters" href="#KM3io.StringMechanicsParameters"><code>KM3io.StringMechanicsParameters</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct StringMechanicsParameters</code></pre><p>Data structure for parameters of the mechanical model of strings. This data structure is used to calculate the effective height conform to the mechanical model of the string.</p><p><strong>Fields</strong></p><ul><li><p><code>a::Float64</code></p></li><li><p><code>b::Float64</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL677">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.read-Tuple{AbstractString, Type{StringMechanics}}" href="#Base.read-Tuple{AbstractString, Type{StringMechanics}}"><code>Base.read</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">read( filename::AbstractString, T::Type{StringMechanics} ) -> StringMechanics -</code></pre><p>Reads the mechanical models from a text file.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL702">source</a></section></article><h2 id="Optical-Data"><a class="docs-heading-anchor" href="#Optical-Data">Optical Data</a><a id="Optical-Data-1"></a><a class="docs-heading-anchor-permalink" href="#Optical-Data" title="Permalink"></a></h2><h2 id="Acoustics"><a class="docs-heading-anchor" href="#Acoustics">Acoustics</a><a id="Acoustics-1"></a><a class="docs-heading-anchor-permalink" href="#Acoustics" title="Permalink"></a></h2><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.Waveform" href="#KM3io.Waveform"><code>KM3io.Waveform</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct Waveform</code></pre><p>Waveform translates Emitter ID to Tripod ID.</p><p><strong>Fields</strong></p><ul><li><code>ids::Dict{Int8, Int8}</code></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL215">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.read-Tuple{AbstractString, Type{Waveform}}" href="#Base.read-Tuple{AbstractString, Type{Waveform}}"><code>Base.read</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">read( +</code></pre><p>Reads the mechanical models from a text file.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL702">source</a></section></article><h2 id="Optical-Data"><a class="docs-heading-anchor" href="#Optical-Data">Optical Data</a><a id="Optical-Data-1"></a><a class="docs-heading-anchor-permalink" href="#Optical-Data" title="Permalink"></a></h2><h2 id="Acoustics"><a class="docs-heading-anchor" href="#Acoustics">Acoustics</a><a id="Acoustics-1"></a><a class="docs-heading-anchor-permalink" href="#Acoustics" title="Permalink"></a></h2><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.Waveform" href="#KM3io.Waveform"><code>KM3io.Waveform</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct Waveform</code></pre><p>Waveform translates Emitter ID to Tripod ID.</p><p><strong>Fields</strong></p><ul><li><code>ids::Dict{Int8, Int8}</code></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL215">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.read-Tuple{AbstractString, Type{Waveform}}" href="#Base.read-Tuple{AbstractString, Type{Waveform}}"><code>Base.read</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">read( filename::AbstractString, T::Type{Waveform} ) -> Waveform -</code></pre><pre><code class="nohighlight hljs">function read(filename::AbstractString, T::Type{Waveform})</code></pre><p>Reads the waveform ASCII file.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL221">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.AcousticSignal" href="#KM3io.AcousticSignal"><code>KM3io.AcousticSignal</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct AcousticSignal</code></pre><p>AcousticSignal is a custom type with four fields to store all the information inside the raw acoustic binary files.</p><ul><li>dom_id::Int32 ID of the module</li><li>utc_seconds:: UInt32 storing the first 4 Bytes and is a UNIX time stamp</li><li>ns_cycles:: UInt32 storing the second 4 Bytes</li><li>samples:: UInt32 storing the third 4 Bytes, corresponding to the number of data points accuired during the measring window</li><li>pcm:: Vector of Float32 of length frame_length, storing all other 4 Byte blocks. Each entry is a data point of the acoustic signal.</li></ul><p><strong>Fields</strong></p><ul><li><p><code>dom_id::Int32</code></p></li><li><p><code>utc_seconds::UInt32</code></p></li><li><p><code>ns_cycles::UInt32</code></p></li><li><p><code>samples::UInt32</code></p></li><li><p><code>pcm::Vector{Float32}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/acoustics.jl#LL8">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.AcousticsTriggerParameter" href="#KM3io.AcousticsTriggerParameter"><code>KM3io.AcousticsTriggerParameter</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct AcousticsTriggerParameter</code></pre><p>Certain parameters which define an acoustic event.</p><p><strong>Fields</strong></p><ul><li><p><code>q::Float64</code></p></li><li><p><code>tmax::Float64</code></p></li><li><p><code>nmin::Int32</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL242">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.read-Tuple{AbstractString, Type{AcousticsTriggerParameter}}" href="#Base.read-Tuple{AbstractString, Type{AcousticsTriggerParameter}}"><code>Base.read</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">read( +</code></pre><pre><code class="nohighlight hljs">function read(filename::AbstractString, T::Type{Waveform})</code></pre><p>Reads the waveform ASCII file.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL221">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.AcousticSignal" href="#KM3io.AcousticSignal"><code>KM3io.AcousticSignal</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct AcousticSignal</code></pre><p>AcousticSignal is a custom type with four fields to store all the information inside the raw acoustic binary files.</p><ul><li>dom_id::Int32 ID of the module</li><li>utc_seconds:: UInt32 storing the first 4 Bytes and is a UNIX time stamp</li><li>ns_cycles:: UInt32 storing the second 4 Bytes</li><li>samples:: UInt32 storing the third 4 Bytes, corresponding to the number of data points accuired during the measring window</li><li>pcm:: Vector of Float32 of length frame_length, storing all other 4 Byte blocks. Each entry is a data point of the acoustic signal.</li></ul><p><strong>Fields</strong></p><ul><li><p><code>dom_id::Int32</code></p></li><li><p><code>utc_seconds::UInt32</code></p></li><li><p><code>ns_cycles::UInt32</code></p></li><li><p><code>samples::UInt32</code></p></li><li><p><code>pcm::Vector{Float32}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/acoustics.jl#LL8">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.AcousticsTriggerParameter" href="#KM3io.AcousticsTriggerParameter"><code>KM3io.AcousticsTriggerParameter</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct AcousticsTriggerParameter</code></pre><p>Certain parameters which define an acoustic event.</p><p><strong>Fields</strong></p><ul><li><p><code>q::Float64</code></p></li><li><p><code>tmax::Float64</code></p></li><li><p><code>nmin::Int32</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL242">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.read-Tuple{AbstractString, Type{AcousticsTriggerParameter}}" href="#Base.read-Tuple{AbstractString, Type{AcousticsTriggerParameter}}"><code>Base.read</code></a> — <span class="docstring-category">Method</span></header><section><div><pre><code class="language-julia hljs">read( filename::AbstractString, T::Type{AcousticsTriggerParameter} ) -> AcousticsTriggerParameter -</code></pre><pre><code class="nohighlight hljs">function read(filename::AbstractString, T::Type{AcousticsTriggerParameter})</code></pre><p>Reads the 'acoustics<em>trigger</em>parameters.txt' file.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/hardware.jl#LL250">source</a></section></article><h2 id="Calibration"><a class="docs-heading-anchor" href="#Calibration">Calibration</a><a id="Calibration-1"></a><a class="docs-heading-anchor-permalink" href="#Calibration" title="Permalink"></a></h2><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" href="#KM3io.calibrate"><code>KM3io.calibrate</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">calibrate(det::Detector, hits) -> Vector{XCalibratedHit} -</code></pre><p>Apply full geometry and time calibration to given hits. This way of calibration should be used wisely since it creates a very bloaded <a href="#KM3io.XCalibratedHit"><code>XCalibratedHit</code></a> object, which might not be necessary. Often, we only need time the calibration to be applied.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/calibration.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="KM3io.calibratetime" href="#KM3io.calibratetime"><code>KM3io.calibratetime</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">calibratetime( +</code></pre><pre><code class="nohighlight hljs">function read(filename::AbstractString, T::Type{AcousticsTriggerParameter})</code></pre><p>Reads the 'acoustics<em>trigger</em>parameters.txt' file.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/hardware.jl#LL250">source</a></section></article><h2 id="Calibration"><a class="docs-heading-anchor" href="#Calibration">Calibration</a><a id="Calibration-1"></a><a class="docs-heading-anchor-permalink" href="#Calibration" title="Permalink"></a></h2><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" href="#KM3io.calibrate"><code>KM3io.calibrate</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">calibrate(det::Detector, hits) -> Vector{XCalibratedHit} +</code></pre><p>Apply full geometry and time calibration to given hits. This way of calibration should be used wisely since it creates a very bloaded <a href="#KM3io.XCalibratedHit"><code>XCalibratedHit</code></a> object, which might not be necessary. Often, we only need time the calibration to be applied.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/calibration.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="KM3io.calibratetime" href="#KM3io.calibratetime"><code>KM3io.calibratetime</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">calibratetime( det::Detector, hits::Array{T<:SnapshotHit, 1} ) -> Vector{CalibratedSnapshotHit} -</code></pre><p>Calibrate the time of a given array of snapshot hits.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/calibration.jl#LL35">source</a></section><section><div><pre><code class="language-julia hljs">calibratetime( +</code></pre><p>Calibrate the time of a given array of snapshot hits.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/calibration.jl#LL35">source</a></section><section><div><pre><code class="language-julia hljs">calibratetime( det::Detector, hits::Array{T<:TriggeredHit, 1} ) -> Vector{CalibratedTriggeredHit} -</code></pre><p>Calibrate the time of a given array of triggered hits.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/calibration.jl#LL48">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.combine" href="#KM3io.combine"><code>KM3io.combine</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">combine( +</code></pre><p>Calibrate the time of a given array of triggered hits.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/calibration.jl#LL48">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.combine" href="#KM3io.combine"><code>KM3io.combine</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">combine( snapshot_hits::Vector{SnapshotHit}, triggered_hits::Vector{TriggeredHit} ) -> Vector{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/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/calibration.jl#LL61">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.floordist" href="#KM3io.floordist"><code>KM3io.floordist</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">floordist(det::Detector) -> Float64 -</code></pre><p>Calculates the average floor distance between neighboured modules.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/calibration.jl#LL88">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.slew" href="#KM3io.slew"><code>KM3io.slew</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">slew(tot::Integer) -> Any -</code></pre><p>Return the time slewing for a ToT.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/calibration.jl#LL102">source</a></section></article><h2 id="Physics"><a class="docs-heading-anchor" href="#Physics">Physics</a><a id="Physics-1"></a><a class="docs-heading-anchor-permalink" href="#Physics" title="Permalink"></a></h2><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.azimuth" href="#KM3io.azimuth"><code>KM3io.azimuth</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">azimuth(d::Direction) -> Any -</code></pre><p>Calculates the azimuth from a given <a href="#KM3io.Direction"><code>Direction</code></a> according to KM3NeT conventions.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/physics.jl#LL54">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.zenith" href="#KM3io.zenith"><code>KM3io.zenith</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">zenith(d::Direction) -> Any -</code></pre><p>Calculates the zenith from a given <a href="#KM3io.Direction"><code>Direction</code></a> according to KM3NeT conventions.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/physics.jl#LL61">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.phi" href="#KM3io.phi"><code>KM3io.phi</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">phi(d::Direction) -> Any -</code></pre><p>Calculate the phi angle for a given direction</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/physics.jl#LL77">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.theta" href="#KM3io.theta"><code>KM3io.theta</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">theta(d::Direction) -> Any -</code></pre><p>Calculate the theta angle for a given direction</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/physics.jl#LL68">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.cherenkov" href="#KM3io.cherenkov"><code>KM3io.cherenkov</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">cherenkov( +</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/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/calibration.jl#LL61">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.floordist" href="#KM3io.floordist"><code>KM3io.floordist</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">floordist(det::Detector) -> Float64 +</code></pre><p>Calculates the average floor distance between neighboured modules.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/calibration.jl#LL88">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.slew" href="#KM3io.slew"><code>KM3io.slew</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">slew(tot::Integer) -> Any +</code></pre><p>Return the time slewing for a ToT.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/calibration.jl#LL102">source</a></section></article><h2 id="Physics"><a class="docs-heading-anchor" href="#Physics">Physics</a><a id="Physics-1"></a><a class="docs-heading-anchor-permalink" href="#Physics" title="Permalink"></a></h2><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.azimuth" href="#KM3io.azimuth"><code>KM3io.azimuth</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">azimuth(d::Direction) -> Any +</code></pre><p>Calculates the azimuth from a given <a href="#KM3io.Direction"><code>Direction</code></a> according to KM3NeT conventions.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/physics.jl#LL54">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.zenith" href="#KM3io.zenith"><code>KM3io.zenith</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">zenith(d::Direction) -> Any +</code></pre><p>Calculates the zenith from a given <a href="#KM3io.Direction"><code>Direction</code></a> according to KM3NeT conventions.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/physics.jl#LL61">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.phi" href="#KM3io.phi"><code>KM3io.phi</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">phi(d::Direction) -> Any +</code></pre><p>Calculate the phi angle for a given direction</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/physics.jl#LL77">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.theta" href="#KM3io.theta"><code>KM3io.theta</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">theta(d::Direction) -> Any +</code></pre><p>Calculate the theta angle for a given direction</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/physics.jl#LL68">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.cherenkov" href="#KM3io.cherenkov"><code>KM3io.cherenkov</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">cherenkov( track, hits::Array{T<:AbstractCalibratedHit, 1} ) -> Any -</code></pre><p>Calculates the parameters of cherenkov photons emitted from a track and hitting the PMTs represented as (calibrated) hits. The returned cherenkov photons hold information about the closest distance to track, the time residual, arrival time, impact angle, photon travel distance, track travel distance and photon travel direction. See <a href="#KM3io.CherenkovPhoton"><code>CherenkovPhoton</code></a> for more information.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/physics.jl#LL18">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.CherenkovPhoton" href="#KM3io.CherenkovPhoton"><code>KM3io.CherenkovPhoton</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct CherenkovPhoton</code></pre><p>A Cherenkov photon with parameters calculated from its inducing track. See <a href="#KM3io.cherenkov"><code>cherenkov()</code></a> for more information.</p><p><strong>Fields</strong></p><ul><li><p><code>d_closest::Float64</code></p></li><li><p><code>d_photon::Float64</code></p></li><li><p><code>d_track::Float64</code></p></li><li><p><code>t::Float64</code></p></li><li><p><code>Δt::Float64</code></p></li><li><p><code>impact_angle::Float64</code></p></li><li><p><code>dir::Direction{Float64}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/physics.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="KM3io.K40Rates" href="#KM3io.K40Rates"><code>KM3io.K40Rates</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct K40Rates</code></pre><p>K40 rates with L0 and higher level rates (with increasing multiplicities).</p><p><strong>Fields</strong></p><ul><li><p><code>L0::Float64</code></p></li><li><p><code>L1::Vector{Float64}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/physics.jl#LL83">source</a></section></article><h2 id="Trigger"><a class="docs-heading-anchor" href="#Trigger">Trigger</a><a id="Trigger-1"></a><a class="docs-heading-anchor-permalink" href="#Trigger" title="Permalink"></a></h2><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.triggered" href="#KM3io.triggered"><code>KM3io.triggered</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">triggered(e) -> Vector -</code></pre><p>Return <code>true</code> if the passed object (hit, event, ...) was triggered by any trigger algorithm.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/trigger.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="KM3io.is3dmuon" href="#KM3io.is3dmuon"><code>KM3io.is3dmuon</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">is3dmuon(e::DAQEvent) -> Bool -</code></pre><pre><code class="language-julia hljs">is3dmuon(e)</code></pre><p>defined at <a href="https://github.com//tree/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb//src/tools/trigger.jl#L12"><code>/builds/common/KM3io.jl/src/tools/trigger.jl:12</code></a>.</p><p>Return <code>true</code> the 3D Muon trigger bit is set.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/trigger.jl#LL7-L11">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.is3dshower" href="#KM3io.is3dshower"><code>KM3io.is3dshower</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">is3dshower(e::DAQEvent) -> Bool -</code></pre><pre><code class="language-julia hljs">is3dshower(e)</code></pre><p>defined at <a href="https://github.com//tree/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb//src/tools/trigger.jl#L20"><code>/builds/common/KM3io.jl/src/tools/trigger.jl:20</code></a>.</p><p>Return <code>true</code> if the 3D Shower trigger bit is set.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/trigger.jl#LL15-L19">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.ismxshower" href="#KM3io.ismxshower"><code>KM3io.ismxshower</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">ismxshower(x) -> Bool -</code></pre><pre><code class="language-julia hljs">ismxshower(x)</code></pre><p>defined at <a href="https://github.com//tree/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb//src/tools/trigger.jl#L28"><code>/builds/common/KM3io.jl/src/tools/trigger.jl:28</code></a>.</p><pre><code class="language-julia hljs">ismxshower(e)</code></pre><p>defined at <a href="https://github.com//tree/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb//src/tools/trigger.jl#L29"><code>/builds/common/KM3io.jl/src/tools/trigger.jl:29</code></a>.</p><p>Return <code>true</code> if the MX Shower trigger bit is set.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/trigger.jl#LL23-L27">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.isnb" href="#KM3io.isnb"><code>KM3io.isnb</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">isnb(x) -> Bool -</code></pre><pre><code class="language-julia hljs">isnb(x)</code></pre><p>defined at <a href="https://github.com//tree/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb//src/tools/trigger.jl#L36"><code>/builds/common/KM3io.jl/src/tools/trigger.jl:36</code></a>.</p><pre><code class="language-julia hljs">isnb(e)</code></pre><p>defined at <a href="https://github.com//tree/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb//src/tools/trigger.jl#L37"><code>/builds/common/KM3io.jl/src/tools/trigger.jl:37</code></a>.</p><p>Return <code>true</code> if the NanoBeacon trigger bit is set.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/trigger.jl#LL31-L35">source</a></section></article><h2 id="ControlHost"><a class="docs-heading-anchor" href="#ControlHost">ControlHost</a><a id="ControlHost-1"></a><a class="docs-heading-anchor-permalink" href="#ControlHost" title="Permalink"></a></h2><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.CHClient" href="#KM3io.CHClient"><code>KM3io.CHClient</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct CHClient{T}</code></pre><p>A ControlHost client which can communicate with a Ligier dispatcher to receive messages for all the subscribed tags.</p><p>To connect to a Ligier which is receiving triggered DAQ events e.g. in the KM3NeT monitoring system or in a test setup consisting of a <a href="https://common.pages.km3net.de/jpp/#JLigier">JLigier</a> dispatcher and a <a href="https://common.pages.km3net.de/jpp/#JRegurgitate">JRegurgitate</a> instance which is redispatching DAQ events (<code>JDAQEvent</code>) from a ROOT file in online format to the <code>JLigier</code>, a <code>CHClient</code> can be created to subscribe the event messages with</p><pre><code class="language-julia-repl hljs">julia> using KM3io +</code></pre><p>Calculates the parameters of cherenkov photons emitted from a track and hitting the PMTs represented as (calibrated) hits. The returned cherenkov photons hold information about the closest distance to track, the time residual, arrival time, impact angle, photon travel distance, track travel distance and photon travel direction. See <a href="#KM3io.CherenkovPhoton"><code>CherenkovPhoton</code></a> for more information.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/physics.jl#LL18">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.CherenkovPhoton" href="#KM3io.CherenkovPhoton"><code>KM3io.CherenkovPhoton</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct CherenkovPhoton</code></pre><p>A Cherenkov photon with parameters calculated from its inducing track. See <a href="#KM3io.cherenkov"><code>cherenkov()</code></a> for more information.</p><p><strong>Fields</strong></p><ul><li><p><code>d_closest::Float64</code></p></li><li><p><code>d_photon::Float64</code></p></li><li><p><code>d_track::Float64</code></p></li><li><p><code>t::Float64</code></p></li><li><p><code>Δt::Float64</code></p></li><li><p><code>impact_angle::Float64</code></p></li><li><p><code>dir::Direction{Float64}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/physics.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="KM3io.K40Rates" href="#KM3io.K40Rates"><code>KM3io.K40Rates</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct K40Rates</code></pre><p>K40 rates with L0 and higher level rates (with increasing multiplicities).</p><p><strong>Fields</strong></p><ul><li><p><code>L0::Float64</code></p></li><li><p><code>L1::Vector{Float64}</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/physics.jl#LL83">source</a></section></article><h2 id="Trigger"><a class="docs-heading-anchor" href="#Trigger">Trigger</a><a id="Trigger-1"></a><a class="docs-heading-anchor-permalink" href="#Trigger" title="Permalink"></a></h2><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.triggered" href="#KM3io.triggered"><code>KM3io.triggered</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">triggered(e) -> Vector +</code></pre><p>Return <code>true</code> if the passed object (hit, event, ...) was triggered by any trigger algorithm.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/trigger.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="KM3io.is3dmuon" href="#KM3io.is3dmuon"><code>KM3io.is3dmuon</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">is3dmuon(e::DAQEvent) -> Bool +</code></pre><pre><code class="language-julia hljs">is3dmuon(e)</code></pre><p>defined at <a href="https://github.com//tree/af58ad1458957de6f9a16df432fd0e16255dfa66//src/tools/trigger.jl#L12"><code>/builds/common/KM3io.jl/src/tools/trigger.jl:12</code></a>.</p><p>Return <code>true</code> the 3D Muon trigger bit is set.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/trigger.jl#LL7-L11">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.is3dshower" href="#KM3io.is3dshower"><code>KM3io.is3dshower</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">is3dshower(e::DAQEvent) -> Bool +</code></pre><pre><code class="language-julia hljs">is3dshower(e)</code></pre><p>defined at <a href="https://github.com//tree/af58ad1458957de6f9a16df432fd0e16255dfa66//src/tools/trigger.jl#L20"><code>/builds/common/KM3io.jl/src/tools/trigger.jl:20</code></a>.</p><p>Return <code>true</code> if the 3D Shower trigger bit is set.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/trigger.jl#LL15-L19">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.ismxshower" href="#KM3io.ismxshower"><code>KM3io.ismxshower</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">ismxshower(x) -> Bool +</code></pre><pre><code class="language-julia hljs">ismxshower(x)</code></pre><p>defined at <a href="https://github.com//tree/af58ad1458957de6f9a16df432fd0e16255dfa66//src/tools/trigger.jl#L28"><code>/builds/common/KM3io.jl/src/tools/trigger.jl:28</code></a>.</p><pre><code class="language-julia hljs">ismxshower(e)</code></pre><p>defined at <a href="https://github.com//tree/af58ad1458957de6f9a16df432fd0e16255dfa66//src/tools/trigger.jl#L29"><code>/builds/common/KM3io.jl/src/tools/trigger.jl:29</code></a>.</p><p>Return <code>true</code> if the MX Shower trigger bit is set.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/trigger.jl#LL23-L27">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.isnb" href="#KM3io.isnb"><code>KM3io.isnb</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">isnb(x) -> Bool +</code></pre><pre><code class="language-julia hljs">isnb(x)</code></pre><p>defined at <a href="https://github.com//tree/af58ad1458957de6f9a16df432fd0e16255dfa66//src/tools/trigger.jl#L36"><code>/builds/common/KM3io.jl/src/tools/trigger.jl:36</code></a>.</p><pre><code class="language-julia hljs">isnb(e)</code></pre><p>defined at <a href="https://github.com//tree/af58ad1458957de6f9a16df432fd0e16255dfa66//src/tools/trigger.jl#L37"><code>/builds/common/KM3io.jl/src/tools/trigger.jl:37</code></a>.</p><p>Return <code>true</code> if the NanoBeacon trigger bit is set.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/trigger.jl#LL31-L35">source</a></section></article><h2 id="ControlHost"><a class="docs-heading-anchor" href="#ControlHost">ControlHost</a><a id="ControlHost-1"></a><a class="docs-heading-anchor-permalink" href="#ControlHost" title="Permalink"></a></h2><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.CHClient" href="#KM3io.CHClient"><code>KM3io.CHClient</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct CHClient{T}</code></pre><p>A ControlHost client which can communicate with a Ligier dispatcher to receive messages for all the subscribed tags.</p><p>To connect to a Ligier which is receiving triggered DAQ events e.g. in the KM3NeT monitoring system or in a test setup consisting of a <a href="https://common.pages.km3net.de/jpp/#JLigier">JLigier</a> dispatcher and a <a href="https://common.pages.km3net.de/jpp/#JRegurgitate">JRegurgitate</a> instance which is redispatching DAQ events (<code>JDAQEvent</code>) from a ROOT file in online format to the <code>JLigier</code>, a <code>CHClient</code> can be created to subscribe the event messages with</p><pre><code class="language-julia-repl hljs">julia> using KM3io julia> c = CHClient{DAQEvent}(ip"127.0.0.1", 5553) @@ -98,7 +98,7 @@ e = KM3io.DAQEvent with 154 snapshot and 8 triggered hits e = KM3io.DAQEvent with 152 snapshot and 6 triggered hits ... ... -...</code></pre><p><strong>Fields</strong></p><ul><li><p><code>ip::Sockets.IPv4</code></p></li><li><p><code>port::UInt16</code></p></li><li><p><code>tags::Vector{CHTag}</code></p></li><li><p><code>socket::Sockets.TCPSocket</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/controlhost.jl#LL57">source</a></section></article><h2 id="Tools"><a class="docs-heading-anchor" href="#Tools">Tools</a><a id="Tools-1"></a><a class="docs-heading-anchor-permalink" href="#Tools" title="Permalink"></a></h2><h3 id="General-tools"><a class="docs-heading-anchor" href="#General-tools">General tools</a><a id="General-tools-1"></a><a class="docs-heading-anchor-permalink" href="#General-tools" title="Permalink"></a></h3><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.categorize" href="#KM3io.categorize"><code>KM3io.categorize</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">categorize(field::Symbol, elements::Vector) -> Dict +...</code></pre><p><strong>Fields</strong></p><ul><li><p><code>ip::Sockets.IPv4</code></p></li><li><p><code>port::UInt16</code></p></li><li><p><code>tags::Vector{CHTag}</code></p></li><li><p><code>socket::Sockets.TCPSocket</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/controlhost.jl#LL57">source</a></section></article><h2 id="Tools"><a class="docs-heading-anchor" href="#Tools">Tools</a><a id="Tools-1"></a><a class="docs-heading-anchor-permalink" href="#Tools" title="Permalink"></a></h2><h3 id="General-tools"><a class="docs-heading-anchor" href="#General-tools">General tools</a><a id="General-tools-1"></a><a class="docs-heading-anchor-permalink" href="#General-tools" title="Permalink"></a></h3><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.categorize" href="#KM3io.categorize"><code>KM3io.categorize</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">categorize(field::Symbol, elements::Vector) -> Dict </code></pre><p>Categorise the struct elements of a vector by a given field into a dictionary of <code>T.field => Vector{T}</code>.</p><p><strong>Examples</strong></p><pre><code class="nohighlight hljs">julia> using KM3io julia> struct PMT # just an ad-hoc PMT struct for demonstration purposes @@ -111,41 +111,41 @@ julia> pmts = [PMT(2, 10.4), PMT(4, 23.5), PMT(2, 42.0)]; julia> categorize(:dom_id, pmts) Dict{Any, Vector{PMT}} with 2 entries: 4 => [PMT(4, 23.5)] - 2 => [PMT(2, 10.4), PMT(2, 42.0)]</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/general.jl#LL56">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.nthbitset" href="#KM3io.nthbitset"><code>KM3io.nthbitset</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">nthbitset(n, a) -> Any -</code></pre><p>Return <code>true</code> if the n-th bit of <code>a</code> is set, <code>false</code> otherwise.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/general.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="KM3io.most_frequent" href="#KM3io.most_frequent"><code>KM3io.most_frequent</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">most_frequent(iterable) -> Any -</code></pre><p>Return the most frequent value of a given iterable.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/general.jl#LL7">source</a></section><section><div><pre><code class="language-julia hljs">most_frequent(f::Function, iterable; rettype) -> Int64 -</code></pre><p>Return the most frequent value of a given iterable based on the return value of a function <code>f</code> which returns (hashable) values of <code>rettype</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/general.jl#LL30">source</a></section></article><h3 id="DAQ"><a class="docs-heading-anchor" href="#DAQ">DAQ</a><a id="DAQ-1"></a><a class="docs-heading-anchor-permalink" href="#DAQ" title="Permalink"></a></h3><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.pmtrate" href="#KM3io.pmtrate"><code>KM3io.pmtrate</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">pmtrate(r::UInt8) -> Float64 -</code></pre><p>Calculate the PMT hit rate from the raw byte stored in a summary frame.</p><p>The rate of each PMT is encoded in a single byte to reduce the size of the summary frame, therefore only 256 values are possible which are mapped to an exponential function. The values are precalculated by the <code>_getrate()</code> function for the best performance.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/daq.jl#LL6">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.pmtrates" href="#KM3io.pmtrates"><code>KM3io.pmtrates</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">pmtrates( + 2 => [PMT(2, 10.4), PMT(2, 42.0)]</code></pre></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/general.jl#LL56">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.nthbitset" href="#KM3io.nthbitset"><code>KM3io.nthbitset</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">nthbitset(n, a) -> Any +</code></pre><p>Return <code>true</code> if the n-th bit of <code>a</code> is set, <code>false</code> otherwise.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/general.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="KM3io.most_frequent" href="#KM3io.most_frequent"><code>KM3io.most_frequent</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">most_frequent(iterable) -> Any +</code></pre><p>Return the most frequent value of a given iterable.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/general.jl#LL7">source</a></section><section><div><pre><code class="language-julia hljs">most_frequent(f::Function, iterable; rettype) -> Int64 +</code></pre><p>Return the most frequent value of a given iterable based on the return value of a function <code>f</code> which returns (hashable) values of <code>rettype</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/general.jl#LL30">source</a></section></article><h3 id="DAQ"><a class="docs-heading-anchor" href="#DAQ">DAQ</a><a id="DAQ-1"></a><a class="docs-heading-anchor-permalink" href="#DAQ" title="Permalink"></a></h3><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.pmtrate" href="#KM3io.pmtrate"><code>KM3io.pmtrate</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">pmtrate(r::UInt8) -> Float64 +</code></pre><p>Calculate the PMT hit rate from the raw byte stored in a summary frame.</p><p>The rate of each PMT is encoded in a single byte to reduce the size of the summary frame, therefore only 256 values are possible which are mapped to an exponential function. The values are precalculated by the <code>_getrate()</code> function for the best performance.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/daq.jl#LL6">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.pmtrates" href="#KM3io.pmtrates"><code>KM3io.pmtrates</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">pmtrates( s::SummaryFrame ) -> StaticArraysCore.SVector{31, Float64} -</code></pre><p>Return the actual rates (in Hz) for each PMT in a summary frame.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/daq.jl#LL19">source</a></section><section><div><pre><code class="language-julia hljs">pmtrates( +</code></pre><p>Return the actual rates (in Hz) for each PMT in a summary frame.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/daq.jl#LL19">source</a></section><section><div><pre><code class="language-julia hljs">pmtrates( s::Summaryslice ) -> Dict{Int32, StaticArraysCore.SVector{31, Float64}} -</code></pre><p>Return a dictionary of DOM IDs as keys and PMT rates [Hz] as values (<code>Vector{Float64}</code>).</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/daq.jl#LL26">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.hrvstatus" href="#KM3io.hrvstatus"><code>KM3io.hrvstatus</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">hrvstatus(f::SummaryFrame, tdc) -> Any -</code></pre><p>Return <code>true</code> if the TDC is in high rate veto.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/daq.jl#LL35">source</a></section><section><div><pre><code class="language-julia hljs">hrvstatus(f::SummaryFrame) -> Bool -</code></pre><p>Return <code>true</code> if any of the TDCs is in high rate veto.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/daq.jl#LL42">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.fifostatus" href="#KM3io.fifostatus"><code>KM3io.fifostatus</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">fifostatus(f::SummaryFrame, tdc) -> Any -</code></pre><p>Return <code>true</code> if the TDC has FIFO almost full.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/daq.jl#LL63">source</a></section><section><div><pre><code class="language-julia hljs">fifostatus(f::SummaryFrame) -> Bool -</code></pre><p>Return <code>true</code> if any of the TDCs is in high rate veto.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/daq.jl#LL70">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.tdcstatus" href="#KM3io.tdcstatus"><code>KM3io.tdcstatus</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">tdcstatus(f::SummaryFrame) -> Bool -</code></pre><p>Return <code>true</code> if TDC status is OK.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/daq.jl#LL49">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.wrstatus" href="#KM3io.wrstatus"><code>KM3io.wrstatus</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">wrstatus(f::SummaryFrame) -> Bool -</code></pre><p>Return <code>true</code> if White Rabbit status is OK.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/daq.jl#LL56">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.hasudptrailer" href="#KM3io.hasudptrailer"><code>KM3io.hasudptrailer</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">hasudptrailer(f::SummaryFrame) -> Bool -</code></pre><p>Return <code>true</code> if the UDP trailer is present.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/daq.jl#LL77">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.count_active_channels" href="#KM3io.count_active_channels"><code>KM3io.count_active_channels</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">count_active_channels(f::SummaryFrame) -> Int64 -</code></pre><p>Number of TDCs without high rate veto or FIFO almost full.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/daq.jl#LL84">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.count_fifostatus" href="#KM3io.count_fifostatus"><code>KM3io.count_fifostatus</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">count_fifostatus(f::SummaryFrame) -> Int64 -</code></pre><p>Number of TDCs with FIFO almost full.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/daq.jl#LL100">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.count_hrvstatus" href="#KM3io.count_hrvstatus"><code>KM3io.count_hrvstatus</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">count_hrvstatus(f::SummaryFrame) -> Int64 -</code></pre><p>Number of TDCs with high rate veto.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/daq.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="KM3io.status" href="#KM3io.status"><code>KM3io.status</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">status(f::SummaryFrame) -> Bool -</code></pre><p>Return <code>true</code> if TDC and White Rabbit status are OK.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/daq.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="KM3io.number_of_udp_packets_received" href="#KM3io.number_of_udp_packets_received"><code>KM3io.number_of_udp_packets_received</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">number_of_udp_packets_received(f::SummaryFrame) -> Int32 -</code></pre><p>Number of received UDP packets (excluding the trailer).</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/daq.jl#LL147">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.maximal_udp_sequence_number" href="#KM3io.maximal_udp_sequence_number"><code>KM3io.maximal_udp_sequence_number</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">maximal_udp_sequence_number(f::SummaryFrame) -> Int32 -</code></pre><p>Maximal sequence number of all received UDP packets.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/daq.jl#LL140">source</a></section></article><h3 id="Reconstruction"><a class="docs-heading-anchor" href="#Reconstruction">Reconstruction</a><a id="Reconstruction-1"></a><a class="docs-heading-anchor-permalink" href="#Reconstruction" title="Permalink"></a></h3><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.besttrack" href="#KM3io.besttrack"><code>KM3io.besttrack</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">besttrack( +</code></pre><p>Return a dictionary of DOM IDs as keys and PMT rates [Hz] as values (<code>Vector{Float64}</code>).</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/daq.jl#LL26">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.hrvstatus" href="#KM3io.hrvstatus"><code>KM3io.hrvstatus</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">hrvstatus(f::SummaryFrame, tdc) -> Any +</code></pre><p>Return <code>true</code> if the TDC is in high rate veto.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/daq.jl#LL35">source</a></section><section><div><pre><code class="language-julia hljs">hrvstatus(f::SummaryFrame) -> Bool +</code></pre><p>Return <code>true</code> if any of the TDCs is in high rate veto.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/daq.jl#LL42">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.fifostatus" href="#KM3io.fifostatus"><code>KM3io.fifostatus</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">fifostatus(f::SummaryFrame, tdc) -> Any +</code></pre><p>Return <code>true</code> if the TDC has FIFO almost full.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/daq.jl#LL63">source</a></section><section><div><pre><code class="language-julia hljs">fifostatus(f::SummaryFrame) -> Bool +</code></pre><p>Return <code>true</code> if any of the TDCs is in high rate veto.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/daq.jl#LL70">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.tdcstatus" href="#KM3io.tdcstatus"><code>KM3io.tdcstatus</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">tdcstatus(f::SummaryFrame) -> Bool +</code></pre><p>Return <code>true</code> if TDC status is OK.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/daq.jl#LL49">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.wrstatus" href="#KM3io.wrstatus"><code>KM3io.wrstatus</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">wrstatus(f::SummaryFrame) -> Bool +</code></pre><p>Return <code>true</code> if White Rabbit status is OK.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/daq.jl#LL56">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.hasudptrailer" href="#KM3io.hasudptrailer"><code>KM3io.hasudptrailer</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">hasudptrailer(f::SummaryFrame) -> Bool +</code></pre><p>Return <code>true</code> if the UDP trailer is present.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/daq.jl#LL77">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.count_active_channels" href="#KM3io.count_active_channels"><code>KM3io.count_active_channels</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">count_active_channels(f::SummaryFrame) -> Int64 +</code></pre><p>Number of TDCs without high rate veto or FIFO almost full.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/daq.jl#LL84">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.count_fifostatus" href="#KM3io.count_fifostatus"><code>KM3io.count_fifostatus</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">count_fifostatus(f::SummaryFrame) -> Int64 +</code></pre><p>Number of TDCs with FIFO almost full.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/daq.jl#LL100">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.count_hrvstatus" href="#KM3io.count_hrvstatus"><code>KM3io.count_hrvstatus</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">count_hrvstatus(f::SummaryFrame) -> Int64 +</code></pre><p>Number of TDCs with high rate veto.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/daq.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="KM3io.status" href="#KM3io.status"><code>KM3io.status</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">status(f::SummaryFrame) -> Bool +</code></pre><p>Return <code>true</code> if TDC and White Rabbit status are OK.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/daq.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="KM3io.number_of_udp_packets_received" href="#KM3io.number_of_udp_packets_received"><code>KM3io.number_of_udp_packets_received</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">number_of_udp_packets_received(f::SummaryFrame) -> Int32 +</code></pre><p>Number of received UDP packets (excluding the trailer).</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/daq.jl#LL147">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.maximal_udp_sequence_number" href="#KM3io.maximal_udp_sequence_number"><code>KM3io.maximal_udp_sequence_number</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">maximal_udp_sequence_number(f::SummaryFrame) -> Int32 +</code></pre><p>Maximal sequence number of all received UDP packets.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/daq.jl#LL140">source</a></section></article><h3 id="Reconstruction"><a class="docs-heading-anchor" href="#Reconstruction">Reconstruction</a><a id="Reconstruction-1"></a><a class="docs-heading-anchor-permalink" href="#Reconstruction" title="Permalink"></a></h3><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.besttrack" href="#KM3io.besttrack"><code>KM3io.besttrack</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">besttrack( e::Evt, rec_type::Integer, rsr::RecStageRange ) -> Union{Missing, Trk} -</code></pre><p>Return the best reconstructed track for a given reconstruction type and reconstruction stage range. If no track could be found, <code>missing</code> is returned.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/reconstruction.jl#LL69">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.bestjppmuon" href="#KM3io.bestjppmuon"><code>KM3io.bestjppmuon</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">bestjppmuon(e::Evt) -> Union{Missing, Trk} -</code></pre><p>Returns the best reconstructed JMuon track of an event or <code>missing</code> if there are none.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/reconstruction.jl#LL89">source</a></section><section><div><pre><code class="language-julia hljs">bestjppmuon(trks::Vector{Trk}) -> Union{Missing, Trk} -</code></pre><p>Returns the best reconstructed JMuon track or <code>missing</code> if there are none.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/reconstruction.jl#LL93">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.bestjppshower" href="#KM3io.bestjppshower"><code>KM3io.bestjppshower</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">bestjppshower(e::Evt) -> Union{Missing, Trk} -</code></pre><p>Returns the best reconstructed JShower "track" of an event or <code>missing</code> if there are none.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/reconstruction.jl#LL97">source</a></section><section><div><pre><code class="language-julia hljs">bestjppshower(trks::Vector{Trk}) -> Union{Missing, Trk} -</code></pre><p>Returns the best reconstructed JShower "track" or <code>missing</code> if there are none.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/reconstruction.jl#LL101">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.bestaashower" href="#KM3io.bestaashower"><code>KM3io.bestaashower</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">bestaashower(e::Evt) -> Union{Missing, Trk} -</code></pre><p>Returns the best reconstructed aashower "track" of an event or <code>missing</code> if there are none.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/reconstruction.jl#LL105">source</a></section><section><div><pre><code class="language-julia hljs">bestaashower(trks::Vector{Trk}) -> Union{Missing, Trk} -</code></pre><p>Returns the best reconstructed aashower "track" or <code>missing</code> if there are none.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/reconstruction.jl#LL109">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.RecStageRange" href="#KM3io.RecStageRange"><code>KM3io.RecStageRange</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct RecStageRange{T<:Integer}</code></pre><p>This struct is used to represent a range of reconstruction stages. These are well-defined integers (see <a href="https://git.km3net.de/common/km3net-dataformat/-/blob/master/definitions/reconstruction.csv">KM3NeT Dataformat</a>) for each reconstruction algorithm and are stored in a vector named <code>rec_stages</code> of each <a href="#KM3io.Trk"><code>Trk</code></a>.</p><pre><code class="language-julia-repl hljs">julia> using KM3io +</code></pre><p>Return the best reconstructed track for a given reconstruction type and reconstruction stage range. If no track could be found, <code>missing</code> is returned.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/reconstruction.jl#LL69">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.bestjppmuon" href="#KM3io.bestjppmuon"><code>KM3io.bestjppmuon</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">bestjppmuon(e::Evt) -> Union{Missing, Trk} +</code></pre><p>Returns the best reconstructed JMuon track of an event or <code>missing</code> if there are none.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/reconstruction.jl#LL89">source</a></section><section><div><pre><code class="language-julia hljs">bestjppmuon(trks::Vector{Trk}) -> Union{Missing, Trk} +</code></pre><p>Returns the best reconstructed JMuon track or <code>missing</code> if there are none.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/reconstruction.jl#LL93">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.bestjppshower" href="#KM3io.bestjppshower"><code>KM3io.bestjppshower</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">bestjppshower(e::Evt) -> Union{Missing, Trk} +</code></pre><p>Returns the best reconstructed JShower "track" of an event or <code>missing</code> if there are none.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/reconstruction.jl#LL97">source</a></section><section><div><pre><code class="language-julia hljs">bestjppshower(trks::Vector{Trk}) -> Union{Missing, Trk} +</code></pre><p>Returns the best reconstructed JShower "track" or <code>missing</code> if there are none.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/reconstruction.jl#LL101">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.bestaashower" href="#KM3io.bestaashower"><code>KM3io.bestaashower</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">bestaashower(e::Evt) -> Union{Missing, Trk} +</code></pre><p>Returns the best reconstructed aashower "track" of an event or <code>missing</code> if there are none.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/reconstruction.jl#LL105">source</a></section><section><div><pre><code class="language-julia hljs">bestaashower(trks::Vector{Trk}) -> Union{Missing, Trk} +</code></pre><p>Returns the best reconstructed aashower "track" or <code>missing</code> if there are none.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/reconstruction.jl#LL109">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.RecStageRange" href="#KM3io.RecStageRange"><code>KM3io.RecStageRange</code></a> — <span class="docstring-category">Type</span></header><section><div><pre><code class="language-julia hljs">struct RecStageRange{T<:Integer}</code></pre><p>This struct is used to represent a range of reconstruction stages. These are well-defined integers (see <a href="https://git.km3net.de/common/km3net-dataformat/-/blob/master/definitions/reconstruction.csv">KM3NeT Dataformat</a>) for each reconstruction algorithm and are stored in a vector named <code>rec_stages</code> of each <a href="#KM3io.Trk"><code>Trk</code></a>.</p><pre><code class="language-julia-repl hljs">julia> using KM3io julia> rsr = RecStageRange(KM3io.RECONSTRUCTION.JMUONBEGIN, KM3io.RECONSTRUCTION.JMUONEND) RecStageRange{Int64}(0, 99) @@ -160,16 +160,16 @@ julia> 23 ∈ rsr true julia> 523 ∈ rsr -false</code></pre><p><strong>Fields</strong></p><ul><li><p><code>lower::Integer</code></p></li><li><p><code>upper::Integer</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/reconstruction.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="KM3io.hashistory" href="#KM3io.hashistory"><code>KM3io.hashistory</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">hashistory( +false</code></pre><p><strong>Fields</strong></p><ul><li><p><code>lower::Integer</code></p></li><li><p><code>upper::Integer</code></p></li></ul></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/reconstruction.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="KM3io.hashistory" href="#KM3io.hashistory"><code>KM3io.hashistory</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">hashistory( t::Trk, rec_type::Integer, rsr::RecStageRange ) -> Bool -</code></pre><p>Returns <code>true</code> if a track with a given <code>rec_type</code> contains all the reconstruction stages in <code>rsr::RecStageRange</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/reconstruction.jl#LL34">source</a></section><section><div><pre><code class="language-julia hljs">hashistory( +</code></pre><p>Returns <code>true</code> if a track with a given <code>rec_type</code> contains all the reconstruction stages in <code>rsr::RecStageRange</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/reconstruction.jl#LL34">source</a></section><section><div><pre><code class="language-julia hljs">hashistory( t::Trk, rec_type::Integer, rec_stage::Integer ) -> Bool -</code></pre><p>Returns <code>true</code> if a track with a given <code>rec_type</code> contains the <code>rec_stage</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/reconstruction.jl#LL45">source</a></section></article><h3 id="Math"><a class="docs-heading-anchor" href="#Math">Math</a><a id="Math-1"></a><a class="docs-heading-anchor-permalink" href="#Math" title="Permalink"></a></h3><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.angle" href="#Base.angle"><code>Base.angle</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">angle(d1::Direction, d2::Direction) -> Any -</code></pre><p>Calculate the angle between two vectors.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/math.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="KM3io.distance" href="#KM3io.distance"><code>KM3io.distance</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">distance(a::Position, b::Position) -> Any -</code></pre><p>Calculates the disance between two points.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/dd2f9cac6b107eccf9a2434b0534c2d576f1abfb/src/tools/math.jl#LL9">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../examples/hdf5/">« HDF5</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="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.3.0 on <span class="colophon-date" title="Wednesday 20 March 2024 10:03">Wednesday 20 March 2024</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> +</code></pre><p>Returns <code>true</code> if a track with a given <code>rec_type</code> contains the <code>rec_stage</code>.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/reconstruction.jl#LL45">source</a></section></article><h3 id="Math"><a class="docs-heading-anchor" href="#Math">Math</a><a id="Math-1"></a><a class="docs-heading-anchor-permalink" href="#Math" title="Permalink"></a></h3><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.angle" href="#Base.angle"><code>Base.angle</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">angle(d1::Direction, d2::Direction) -> Any +</code></pre><p>Calculate the angle between two vectors.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/math.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="KM3io.distance" href="#KM3io.distance"><code>KM3io.distance</code></a> — <span class="docstring-category">Function</span></header><section><div><pre><code class="language-julia hljs">distance(a::Position, b::Position) -> Any +</code></pre><p>Calculates the disance between two points.</p></div><a class="docs-sourcelink" target="_blank" href="https://git.km3net.de/common/KM3io.jl/blob/af58ad1458957de6f9a16df432fd0e16255dfa66/src/tools/math.jl#LL9">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../examples/hdf5/">« HDF5</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="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.3.0 on <span class="colophon-date" title="Wednesday 20 March 2024 10:04">Wednesday 20 March 2024</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> diff --git a/dev/examples/cherenkov.pdf b/dev/examples/cherenkov.pdf index 04d2e1f9bab1321da056d0a9c3ffe2e974cd61ba..fa38274292d660923832e839671dcfbb659e8d0a 100644 GIT binary patch delta 105 zcmZ2;pK;B7#tnBfnN17~CqKxP0@0iQW^Q6}bFpwWGIVt@a5Xh|GInt>v~aaFH8poO bbaFOvbv3kfv{SGltR!~wMs~T$!uc}+>L?zd delta 105 zcmZ2;pK;B7#tnBfnT-w2CqKxP0@0iQW^Q6}b8~SsGIKSxFmW<8bagg0u(WhDw{UcE bb+oiFcQY_DwNtPmtR!~wMs~T$!uc}+>&YID diff --git a/dev/examples/cherenkov_times/index.html b/dev/examples/cherenkov_times/index.html index 52177cbd..d782b876 100644 --- a/dev/examples/cherenkov_times/index.html +++ b/dev/examples/cherenkov_times/index.html @@ -40,4 +40,4 @@ axis = @pgf Axis( }, PlotInc(Coordinates(bincenters(Δts), bincounts(Δts)), raw"\closedcycle") ) -axis</code></pre><p><a href="../cherenkov.pdf">[.pdf]</a>, <a href="../cherenkov.tex">[generated .tex]</a></p><p><img src="../cherenkov.svg" alt/></p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../offline_data/">« Offline data</a><a class="docs-footer-nextpage" href="../controlhost/">Accessing Live Data »</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="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.3.0 on <span class="colophon-date" title="Wednesday 20 March 2024 10:03">Wednesday 20 March 2024</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> +axis</code></pre><p><a href="../cherenkov.pdf">[.pdf]</a>, <a href="../cherenkov.tex">[generated .tex]</a></p><p><img src="../cherenkov.svg" alt/></p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../offline_data/">« Offline data</a><a class="docs-footer-nextpage" href="../controlhost/">Accessing Live Data »</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="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.3.0 on <span class="colophon-date" title="Wednesday 20 March 2024 10:04">Wednesday 20 March 2024</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> diff --git a/dev/examples/controlhost/index.html b/dev/examples/controlhost/index.html index 07223cbd..e6cb6700 100644 --- a/dev/examples/controlhost/index.html +++ b/dev/examples/controlhost/index.html @@ -31,4 +31,4 @@ e = DAQEvent with 149 snapshot and 6 triggered hits e = DAQEvent with 136 snapshot and 6 triggered hits ... ... -...</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../cherenkov_times/">« Cherenkov times</a><a class="docs-footer-nextpage" href="../hdf5/">HDF5 »</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="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.3.0 on <span class="colophon-date" title="Wednesday 20 March 2024 10:03">Wednesday 20 March 2024</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> +...</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../cherenkov_times/">« Cherenkov times</a><a class="docs-footer-nextpage" href="../hdf5/">HDF5 »</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="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.3.0 on <span class="colophon-date" title="Wednesday 20 March 2024 10:04">Wednesday 20 March 2024</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> diff --git a/dev/examples/foo.h5 b/dev/examples/foo.h5 index 398cf9b69f2674a14bb794ed1e83ebc28ef4ec7e..fd13b356af3f3bae903e9c4bc02af5f6b4f56d8a 100644 GIT binary patch delta 21 dcmcaua<ODXIy0mB<_zW-R>rBDk8<=F0svz22rmEt delta 21 ccmcaua<ODXIy0l$<_zW-R>sWDM>%>70b$(;0ssI2 diff --git a/dev/examples/hdf5/index.html b/dev/examples/hdf5/index.html index f42ae2e6..64567bd6 100644 --- a/dev/examples/hdf5/index.html +++ b/dev/examples/hdf5/index.html @@ -4,11 +4,11 @@ using Random Random.seed!(23) # to make things reproducible ;) -f = H5File("foo.h5", "w")</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">H5File(HDF5.File: (read-write) foo.h5, Dict{String, H5CompoundDataset}(), ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (8, 140034499131936, 140024981861312)))</code></pre><p>We now have an <code>H5File</code> instance which we can use to store datasets.</p><p>Let's say we have our custom data type (<code>struct</code>) like</p><pre><code class="language-julia hljs">struct Particle +f = H5File("foo.h5", "w")</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">H5File(HDF5.File: (read-write) foo.h5, Dict{String, H5CompoundDataset}(), ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (0, 139798621683480, 141733920768)))</code></pre><p>We now have an <code>H5File</code> instance which we can use to store datasets.</p><p>Let's say we have our custom data type (<code>struct</code>) like</p><pre><code class="language-julia hljs">struct Particle x::Float32 y::Float32 E::Int64 -end</code></pre><p>and we generate instances of <code>Particle</code> in a loop which we want to dump directly into an HDF5 file to the dataset stored at <code>simulation/particles</code>, meaning that <code>simulation</code> is the group name and <code>particles</code> the dataset name.</p><h2 id="Creating-datasets"><a class="docs-heading-anchor" href="#Creating-datasets">Creating datasets</a><a id="Creating-datasets-1"></a><a class="docs-heading-anchor-permalink" href="#Creating-datasets" title="Permalink"></a></h2><p>First, we create our dataset with our type <code>Particle</code>. This is a so called <code>H5CompoundDataset</code> and resembles a dataset wich has a compound type (<code>struct</code>) associated with it:</p><pre><code class="language-julia hljs">dset = create_dataset(f, "simulation/particles", Particle)</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">H5CompoundDataset{Main.Particle}(HDF5.Dataset: /simulation/particles (file: foo.h5 xfer_mode: 0), KM3io.H5CompoundDatasetCache{Main.Particle}(Main.Particle[], 10000), ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (8, 140034499131936, 140024981861312)))</code></pre><p>We fill some random particles using the dummy loop:</p><pre><code class="language-julia hljs">for i in 1:1000 +end</code></pre><p>and we generate instances of <code>Particle</code> in a loop which we want to dump directly into an HDF5 file to the dataset stored at <code>simulation/particles</code>, meaning that <code>simulation</code> is the group name and <code>particles</code> the dataset name.</p><h2 id="Creating-datasets"><a class="docs-heading-anchor" href="#Creating-datasets">Creating datasets</a><a id="Creating-datasets-1"></a><a class="docs-heading-anchor-permalink" href="#Creating-datasets" title="Permalink"></a></h2><p>First, we create our dataset with our type <code>Particle</code>. This is a so called <code>H5CompoundDataset</code> and resembles a dataset wich has a compound type (<code>struct</code>) associated with it:</p><pre><code class="language-julia hljs">dset = create_dataset(f, "simulation/particles", Particle)</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">H5CompoundDataset{Main.Particle}(HDF5.Dataset: /simulation/particles (file: foo.h5 xfer_mode: 0), KM3io.H5CompoundDatasetCache{Main.Particle}(Main.Particle[], 10000), ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (0, 139798621683480, 141733920768)))</code></pre><p>We fill some random particles using the dummy loop:</p><pre><code class="language-julia hljs">for i in 1:1000 # creates some random particle particle = Particle(rand(), rand(), rand(1:1000)) # we push to the dataset, just like if it was an Array @@ -62,4 +62,4 @@ attributes(f)</code></pre><pre class="documenter-example-output"><code class="no ├─ ðŸ·ï¸ can_height ├─ ðŸ·ï¸ can_radius ├─ ðŸ·ï¸ maximum_energy -└─ ðŸ·ï¸ minimum_energy</code></pre><p>To access individual attributes, use <code>HDF5.read_attribute</code>:</p><pre><code class="language-julia hljs">read_attribute(f, "can_radius")</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">200</code></pre><div class="admonition is-info"><header class="admonition-header">Note</header><div class="admonition-body"><p>It is possible to add metadata to datasets and groups too. Make sure that the struct you pass to <code>addmeta()</code> only contains primitive types or strings in their fields. Arrays and other nested or compound fieldtypes are not supported by HDF5.</p></div></div></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../controlhost/">« Accessing Live Data</a><a class="docs-footer-nextpage" href="../../api/">API »</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="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.3.0 on <span class="colophon-date" title="Wednesday 20 March 2024 10:03">Wednesday 20 March 2024</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> +└─ ðŸ·ï¸ minimum_energy</code></pre><p>To access individual attributes, use <code>HDF5.read_attribute</code>:</p><pre><code class="language-julia hljs">read_attribute(f, "can_radius")</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">200</code></pre><div class="admonition is-info"><header class="admonition-header">Note</header><div class="admonition-body"><p>It is possible to add metadata to datasets and groups too. Make sure that the struct you pass to <code>addmeta()</code> only contains primitive types or strings in their fields. Arrays and other nested or compound fieldtypes are not supported by HDF5.</p></div></div></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../controlhost/">« Accessing Live Data</a><a class="docs-footer-nextpage" href="../../api/">API »</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="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.3.0 on <span class="colophon-date" title="Wednesday 20 March 2024 10:04">Wednesday 20 March 2024</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> diff --git a/dev/examples/offline_data/index.html b/dev/examples/offline_data/index.html index cfc00920..b0a9c4a1 100644 --- a/dev/examples/offline_data/index.html +++ b/dev/examples/offline_data/index.html @@ -44,4 +44,4 @@ f.offline[1].usr</code></pre><pre class="documenter-example-output"><code class= "RecoNDF" => 37.0 "FirstPartPosZ" => 135.295 "CoC" => 118.63 - "ChargeAbove" => 176.0</code></pre><pre><code class="language-julia hljs">close(f)</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../manual/tools/">« Tools</a><a class="docs-footer-nextpage" href="../cherenkov_times/">Cherenkov times »</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="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.3.0 on <span class="colophon-date" title="Wednesday 20 March 2024 10:03">Wednesday 20 March 2024</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> + "ChargeAbove" => 176.0</code></pre><pre><code class="language-julia hljs">close(f)</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../manual/tools/">« Tools</a><a class="docs-footer-nextpage" href="../cherenkov_times/">Cherenkov times »</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="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.3.0 on <span class="colophon-date" title="Wednesday 20 March 2024 10:04">Wednesday 20 March 2024</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 40fa54c1..adeac957 100644 --- a/dev/index.html +++ b/dev/index.html @@ -8,4 +8,4 @@ julia> f.offline OfflineTree (10 events) julia> some_event = f.offline[3] -KM3io.Evt (3680 hits, 28 MC hits, 38 tracks, 12 MC tracks)</code></pre><h2 id="Acknowledgements"><a class="docs-heading-anchor" href="#Acknowledgements">Acknowledgements</a><a id="Acknowledgements-1"></a><a class="docs-heading-anchor-permalink" href="#Acknowledgements" title="Permalink"></a></h2><p>Thanks to <a href="https://git.km3net.de/jschumann">Johannes Schumann</a> for providing the awesome project logo!</p></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="manual/rootfiles/">ROOT Files »</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="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.3.0 on <span class="colophon-date" title="Wednesday 20 March 2024 10:03">Wednesday 20 March 2024</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> +KM3io.Evt (3680 hits, 28 MC hits, 38 tracks, 12 MC tracks)</code></pre><h2 id="Acknowledgements"><a class="docs-heading-anchor" href="#Acknowledgements">Acknowledgements</a><a id="Acknowledgements-1"></a><a class="docs-heading-anchor-permalink" href="#Acknowledgements" title="Permalink"></a></h2><p>Thanks to <a href="https://git.km3net.de/jschumann">Johannes Schumann</a> for providing the awesome project logo!</p></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="manual/rootfiles/">ROOT Files »</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="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.3.0 on <span class="colophon-date" title="Wednesday 20 March 2024 10:04">Wednesday 20 March 2024</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> diff --git a/dev/manual/calibration/index.html b/dev/manual/calibration/index.html index 91577318..d55ee6cd 100644 --- a/dev/manual/calibration/index.html +++ b/dev/manual/calibration/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>Calibration · KM3io.jl</title><meta name="title" content="Calibration · KM3io.jl"/><meta property="og:title" content="Calibration · KM3io.jl"/><meta property="twitter:title" content="Calibration · KM3io.jl"/><meta name="description" content="Documentation for KM3io.jl."/><meta property="og:description" content="Documentation for KM3io.jl."/><meta property="twitter:description" content="Documentation for KM3io.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"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="KM3io.jl logo"/></a><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><span class="tocitem">Manual</span><ul><li><a class="tocitem" href="../rootfiles/">ROOT Files</a></li><li><a class="tocitem" href="../detector/">Detector and its Components</a></li><li class="is-active"><a class="tocitem" href>Calibration</a></li><li><a class="tocitem" href="../tools/">Tools</a></li></ul></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/offline_data/">Offline data</a></li><li><a class="tocitem" href="../../examples/cherenkov_times/">Cherenkov times</a></li><li><a class="tocitem" href="../../examples/controlhost/">Accessing Live Data</a></li><li><a class="tocitem" href="../../examples/hdf5/">HDF5</a></li></ul></li><li><a class="tocitem" href="../../api/">API</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><a class="is-disabled">Manual</a></li><li class="is-active"><a href>Calibration</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Calibration</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://git.km3net.de/common/KM3io.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/common/KM3io.jl/blob/main/docs/src/manual/calibration.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="Calibration"><a class="docs-heading-anchor" href="#Calibration">Calibration</a><a id="Calibration-1"></a><a class="docs-heading-anchor-permalink" href="#Calibration" title="Permalink"></a></h1><p>It's implemented but not documented here yet. Check out the docs <code>calibrate</code> function's docstring!</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../detector/">« Detector and its Components</a><a class="docs-footer-nextpage" href="../tools/">Tools »</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="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.3.0 on <span class="colophon-date" title="Wednesday 20 March 2024 10:03">Wednesday 20 March 2024</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>Calibration · KM3io.jl</title><meta name="title" content="Calibration · KM3io.jl"/><meta property="og:title" content="Calibration · KM3io.jl"/><meta property="twitter:title" content="Calibration · KM3io.jl"/><meta name="description" content="Documentation for KM3io.jl."/><meta property="og:description" content="Documentation for KM3io.jl."/><meta property="twitter:description" content="Documentation for KM3io.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"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="KM3io.jl logo"/></a><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><span class="tocitem">Manual</span><ul><li><a class="tocitem" href="../rootfiles/">ROOT Files</a></li><li><a class="tocitem" href="../detector/">Detector and its Components</a></li><li class="is-active"><a class="tocitem" href>Calibration</a></li><li><a class="tocitem" href="../tools/">Tools</a></li></ul></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/offline_data/">Offline data</a></li><li><a class="tocitem" href="../../examples/cherenkov_times/">Cherenkov times</a></li><li><a class="tocitem" href="../../examples/controlhost/">Accessing Live Data</a></li><li><a class="tocitem" href="../../examples/hdf5/">HDF5</a></li></ul></li><li><a class="tocitem" href="../../api/">API</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><a class="is-disabled">Manual</a></li><li class="is-active"><a href>Calibration</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Calibration</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://git.km3net.de/common/KM3io.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/common/KM3io.jl/blob/main/docs/src/manual/calibration.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="Calibration"><a class="docs-heading-anchor" href="#Calibration">Calibration</a><a id="Calibration-1"></a><a class="docs-heading-anchor-permalink" href="#Calibration" title="Permalink"></a></h1><p>It's implemented but not documented here yet. Check out the docs <code>calibrate</code> function's docstring!</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../detector/">« Detector and its Components</a><a class="docs-footer-nextpage" href="../tools/">Tools »</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="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.3.0 on <span class="colophon-date" title="Wednesday 20 March 2024 10:04">Wednesday 20 March 2024</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> diff --git a/dev/manual/detector/index.html b/dev/manual/detector/index.html index ded47ed1..5988d3ea 100644 --- a/dev/manual/detector/index.html +++ b/dev/manual/detector/index.html @@ -182,4 +182,4 @@ Detectormodule (optical, 31 PMTs) on string 9 floor 17</code></pre><div class="a PMT(787, [474.215, 583.27, 161.646], [0.326696, -0.897925, -0.294947], 208298.439, 0) PMT(7293, [474.277, 583.343, 161.594], [0.63711, -0.534814, -0.555035], 208297.429, 0) PMT(7161, [474.306, 583.507, 161.594], [0.781616, 0.284399, -0.555151], 208298.477, 0) - PMT(5068, [474.338, 583.417, 161.646], [0.940928, -0.166018, -0.295123], 208297.061, 0)</code></pre><p>To access a specific PMT with a given channel ID (TDC ID), use the <code>getpmt(m::DetectorModule, channel_id::Integer)</code> function. Here, we access the PMT at DAQ channel 0 of our previously obtained detector module:</p><pre><code class="language-julia hljs">getpmt(detector_module, 0)</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">PMT(891, [474.314, 583.421, 161.816], [0.819287, -0.144441, 0.554893], 208297.659, 0)</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../rootfiles/">« ROOT Files</a><a class="docs-footer-nextpage" href="../calibration/">Calibration »</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="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.3.0 on <span class="colophon-date" title="Wednesday 20 March 2024 10:03">Wednesday 20 March 2024</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> + PMT(5068, [474.338, 583.417, 161.646], [0.940928, -0.166018, -0.295123], 208297.061, 0)</code></pre><p>To access a specific PMT with a given channel ID (TDC ID), use the <code>getpmt(m::DetectorModule, channel_id::Integer)</code> function. Here, we access the PMT at DAQ channel 0 of our previously obtained detector module:</p><pre><code class="language-julia hljs">getpmt(detector_module, 0)</code></pre><pre class="documenter-example-output"><code class="nohighlight hljs ansi">PMT(891, [474.314, 583.421, 161.816], [0.819287, -0.144441, 0.554893], 208297.659, 0)</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../rootfiles/">« ROOT Files</a><a class="docs-footer-nextpage" href="../calibration/">Calibration »</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="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.3.0 on <span class="colophon-date" title="Wednesday 20 March 2024 10:04">Wednesday 20 March 2024</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> diff --git a/dev/manual/hdf5/index.html b/dev/manual/hdf5/index.html index 46aba628..764036a8 100644 --- a/dev/manual/hdf5/index.html +++ b/dev/manual/hdf5/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>HDF5 Files · KM3io.jl</title><meta name="title" content="HDF5 Files · KM3io.jl"/><meta property="og:title" content="HDF5 Files · KM3io.jl"/><meta property="twitter:title" content="HDF5 Files · KM3io.jl"/><meta name="description" content="Documentation for KM3io.jl."/><meta property="og:description" content="Documentation for KM3io.jl."/><meta property="twitter:description" content="Documentation for KM3io.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"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="KM3io.jl logo"/></a><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><span class="tocitem">Manual</span><ul><li><a class="tocitem" href="../rootfiles/">ROOT Files</a></li><li><a class="tocitem" href="../detector/">Detector and its Components</a></li><li><a class="tocitem" href="../calibration/">Calibration</a></li><li><a class="tocitem" href="../tools/">Tools</a></li></ul></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/offline_data/">Offline data</a></li><li><a class="tocitem" href="../../examples/cherenkov_times/">Cherenkov times</a></li><li><a class="tocitem" href="../../examples/controlhost/">Accessing Live Data</a></li><li><a class="tocitem" href="../../examples/hdf5/">HDF5</a></li></ul></li><li><a class="tocitem" href="../../api/">API</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>HDF5 Files</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>HDF5 Files</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://git.km3net.de/common/KM3io.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/common/KM3io.jl/blob/main/docs/src/manual/hdf5.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="HDF5-Files"><a class="docs-heading-anchor" href="#HDF5-Files">HDF5 Files</a><a id="HDF5-Files-1"></a><a class="docs-heading-anchor-permalink" href="#HDF5-Files" title="Permalink"></a></h1><p>...</p></article><nav class="docs-footer"><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.3.0 on <span class="colophon-date" title="Wednesday 20 March 2024 10:03">Wednesday 20 March 2024</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>HDF5 Files · KM3io.jl</title><meta name="title" content="HDF5 Files · KM3io.jl"/><meta property="og:title" content="HDF5 Files · KM3io.jl"/><meta property="twitter:title" content="HDF5 Files · KM3io.jl"/><meta name="description" content="Documentation for KM3io.jl."/><meta property="og:description" content="Documentation for KM3io.jl."/><meta property="twitter:description" content="Documentation for KM3io.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"><a class="docs-logo" href="../../"><img src="../../assets/logo.svg" alt="KM3io.jl logo"/></a><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><span class="tocitem">Manual</span><ul><li><a class="tocitem" href="../rootfiles/">ROOT Files</a></li><li><a class="tocitem" href="../detector/">Detector and its Components</a></li><li><a class="tocitem" href="../calibration/">Calibration</a></li><li><a class="tocitem" href="../tools/">Tools</a></li></ul></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../../examples/offline_data/">Offline data</a></li><li><a class="tocitem" href="../../examples/cherenkov_times/">Cherenkov times</a></li><li><a class="tocitem" href="../../examples/controlhost/">Accessing Live Data</a></li><li><a class="tocitem" href="../../examples/hdf5/">HDF5</a></li></ul></li><li><a class="tocitem" href="../../api/">API</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>HDF5 Files</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>HDF5 Files</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://git.km3net.de/common/KM3io.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/common/KM3io.jl/blob/main/docs/src/manual/hdf5.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="HDF5-Files"><a class="docs-heading-anchor" href="#HDF5-Files">HDF5 Files</a><a id="HDF5-Files-1"></a><a class="docs-heading-anchor-permalink" href="#HDF5-Files" title="Permalink"></a></h1><p>...</p></article><nav class="docs-footer"><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.3.0 on <span class="colophon-date" title="Wednesday 20 March 2024 10:04">Wednesday 20 March 2024</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> diff --git a/dev/manual/rootfiles/index.html b/dev/manual/rootfiles/index.html index b5283d3f..8f7f8d95 100644 --- a/dev/manual/rootfiles/index.html +++ b/dev/manual/rootfiles/index.html @@ -181,4 +181,4 @@ PMT 29: HRV(false) FIFO(true) PMT 30: HRV(true) FIFO(false)</code></pre><h2 id="xrootd-access"><a class="docs-heading-anchor" href="#xrootd-access">xrootd access</a><a id="xrootd-access-1"></a><a class="docs-heading-anchor-permalink" href="#xrootd-access" title="Permalink"></a></h2><p>You can access files directly via <code>xrootd</code> by providing the URL on e.g. HPSS. Be aware that URL has to be typed correctly, <code>/</code> instead of <code>//</code> results in an error!), so it should always start with something like <code>root://ccxroot:1999//hpss/...</code>.</p><pre><code class="language-julia hljs">julia> using KM3io julia> f = ROOTFile("root://ccxroot:1999//hpss/in2p3.fr/group/km3net/data/raw/sea/KM3NeT_00000132/14/KM3NeT_00000132_00014481.root") -ROOTFile{OnlineTree (136335 events, 107632 summaryslices)}</code></pre><p>Now you can use it as if it was on your local filesystem. <code>UnROOT.jl</code> will take care of loading only the needed data from the server.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../">« Home</a><a class="docs-footer-nextpage" href="../detector/">Detector and its Components »</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="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.3.0 on <span class="colophon-date" title="Wednesday 20 March 2024 10:03">Wednesday 20 March 2024</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> +ROOTFile{OnlineTree (136335 events, 107632 summaryslices)}</code></pre><p>Now you can use it as if it was on your local filesystem. <code>UnROOT.jl</code> will take care of loading only the needed data from the server.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../../">« Home</a><a class="docs-footer-nextpage" href="../detector/">Detector and its Components »</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="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.3.0 on <span class="colophon-date" title="Wednesday 20 March 2024 10:04">Wednesday 20 March 2024</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> diff --git a/dev/manual/tools/index.html b/dev/manual/tools/index.html index 59bc47fc..f5e5757d 100644 --- a/dev/manual/tools/index.html +++ b/dev/manual/tools/index.html @@ -5,4 +5,4 @@ f = ROOTFile(datapath("offline", "km3net_offline.root"))</co Trk(1, [465.0566061903734, 532.6821160545169, 80.73206374676195], [-0.17513834417756996, 0.5213137941218786, -0.8351996698137462], 8.106927901568094e7, 99.10458562488608, 0.0, 96.75133289411137, 4000, Int32[1, 3, 5, 4], [0.01837814570268761, 0.009401304503949024, -96.75133289411137, 72.0, 99.10458562488608, 1.7976931348623157e308, 259.2943164149993, 59.0, 16.87128649083537, 24.773873409176925, 59.43893182922881, 0.0, 0.0, 344.9767431592819, -178.51901912484058, 790.0, 54.0]) Trk(1, [456.97627814791457, 592.7509917096395, 193.82544167917783], [-0.08167688401007625, -0.12212161487029954, -0.989148723802379], 2.128187723727164e7, 99.10458562488608, 0.0, 560.2775306614813, 4000, Int32[1, 3, 5, 4], [0.0022862363916181096, 0.0015619992272287897, -560.2775306614813, 261.0, 99.10458562488608, 1.7976931348623157e308, 5.84464995424756, 52.0, 91.37269495454369, 148.1224810941145, 165.70400027827318, 0.0, 0.0, 344.9767431592819, -654.1882814711497, 2526.0, 198.0]) Trk(1, [439.7470230806774, 590.4753779242533, 203.83469855517993], [-0.10236158585739397, -0.23020978384961455, -0.9677425076747808], 1.6513108700491736e7, 37.8551524925863, 0.0, 278.2872951665753, 4000, Int32[1, 3, 5, 4], [0.006041091149104179, 0.0035514113196960105, -278.2872951665753, 118.0, 37.8551524925863, 265.5559310077148, 52.601849588228035, 53.0, 40.65396902507262, 46.54735947527185, 97.27912085164719, 0.0, 0.0, 141.61500301253315, -Inf, 2713.0, 88.0]) - Trk(1, [439.7429669399687, 546.3344243172004, 58.644786708814664], [0.18720483239615998, 0.5400660706130554, -0.8205382319551601], 4.717893801990337e7, 99.10458562488608, 0.0, 99.59098153341449, 4000, Int32[1, 3, 5, 4], [0.024623519864386552, 0.014331655995648987, -99.59098153341449, 47.0, 99.10458562488608, 1.7976931348623157e308, 64.29114949672314, 51.0, 22.75185164189341, 22.75185164189341, 33.78774068100958, 0.0, 0.0, 344.9767431592819, -115.80151219196675, 480.0, 35.0])</code></pre><p>Let's close our file <code>;)</code></p><pre><code class="language-julia hljs">close(f)</code></pre><h2 id="Trigger-masks/flags"><a class="docs-heading-anchor" href="#Trigger-masks/flags">Trigger masks/flags</a><a id="Trigger-masks/flags-1"></a><a class="docs-heading-anchor-permalink" href="#Trigger-masks/flags" title="Permalink"></a></h2><p>KM3NeT uses a 64bit integer type to store information about which triggers have fired for a given event or hit. The index of the bit which indicates if a specific trigger has fired is defined in the <a href="https://git.km3net.de/common/km3net-dataformat">KM3NeT Dataformat</a> specification which is used in <code>KM3io.jl</code>.</p><p>Functions to check if a trigger has fired are for example</p><ul><li><a href="../../api/#KM3io.is3dmuon"><code>is3dmuon()</code></a></li><li><a href="../../api/#KM3io.is3dshower"><code>is3dshower()</code></a></li><li><a href="../../api/#KM3io.ismxshower"><code>ismxshower()</code></a></li><li><a href="../../api/#KM3io.isnb"><code>isnb()</code></a></li></ul><p>which all accept either an event is input or something which has a <code>.trigger_mask</code> field, like a triggered hit.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../calibration/">« Calibration</a><a class="docs-footer-nextpage" href="../../examples/offline_data/">Offline data »</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="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.3.0 on <span class="colophon-date" title="Wednesday 20 March 2024 10:03">Wednesday 20 March 2024</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> + Trk(1, [439.7429669399687, 546.3344243172004, 58.644786708814664], [0.18720483239615998, 0.5400660706130554, -0.8205382319551601], 4.717893801990337e7, 99.10458562488608, 0.0, 99.59098153341449, 4000, Int32[1, 3, 5, 4], [0.024623519864386552, 0.014331655995648987, -99.59098153341449, 47.0, 99.10458562488608, 1.7976931348623157e308, 64.29114949672314, 51.0, 22.75185164189341, 22.75185164189341, 33.78774068100958, 0.0, 0.0, 344.9767431592819, -115.80151219196675, 480.0, 35.0])</code></pre><p>Let's close our file <code>;)</code></p><pre><code class="language-julia hljs">close(f)</code></pre><h2 id="Trigger-masks/flags"><a class="docs-heading-anchor" href="#Trigger-masks/flags">Trigger masks/flags</a><a id="Trigger-masks/flags-1"></a><a class="docs-heading-anchor-permalink" href="#Trigger-masks/flags" title="Permalink"></a></h2><p>KM3NeT uses a 64bit integer type to store information about which triggers have fired for a given event or hit. The index of the bit which indicates if a specific trigger has fired is defined in the <a href="https://git.km3net.de/common/km3net-dataformat">KM3NeT Dataformat</a> specification which is used in <code>KM3io.jl</code>.</p><p>Functions to check if a trigger has fired are for example</p><ul><li><a href="../../api/#KM3io.is3dmuon"><code>is3dmuon()</code></a></li><li><a href="../../api/#KM3io.is3dshower"><code>is3dshower()</code></a></li><li><a href="../../api/#KM3io.ismxshower"><code>ismxshower()</code></a></li><li><a href="../../api/#KM3io.isnb"><code>isnb()</code></a></li></ul><p>which all accept either an event is input or something which has a <code>.trigger_mask</code> field, like a triggered hit.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../calibration/">« Calibration</a><a class="docs-footer-nextpage" href="../../examples/offline_data/">Offline data »</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="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.3.0 on <span class="colophon-date" title="Wednesday 20 March 2024 10:04">Wednesday 20 March 2024</span>. Using Julia version 1.9.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> diff --git a/dev/objects.inv b/dev/objects.inv index e5f898d3be76a2d813552cc0d66c7365cd1635f1..ee4d25db48195d440cdfeff648cf283373dd4457 100644 GIT binary patch delta 12 Tcmeyw`-yjgBcu67rwwcXA}j>4 delta 12 Tcmeyw`-yjgBcs_yrwwcXA}0i} -- GitLab