You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
EVIO stands for EVent Input/Output, a unique data format developed by Jefferson Lab.
4
-
It was created by the Data Acquisition (DAQ) group and is maintained by the
5
-
Experimental Physics Software and Computing Infrastructure (EPSCI) group at Thomas
6
-
Jefferson National Accelerator Facility (JLab).
3
+
EVIO stands for EVent Input/Output, a unique data format developed by Jefferson Lab used by typical detector readout systems at the lab. This software repository allows one to read & write `.evio` and `.ev` format data, within either a C/C++ or Java programming environment.
7
4
8
-
This software repository allows one to read & write `.evio` and `.ev` format data,
9
-
within either a C/C++ or Java programming environment.
*`USE_FILESYSTEMLIB`: ue C++17 <filesystem> instead of Boost (default `-DUSE_FILESYSTEMLIB=0`)
28
35
*`DISRUPTOR_FETCH`: allow CMake to download Disruptor if not found (default `-DDISRUPTOR_FETCH=1`)
36
+
*`CODA_INSTALL`: installs in this base directory. If not used,
37
+
then the env variable $CODA location is next checked. Otherwise defaults to \${CMAKE_HOST_SYSTEM_NAME}-\${CMAKE_HOST_SYSTEM_PROCESSOR}, typically something like `[evio_directory]/Linux-x86_64`.
29
38
30
39
One can still also use `scons` instead of cmake to build the evio C/C++ library, though this feature
31
40
will not be supported in future releases.
32
41
33
42
### Prerequisites
34
43
35
-
C++ 17 or higher, `cmake`, `lz4`, `boost_system`, `boost_thread`, and `boost_chrono`. If LZ4 is not
36
-
already configured, it can be installed from [LZ4 on github](https://github.com/lz4/lz4). The boost
37
-
libraries are typically system-specific.
44
+
C++ 17 or higher, `cmake`, `lz4`, `boost_system`, `boost_thread`, and `boost_chrono`. Compilation can
45
+
be done using `clang` or `gcc` (gcc 11 or higher recommended). If LZ4 is not
46
+
already configured, it can be installed from [LZ4 on github](https://github.com/lz4/lz4). Installation of boost
47
+
libraries are typically system-specific (e.g. using a command like `yum`, `dbn`, `rpm`, `apt-get`, etc.).
38
48
39
49
## **Java Library**
40
50
@@ -57,23 +67,12 @@ Requires Maven (`mvn`) and an installation of Java on your system.
57
67
**Running on "ifarm" at JLab will not work unless you install java yourself**. Note that the default java versions on the farm will be too old to
58
68
work. See downloads from [OpenJDK](https://openjdk.org/install/) or [Oracle](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html).
*[EVIO Data Format Reference](https://jeffersonlab.github.io/evio/doc-6.0/format_guide/evio_Formats.pdf)
74
+
The EVIO package was created by the Data Acquisition (DAQ) group and is maintained by the Experimental Physics Software and Computing Infrastructure (EPSCI) group at the Thomas Jefferson National Accelerator Facility (JLab). It has been developed by many authors over the years.
71
75
72
-
Software Library Documentation:
73
-
74
-
*[Javadoc for Java Library](https://jeffersonlab.github.io/evio/doc-6.0/javadoc/index.html)
75
-
*[Doxygen for C Library](https://jeffersonlab.github.io/evio/doc-6.0/doxygen/C/html/index.html)
76
-
*[Doxygen for C++ Libary](https://jeffersonlab.github.io/evio/doc-6.0/doxygen/CC/html/index.html)
77
76
78
77
Other Links:
79
78
*[EVIO Event Viewer on GitHub](https://github.com/JeffersonLab/JEventViewer)
@@ -86,10 +85,8 @@ well as the software used to read and write to these respective `.evio` and `.hi
86
85
More information on the HIPO data format can be found at https://github.com/gavalian/hipo,
87
86
or from the CLAS12 Software Project Coordinator.
88
87
89
-
----------------------------
88
+
Contact: Jon Zarling (jzarling@jlab.org)
90
89
91
90
# **Copyright**
92
91
93
-
----------------------------
94
-
95
92
For any issues regarding use and copyright, read the [license](LICENSE.txt) file.
This folder contains any jar file dependencies required by the EVIO Java library that are not retrieved directly from the Maven repository. At present, only the disruptor library needs to be added from here.
3
+
This folder contains jar files used for executing EVIO code using the Java API. The main jar file was made using Java 17.
4
4
5
-
Note that the disruptor 4.0.0 jar file included comes from a [JeffersonLab fork](https://github.com/JeffersonLab/disruptor) of the original lmax Java library. This forked repository adds an additional function (SpinCountBackoffWaitStrategy) that is required in the evio Java Library.
5
+
It also includes dependencies required by the EVIO Java library that are not retrieved directly from the Maven repository. At present, only the disruptor dependency needs to be added from here. Note that the disruptor 4.0.0 jar file included comes from a [JeffersonLab fork](https://github.com/JeffersonLab/disruptor) of the original lmax Java library. This forked repository adds an additional function (SpinCountBackoffWaitStrategy) that is required in the evio Java Library.
0 commit comments