legend-daq2lh5 1.4.3__py3-none-any.whl → 1.6.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- daq2lh5/_version.py +2 -2
- daq2lh5/buffer_processor/buffer_processor.py +8 -5
- daq2lh5/buffer_processor/lh5_buffer_processor.py +8 -5
- daq2lh5/build_raw.py +4 -3
- daq2lh5/data_decoder.py +1 -3
- daq2lh5/data_streamer.py +73 -28
- daq2lh5/fc/fc_config_decoder.py +99 -28
- daq2lh5/fc/fc_event_decoder.py +128 -138
- daq2lh5/fc/fc_eventheader_decoder.py +311 -0
- daq2lh5/fc/fc_fsp_decoder.py +885 -0
- daq2lh5/fc/fc_status_decoder.py +231 -63
- daq2lh5/fc/fc_streamer.py +153 -76
- daq2lh5/llama/llama_event_decoder.py +10 -0
- daq2lh5/llama/llama_header_decoder.py +43 -3
- daq2lh5/llama/llama_streamer.py +4 -1
- daq2lh5/orca/orca_digitizers.py +1 -1
- daq2lh5/orca/orca_fcio.py +405 -0
- daq2lh5/orca/orca_flashcam.py +7 -4
- daq2lh5/orca/orca_header.py +7 -2
- daq2lh5/orca/orca_packet.py +10 -0
- daq2lh5/orca/orca_run_decoder.py +6 -6
- daq2lh5/orca/orca_streamer.py +28 -10
- daq2lh5/orca/skim_orca_file.py +54 -0
- daq2lh5/raw_buffer.py +15 -2
- {legend_daq2lh5-1.4.3.dist-info → legend_daq2lh5-1.6.1.dist-info}/METADATA +14 -15
- legend_daq2lh5-1.6.1.dist-info/RECORD +46 -0
- {legend_daq2lh5-1.4.3.dist-info → legend_daq2lh5-1.6.1.dist-info}/WHEEL +1 -1
- legend_daq2lh5-1.6.1.dist-info/entry_points.txt +3 -0
- legend_daq2lh5-1.4.3.dist-info/RECORD +0 -42
- legend_daq2lh5-1.4.3.dist-info/entry_points.txt +0 -2
- {legend_daq2lh5-1.4.3.dist-info → legend_daq2lh5-1.6.1.dist-info/licenses}/LICENSE +0 -0
- {legend_daq2lh5-1.4.3.dist-info → legend_daq2lh5-1.6.1.dist-info}/top_level.txt +0 -0
daq2lh5/orca/orca_streamer.py
CHANGED
@@ -15,6 +15,12 @@ from .orca_digitizers import ( # noqa: F401
|
|
15
15
|
ORSIS3302DecoderForEnergy,
|
16
16
|
ORSIS3316WaveformDecoder,
|
17
17
|
)
|
18
|
+
from .orca_fcio import ( # noqa: F401;
|
19
|
+
ORFCIOConfigDecoder,
|
20
|
+
ORFCIOEventDecoder,
|
21
|
+
ORFCIOEventHeaderDecoder,
|
22
|
+
ORFCIOStatusDecoder,
|
23
|
+
)
|
18
24
|
from .orca_flashcam import ( # noqa: F401;
|
19
25
|
ORFlashCamADCWaveformDecoder,
|
20
26
|
ORFlashCamListenerConfigDecoder,
|
@@ -41,18 +47,28 @@ class OrcaStreamer(DataStreamer):
|
|
41
47
|
self.rbl_id_dict = {} # dict of RawBufferLists for each data_id
|
42
48
|
self.missing_decoders = []
|
43
49
|
|
44
|
-
def load_packet_header(self) -> np.
|
50
|
+
def load_packet_header(self) -> np.ndarray | None:
|
45
51
|
"""Loads the packet header at the current read location into the buffer
|
46
52
|
|
47
53
|
and updates internal variables.
|
48
54
|
"""
|
49
|
-
pkt_hdr = self.buffer[:
|
55
|
+
pkt_hdr = self.buffer[:2]
|
50
56
|
n_bytes_read = self.in_stream.readinto(pkt_hdr) # buffer is at least 4 kB long
|
51
57
|
self.n_bytes_read += n_bytes_read
|
52
58
|
if n_bytes_read == 0: # EOF
|
53
59
|
return None
|
54
|
-
if n_bytes_read !=
|
55
|
-
raise RuntimeError(
|
60
|
+
if (n_bytes_read % 4) != 0:
|
61
|
+
raise RuntimeError(
|
62
|
+
f"got {n_bytes_read} bytes for packet header, expect 4 or 8."
|
63
|
+
)
|
64
|
+
if orca_packet.is_extended(pkt_hdr) and n_bytes_read < 8:
|
65
|
+
raise RuntimeError(
|
66
|
+
f"got {n_bytes_read} bytes for packet header, but require 8 for the extended header format."
|
67
|
+
)
|
68
|
+
if orca_packet.is_short(pkt_hdr) and n_bytes_read > 4:
|
69
|
+
# if more than 4 bytes were read but the packet is short, we reset the file stream
|
70
|
+
# so we can read the next uint32_t again. would not be necessary with a circular buffer
|
71
|
+
self.in_stream.seek(n_bytes_read - 4, 1)
|
56
72
|
|
57
73
|
# packet is valid. Can set the packet_id and log its location
|
58
74
|
self.packet_id += 1
|
@@ -90,7 +106,9 @@ class OrcaStreamer(DataStreamer):
|
|
90
106
|
pkt_hdr = self.load_packet_header()
|
91
107
|
if pkt_hdr is None:
|
92
108
|
return False
|
93
|
-
self.in_stream.seek(
|
109
|
+
self.in_stream.seek(
|
110
|
+
(orca_packet.get_n_words(pkt_hdr) - len(pkt_hdr)) * 4, 1
|
111
|
+
)
|
94
112
|
n -= 1
|
95
113
|
return True
|
96
114
|
|
@@ -106,14 +124,14 @@ class OrcaStreamer(DataStreamer):
|
|
106
124
|
self.in_stream.seek(loc)
|
107
125
|
self.packet_id = pid
|
108
126
|
|
109
|
-
def count_packets(self, saveloc=True) ->
|
127
|
+
def count_packets(self, saveloc=True) -> int:
|
110
128
|
self.build_packet_locs(saveloc=saveloc)
|
111
129
|
return len(self.packet_locs)
|
112
130
|
|
113
131
|
# TODO: need to correct for endianness?
|
114
132
|
def load_packet(
|
115
133
|
self, index: int = None, whence: int = 0, skip_unknown_ids: bool = False
|
116
|
-
) -> np.
|
134
|
+
) -> np.ndarray | None:
|
117
135
|
"""Loads the next packet into the internal buffer.
|
118
136
|
|
119
137
|
Returns packet as a :class:`numpy.uint32` view of the buffer (a slice),
|
@@ -177,15 +195,15 @@ class OrcaStreamer(DataStreamer):
|
|
177
195
|
and orca_packet.get_data_id(pkt_hdr, shift=False)
|
178
196
|
not in self.decoder_id_dict
|
179
197
|
):
|
180
|
-
self.in_stream.seek((n_words -
|
198
|
+
self.in_stream.seek((n_words - len(pkt_hdr)) * 4, 1)
|
181
199
|
return pkt_hdr
|
182
200
|
|
183
201
|
# load into buffer, resizing as necessary
|
184
202
|
if len(self.buffer) < n_words:
|
185
203
|
self.buffer.resize(n_words, refcheck=False)
|
186
|
-
n_bytes_read = self.in_stream.readinto(self.buffer[
|
204
|
+
n_bytes_read = self.in_stream.readinto(self.buffer[len(pkt_hdr) : n_words])
|
187
205
|
self.n_bytes_read += n_bytes_read
|
188
|
-
if n_bytes_read != (n_words -
|
206
|
+
if n_bytes_read != (n_words - len(pkt_hdr)) * 4:
|
189
207
|
log.error(
|
190
208
|
f"only got {n_bytes_read} bytes for packet read when {(n_words-1)*4} were expected. Flushing all buffers and quitting..."
|
191
209
|
)
|
@@ -0,0 +1,54 @@
|
|
1
|
+
import argparse
|
2
|
+
from pathlib import Path
|
3
|
+
|
4
|
+
from .orca_streamer import OrcaStreamer
|
5
|
+
|
6
|
+
|
7
|
+
def skim_orca_file() -> None:
|
8
|
+
parser = argparse.ArgumentParser(
|
9
|
+
prog="skim_orca_file",
|
10
|
+
description="Convert data into LEGEND HDF5 (LH5) raw format",
|
11
|
+
)
|
12
|
+
parser.add_argument("in_file", type=str, help="filename of orca file to skim")
|
13
|
+
parser.add_argument("n_packets", type=int, help="number of packets to skim")
|
14
|
+
parser.add_argument(
|
15
|
+
"--out-file", type=str, required=False, help="filename to write skimmed file to"
|
16
|
+
)
|
17
|
+
args = parser.parse_args()
|
18
|
+
|
19
|
+
if not Path(args.in_file).is_file():
|
20
|
+
print("file not found: {args.in_file}") # noqa: T201
|
21
|
+
print( # noqa: T201
|
22
|
+
"Usage: skim_orca_file [orca_file] [n_packets] (out_filename)"
|
23
|
+
)
|
24
|
+
|
25
|
+
elif args.n_packets == 0:
|
26
|
+
print("n_packets must be a positive integer") # noqa: T201
|
27
|
+
print( # noqa: T201
|
28
|
+
"Usage: skim_orca_file [orca_file] [n_packets] (out_filename)"
|
29
|
+
)
|
30
|
+
else:
|
31
|
+
if args.out_file:
|
32
|
+
out_filename = Path(args.out_file)
|
33
|
+
else:
|
34
|
+
out_filename = Path(f"{args.in_file}_first{args.n_packets}")
|
35
|
+
out_filename.parent.mkdir(parents=True, exist_ok=True)
|
36
|
+
|
37
|
+
or_streamer = OrcaStreamer()
|
38
|
+
or_streamer.open_stream(args.in_file)
|
39
|
+
header_packet = or_streamer.load_packet(0)
|
40
|
+
|
41
|
+
if out_filename.is_file():
|
42
|
+
out_filename.unlink()
|
43
|
+
|
44
|
+
with out_filename.open("ab") as out_file:
|
45
|
+
# always write header and first packet (run start)
|
46
|
+
header_packet.tofile(out_file)
|
47
|
+
packet = or_streamer.load_packet()
|
48
|
+
packet.tofile(out_file)
|
49
|
+
for _ in range(args.n_packets):
|
50
|
+
packet = or_streamer.load_packet()
|
51
|
+
packet.tofile(out_file)
|
52
|
+
# always write last packet (run end)
|
53
|
+
packet = or_streamer.load_packet(1, 2)
|
54
|
+
packet.tofile(out_file)
|
daq2lh5/raw_buffer.py
CHANGED
@@ -66,6 +66,7 @@ keys.
|
|
66
66
|
|
67
67
|
from __future__ import annotations
|
68
68
|
|
69
|
+
import logging
|
69
70
|
import os
|
70
71
|
|
71
72
|
import lgdo
|
@@ -74,6 +75,8 @@ from lgdo.lh5 import LH5Store
|
|
74
75
|
|
75
76
|
from .buffer_processor.buffer_processor import buffer_processor
|
76
77
|
|
78
|
+
log = logging.getLogger(__name__)
|
79
|
+
|
77
80
|
|
78
81
|
class RawBuffer:
|
79
82
|
r"""Base class to represent a buffer of raw data.
|
@@ -183,6 +186,8 @@ class RawBufferList(list):
|
|
183
186
|
self.keyed_dict = {}
|
184
187
|
for rb in self:
|
185
188
|
for key in rb.key_list:
|
189
|
+
if key in self.keyed_dict:
|
190
|
+
log.warning(f"Key {key} is duplicate.")
|
186
191
|
self.keyed_dict[key] = rb
|
187
192
|
return self.keyed_dict
|
188
193
|
|
@@ -418,7 +423,7 @@ def expand_rblist_dict(config: dict, kw_dict: dict[str, str]) -> None:
|
|
418
423
|
|
419
424
|
|
420
425
|
def write_to_lh5_and_clear(
|
421
|
-
raw_buffers: list[RawBuffer], lh5_store: LH5Store = None, **kwargs
|
426
|
+
raw_buffers: list[RawBuffer], lh5_store: LH5Store = None, db_dict=None, **kwargs
|
422
427
|
) -> None:
|
423
428
|
r"""Write a list of :class:`.RawBuffer`\ s to LH5 files and then clears them.
|
424
429
|
|
@@ -456,10 +461,18 @@ def write_to_lh5_and_clear(
|
|
456
461
|
if len(group) == 0:
|
457
462
|
group = "/" # in case out_stream ends with :
|
458
463
|
|
464
|
+
if db_dict is None:
|
465
|
+
database = None
|
466
|
+
elif rb.out_name in db_dict:
|
467
|
+
database = db_dict[rb.out_name]
|
468
|
+
elif group in db_dict:
|
469
|
+
database = db_dict[group]
|
470
|
+
else:
|
471
|
+
database = None
|
459
472
|
# If a proc_spec if present for this RawBuffer, process that data and then write to the file!
|
460
473
|
if rb.proc_spec is not None:
|
461
474
|
# Perform the processing as requested in the `proc_spec` from `out_spec` in build_raw
|
462
|
-
lgdo_to_write = buffer_processor(rb)
|
475
|
+
lgdo_to_write = buffer_processor(rb, db_dict=database)
|
463
476
|
else:
|
464
477
|
lgdo_to_write = rb.lgdo
|
465
478
|
|
@@ -1,15 +1,15 @@
|
|
1
|
-
Metadata-Version: 2.
|
2
|
-
Name:
|
3
|
-
Version: 1.
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: legend-daq2lh5
|
3
|
+
Version: 1.6.1
|
4
4
|
Summary: Convert digitizer data to LH5
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
5
|
+
Author-email: Jason Detwiler <jasondet@uw.edu>
|
6
|
+
Maintainer: The LEGEND collaboration
|
7
|
+
Project-URL: Homepage, https://github.com/legend-exp/legend-daq2lh5
|
8
|
+
Project-URL: Bug Tracker, https://github.com/legend-exp/legend-daq2lh5/issues
|
9
|
+
Project-URL: Discussions, https://github.com/legend-exp/legend-daq2lh5/discussions
|
10
|
+
Project-URL: Changelog, https://github.com/legend-exp/legend-daq2lh5/releases
|
10
11
|
Classifier: Development Status :: 4 - Beta
|
11
12
|
Classifier: Intended Audience :: Developers
|
12
|
-
Classifier: Intended Audience :: Information Technology
|
13
13
|
Classifier: Intended Audience :: Science/Research
|
14
14
|
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
|
15
15
|
Classifier: Operating System :: MacOS
|
@@ -19,19 +19,15 @@ Classifier: Programming Language :: Python
|
|
19
19
|
Classifier: Programming Language :: Python :: 3
|
20
20
|
Classifier: Programming Language :: Python :: 3 :: Only
|
21
21
|
Classifier: Topic :: Scientific/Engineering
|
22
|
-
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
23
|
-
Classifier: Topic :: Scientific/Engineering :: Mathematics
|
24
|
-
Classifier: Topic :: Scientific/Engineering :: Physics
|
25
|
-
Classifier: Topic :: Software Development
|
26
22
|
Requires-Python: >=3.9
|
27
23
|
Description-Content-Type: text/markdown
|
28
24
|
License-File: LICENSE
|
29
|
-
Requires-Dist: dspeed>=1.3
|
25
|
+
Requires-Dist: dspeed>=1.3
|
26
|
+
Requires-Dist: fcio>=0.7.8
|
30
27
|
Requires-Dist: h5py>=3.2.0
|
31
28
|
Requires-Dist: hdf5plugin
|
32
29
|
Requires-Dist: legend-pydataobj>=1.6
|
33
30
|
Requires-Dist: numpy>=1.21
|
34
|
-
Requires-Dist: pyfcutils
|
35
31
|
Requires-Dist: pyyaml
|
36
32
|
Requires-Dist: tqdm>=4.27
|
37
33
|
Requires-Dist: xmltodict
|
@@ -39,7 +35,9 @@ Provides-Extra: all
|
|
39
35
|
Requires-Dist: legend-daq2lh5[docs,test]; extra == "all"
|
40
36
|
Provides-Extra: docs
|
41
37
|
Requires-Dist: furo; extra == "docs"
|
38
|
+
Requires-Dist: jupyter; extra == "docs"
|
42
39
|
Requires-Dist: myst-parser; extra == "docs"
|
40
|
+
Requires-Dist: nbsphinx; extra == "docs"
|
43
41
|
Requires-Dist: sphinx; extra == "docs"
|
44
42
|
Requires-Dist: sphinx-copybutton; extra == "docs"
|
45
43
|
Requires-Dist: sphinx-inline-tabs; extra == "docs"
|
@@ -48,6 +46,7 @@ Requires-Dist: pre-commit; extra == "test"
|
|
48
46
|
Requires-Dist: pylegendtestdata; extra == "test"
|
49
47
|
Requires-Dist: pytest>=6.0; extra == "test"
|
50
48
|
Requires-Dist: pytest-cov; extra == "test"
|
49
|
+
Dynamic: license-file
|
51
50
|
|
52
51
|
# legend-daq2lh5
|
53
52
|
|
@@ -0,0 +1,46 @@
|
|
1
|
+
daq2lh5/__init__.py,sha256=VPmwKuZSA0icpce05ojhnsKWhR4_QUgD0oVXUoN9wks,975
|
2
|
+
daq2lh5/_version.py,sha256=vFpyllSQPpQuwzP7Cf743S6HuWgZRMOD31pPfh-WoZM,511
|
3
|
+
daq2lh5/build_raw.py,sha256=wehR1jADL_ponguOMfAsMTxsebE-qdztFw4Txm76fpw,10716
|
4
|
+
daq2lh5/cli.py,sha256=7bPfH1XbyAS48wZn_0unj4Y5MD5kF7V34Q5srn4jKVM,2913
|
5
|
+
daq2lh5/data_decoder.py,sha256=45ckhpfqKh6_FfPUn_iETZLjRFd4VtvQhet4l2KvldA,10606
|
6
|
+
daq2lh5/data_streamer.py,sha256=-uns1Y9iReVSJTXGCXD05QQLfqjbQn-VodEmDj7uSJo,16016
|
7
|
+
daq2lh5/logging.py,sha256=rYNeToaZBTCaIiC42a4CUroAo1PCOreTXbpEZyMO8Fo,987
|
8
|
+
daq2lh5/raw_buffer.py,sha256=I4qt6UGOrlOAgtcM198w655TkouSRfLYMne00QeUJQA,17844
|
9
|
+
daq2lh5/utils.py,sha256=Pc8Oh0ZVBqwwVehyhSJttHnX5tWbOyEZPk-rVg8mb0c,839
|
10
|
+
daq2lh5/buffer_processor/__init__.py,sha256=7k6v_KPximtv7805QnX4-xp_S3vqvqwDfdV3q95oZJo,84
|
11
|
+
daq2lh5/buffer_processor/buffer_processor.py,sha256=mG4kJXt8V9Jji_UTBfllRffIVqLPf2BPKJQ1S2m9NWU,14668
|
12
|
+
daq2lh5/buffer_processor/lh5_buffer_processor.py,sha256=dKND-18TTPDZH8VxdEaQNZPK7w_G-dC4fsBns1NIjMY,8409
|
13
|
+
daq2lh5/compass/__init__.py,sha256=mOXHWp7kRDgNTPQty3E8k2KPSy_vAzjneKfAcCVaPyE,132
|
14
|
+
daq2lh5/compass/compass_config_parser.py,sha256=zeAsOo1dOJPGLL8-zkAcdYRkqt8BodtOPi96n7fWsl4,12300
|
15
|
+
daq2lh5/compass/compass_event_decoder.py,sha256=kiPOaEu8SgLD2wbSPbBahcbTBBRAIw35wtVLBcwPcXY,7386
|
16
|
+
daq2lh5/compass/compass_header_decoder.py,sha256=AA-Md2FIT3nD4mXX9CrWvbbfmKiA436-BTmzcU3_XOY,2823
|
17
|
+
daq2lh5/compass/compass_streamer.py,sha256=zSl7IqO0ID0wcixkLE9QVEG3bF9hfGVITVPomCeOFTM,8841
|
18
|
+
daq2lh5/fc/__init__.py,sha256=bB1j6r-bDmylNi0iutQeAJGjsDSjLSoXMqFfXWwfb8I,141
|
19
|
+
daq2lh5/fc/fc_config_decoder.py,sha256=Mlll1SI4HPmTo6EGubkyP-QcmEfmO-kWaiZCKDc4cxg,4448
|
20
|
+
daq2lh5/fc/fc_event_decoder.py,sha256=c2CQSiNxlOEGOZNSgqM3eM-26EUW6MIfK48Am9CHfro,7887
|
21
|
+
daq2lh5/fc/fc_eventheader_decoder.py,sha256=jAUxgWqgQmzNhAzMLubgFLMiGpxjqVIut6uhVS6JfyA,12313
|
22
|
+
daq2lh5/fc/fc_fsp_decoder.py,sha256=-qQjDkXF7xjF3lYIp2085TY2hRrLwxzyXwQYAn1OAJw,34972
|
23
|
+
daq2lh5/fc/fc_status_decoder.py,sha256=ChMxALx36caY7zfCOKozNgXYhLGX9HzBnkyOvQfiABk,8809
|
24
|
+
daq2lh5/fc/fc_streamer.py,sha256=U1EPKr-xSlxTCqcgQL6SFlO11WDFT9kcna7gocDKLXo,9162
|
25
|
+
daq2lh5/llama/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
26
|
+
daq2lh5/llama/llama_base.py,sha256=B-NCBjE_FQE1WxijWi4Z1XBy4rqLHm2XhkC40s7Sdms,290
|
27
|
+
daq2lh5/llama/llama_event_decoder.py,sha256=DVULTX7JzlRe23HZYXn79VkoU2_z03o7nxWc33bGK8U,14981
|
28
|
+
daq2lh5/llama/llama_header_decoder.py,sha256=cTsFsKmrm7tuWZjk3Vi22fUDywVRHSre_TnlBOwFtus,7716
|
29
|
+
daq2lh5/llama/llama_streamer.py,sha256=lrK73JIXjpogPrkP_tpFQQGSyWxFhivSpU1YEfRMHhQ,5329
|
30
|
+
daq2lh5/orca/__init__.py,sha256=Xf6uOIOzk_QkKH_7VizGlCo3iuiAgLtUE3A07x_HXC0,175
|
31
|
+
daq2lh5/orca/orca_base.py,sha256=-XIolXsHj-1EdewaGxyvJTZvRGZsDyZe-5PzVOd-LFY,1333
|
32
|
+
daq2lh5/orca/orca_digitizers.py,sha256=Vu05xQO3XYqybjLhzk-XJG41wyeVFSIoXOjvdltDoUw,20865
|
33
|
+
daq2lh5/orca/orca_fcio.py,sha256=v2kZWUmutd1HcWJW0h50zsVdAZorP8TG39PP9tf_GCg,15107
|
34
|
+
daq2lh5/orca/orca_flashcam.py,sha256=klGWxME2QS3eOBgb5mD3IrPHXXzb1Zz4B7YDvZvaGD8,33291
|
35
|
+
daq2lh5/orca/orca_header.py,sha256=2WlB8rFXwzD89lX51JXYiOlop0-C4pWEEsIWKq2ouDM,4403
|
36
|
+
daq2lh5/orca/orca_header_decoder.py,sha256=ORIIyfx22ybyKc-uyWy5ER49-dl3BGpHdfV8OCDmjIw,1632
|
37
|
+
daq2lh5/orca/orca_packet.py,sha256=LtKEAcH2VGzY8AQEqAokZTHonShACsKisGdQR0AMDAM,2835
|
38
|
+
daq2lh5/orca/orca_run_decoder.py,sha256=61gghgjqD1ovH3KoHFJuKJp0GLJn4X0MIuoYrsIzMfQ,2059
|
39
|
+
daq2lh5/orca/orca_streamer.py,sha256=sLM5PPLOxJ_aJckJOl9UCjyOaPmNxUKDnrLw22fSNbE,16622
|
40
|
+
daq2lh5/orca/skim_orca_file.py,sha256=ESWfbv9yDRGaPf3Ptlw6Dxnc4uwhJoagb_aYlWNyrq0,1954
|
41
|
+
legend_daq2lh5-1.6.1.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
42
|
+
legend_daq2lh5-1.6.1.dist-info/METADATA,sha256=UbfgLNJWCAl6CquW11JoohphH6-rre7kC4UjGcH-5Hs,4005
|
43
|
+
legend_daq2lh5-1.6.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
44
|
+
legend_daq2lh5-1.6.1.dist-info/entry_points.txt,sha256=RPm2GPw2YADil9tWgvZsIysmJz9KuktBWH_1P38PWoc,119
|
45
|
+
legend_daq2lh5-1.6.1.dist-info/top_level.txt,sha256=MJQVLyLqMgMKBdVfNXFaCKCjHKakAs19VLbC9ctXZ7A,8
|
46
|
+
legend_daq2lh5-1.6.1.dist-info/RECORD,,
|
@@ -1,42 +0,0 @@
|
|
1
|
-
daq2lh5/__init__.py,sha256=VPmwKuZSA0icpce05ojhnsKWhR4_QUgD0oVXUoN9wks,975
|
2
|
-
daq2lh5/_version.py,sha256=uWjnlZlgd9LaZgshHJh7ATRsNToqJlu-hyova-D62E0,511
|
3
|
-
daq2lh5/build_raw.py,sha256=SDpdOU8qpfzMtx8gtFu-RZYqxutQo1smJSkv-LrH9YE,10672
|
4
|
-
daq2lh5/cli.py,sha256=7bPfH1XbyAS48wZn_0unj4Y5MD5kF7V34Q5srn4jKVM,2913
|
5
|
-
daq2lh5/data_decoder.py,sha256=Cn40fodfKs7pKa2odzG1j806iw9IyQVfbbWObNGmof8,10677
|
6
|
-
daq2lh5/data_streamer.py,sha256=WuyqneVg8Kf7V072aUWYT5q3vmPZoobjAZ7oSw0sC9k,14187
|
7
|
-
daq2lh5/logging.py,sha256=rYNeToaZBTCaIiC42a4CUroAo1PCOreTXbpEZyMO8Fo,987
|
8
|
-
daq2lh5/raw_buffer.py,sha256=LfkVAOZa4cWz227Ef22rKi57Shk7GbENoxUEkxC6IgU,17403
|
9
|
-
daq2lh5/utils.py,sha256=Pc8Oh0ZVBqwwVehyhSJttHnX5tWbOyEZPk-rVg8mb0c,839
|
10
|
-
daq2lh5/buffer_processor/__init__.py,sha256=7k6v_KPximtv7805QnX4-xp_S3vqvqwDfdV3q95oZJo,84
|
11
|
-
daq2lh5/buffer_processor/buffer_processor.py,sha256=GUxpNDbqGLuUEZmXjeratipbzmki12RFNYZkxgMtesg,14483
|
12
|
-
daq2lh5/buffer_processor/lh5_buffer_processor.py,sha256=einRDLI6EVR-U_TT2GdCZPctFnosJ774eMiUj-ahn6c,8316
|
13
|
-
daq2lh5/compass/__init__.py,sha256=mOXHWp7kRDgNTPQty3E8k2KPSy_vAzjneKfAcCVaPyE,132
|
14
|
-
daq2lh5/compass/compass_config_parser.py,sha256=zeAsOo1dOJPGLL8-zkAcdYRkqt8BodtOPi96n7fWsl4,12300
|
15
|
-
daq2lh5/compass/compass_event_decoder.py,sha256=kiPOaEu8SgLD2wbSPbBahcbTBBRAIw35wtVLBcwPcXY,7386
|
16
|
-
daq2lh5/compass/compass_header_decoder.py,sha256=AA-Md2FIT3nD4mXX9CrWvbbfmKiA436-BTmzcU3_XOY,2823
|
17
|
-
daq2lh5/compass/compass_streamer.py,sha256=zSl7IqO0ID0wcixkLE9QVEG3bF9hfGVITVPomCeOFTM,8841
|
18
|
-
daq2lh5/fc/__init__.py,sha256=bB1j6r-bDmylNi0iutQeAJGjsDSjLSoXMqFfXWwfb8I,141
|
19
|
-
daq2lh5/fc/fc_config_decoder.py,sha256=RLRfUOZN0vYbAprqTymP7TGg641IiP9rgCGIOwWVKzU,1996
|
20
|
-
daq2lh5/fc/fc_event_decoder.py,sha256=JIRsySnxeuY3wmxjJOrTXo6wpelVup8WIvxU-fkPL-A,8131
|
21
|
-
daq2lh5/fc/fc_status_decoder.py,sha256=o_3vTAgYXelZxIsreCYioVYid2mY-wqloYKlxoCqX5Q,3390
|
22
|
-
daq2lh5/fc/fc_streamer.py,sha256=S0imXdVsiyolPvxI1uiBngpC58DporSNZPqx1HeVi5o,5737
|
23
|
-
daq2lh5/llama/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
24
|
-
daq2lh5/llama/llama_base.py,sha256=B-NCBjE_FQE1WxijWi4Z1XBy4rqLHm2XhkC40s7Sdms,290
|
25
|
-
daq2lh5/llama/llama_event_decoder.py,sha256=D7MRPmE-ucNCjeLJzY3RepmijjkvGHzu3vNV0zkcLho,14489
|
26
|
-
daq2lh5/llama/llama_header_decoder.py,sha256=xi_BMw4HLQc-PQ5wIZWSHSsBZvrCpS9_G03X7Mr6tGA,6175
|
27
|
-
daq2lh5/llama/llama_streamer.py,sha256=Bmcj5Bs28KSV4y08TeJcntzUAkqz6HqlSNm7Kffgloc,5203
|
28
|
-
daq2lh5/orca/__init__.py,sha256=Xf6uOIOzk_QkKH_7VizGlCo3iuiAgLtUE3A07x_HXC0,175
|
29
|
-
daq2lh5/orca/orca_base.py,sha256=-XIolXsHj-1EdewaGxyvJTZvRGZsDyZe-5PzVOd-LFY,1333
|
30
|
-
daq2lh5/orca/orca_digitizers.py,sha256=BsAA3OgQ13YIirDM8pd_xDY3F5FqEY4YjSHviflmov8,20867
|
31
|
-
daq2lh5/orca/orca_flashcam.py,sha256=IntAxrPZEL64LnulnoKkMO7URLOB78DpzjD1_u6PlaE,33096
|
32
|
-
daq2lh5/orca/orca_header.py,sha256=1tDRG8l9Gqu4c0K4BjXBSC5eiLTzY_HaCsgNBiv5EgI,4283
|
33
|
-
daq2lh5/orca/orca_header_decoder.py,sha256=ORIIyfx22ybyKc-uyWy5ER49-dl3BGpHdfV8OCDmjIw,1632
|
34
|
-
daq2lh5/orca/orca_packet.py,sha256=nOHuBXsTI1SzTjHZtff0txSQYvkwo4XGx3fpk7XfYj8,2489
|
35
|
-
daq2lh5/orca/orca_run_decoder.py,sha256=3atKXC6mDi8_PK6ICUBBJ-LyaTM8OU31kKWIpmttRr4,2065
|
36
|
-
daq2lh5/orca/orca_streamer.py,sha256=-NxH0oR9ZSd9ljbR-z_GiPx0Bv7aiLdef6nX2vBYJ3k,15820
|
37
|
-
legend_daq2lh5-1.4.3.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
38
|
-
legend_daq2lh5-1.4.3.dist-info/METADATA,sha256=DJwwXaiByHsPArVUGvEaQLSLsmgQWVTMcswOwk3kQqE,3956
|
39
|
-
legend_daq2lh5-1.4.3.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
|
40
|
-
legend_daq2lh5-1.4.3.dist-info/entry_points.txt,sha256=R08R4NrHi0ab5MJN_qKqzePVzrLSsw5WpmbiwwduYjw,59
|
41
|
-
legend_daq2lh5-1.4.3.dist-info/top_level.txt,sha256=MJQVLyLqMgMKBdVfNXFaCKCjHKakAs19VLbC9ctXZ7A,8
|
42
|
-
legend_daq2lh5-1.4.3.dist-info/RECORD,,
|
File without changes
|
File without changes
|