FreeHEP
Encyclopedia
FreeHEP is an open source
Java
library
designed to make programming high energy physics
applications easier. While the name and main focus of the project is high energy physics, many self-contained API
s in the library are generic and suitable for non-physics applications.
FreeHEP is distributed under the GNU Lesser General Public License
(LGPL). Binary and source code distributions are available.
General purpose components include an application framework
for menus and plugins, extensions to Streams and Writers of the java.io package
, a PostScript
viewer, vector graphics
support (including PostScript
, PDF, EMF
, SVG, SWF
, and CGM
), bitmap
image support (including GIF
, PNG, JPEG
, PPM
).
High energy physics components support HEP event display, data analysis interfaces, and HEP-specific IO formats including Root and StdHEP (part of CLHEP
).
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
library
Library (computer science)
In computer science, a library is a collection of resources used to develop software. These may include pre-written code and subroutines, classes, values or type specifications....
designed to make programming high energy physics
Particle physics
Particle physics is a branch of physics that studies the existence and interactions of particles that are the constituents of what is usually referred to as matter or radiation. In current understanding, particles are excitations of quantum fields and interact following their dynamics...
applications easier. While the name and main focus of the project is high energy physics, many self-contained API
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
s in the library are generic and suitable for non-physics applications.
FreeHEP is distributed under the GNU Lesser General Public License
GNU Lesser General Public License
The GNU Lesser General Public License or LGPL is a free software license published by the Free Software Foundation . It was designed as a compromise between the strong-copyleft GNU General Public License or GPL and permissive licenses such as the BSD licenses and the MIT License...
(LGPL). Binary and source code distributions are available.
General purpose components include an application framework
Application framework
In computer programming, an application framework consists of a software framework used by software developers to implement the standard structure of an application for a specific development environment ....
for menus and plugins, extensions to Streams and Writers of the java.io package
Java Platform, Standard Edition
Java Platform, Standard Edition or Java SE is a widely used platform for programming in the Java language. It is the Java Platform used to deploy portable applications for general use...
, a PostScript
PostScript
PostScript is a dynamically typed concatenative programming language created by John Warnock and Charles Geschke in 1982. It is best known for its use as a page description language in the electronic and desktop publishing areas. Adobe PostScript 3 is also the worldwide printing and imaging...
viewer, vector graphics
Vector graphics
Vector graphics is the use of geometrical primitives such as points, lines, curves, and shapes or polygon, which are all based on mathematical expressions, to represent images in computer graphics...
support (including PostScript
PostScript
PostScript is a dynamically typed concatenative programming language created by John Warnock and Charles Geschke in 1982. It is best known for its use as a page description language in the electronic and desktop publishing areas. Adobe PostScript 3 is also the worldwide printing and imaging...
, PDF, EMF
Windows Metafile
Windows Metafile is a graphics file format on Microsoft Windows systems, originally designed in the 1990s. Windows Metafiles are intended to be portable between applications and may contain both vector graphics and bitmap components....
, SVG, SWF
SWF
SWF is an Adobe Flash file format used for multimedia, vector graphics and ActionScript. Originating with FutureWave Software, then transferred to Macromedia, and then coming under the control of Adobe, SWF files can contain animations or applets of varying degrees of interactivity and function.,...
, and CGM
Computer Graphics Metafile
Computer Graphics Metafile is a free and open international standard file format for 2D vector graphics, raster graphics, and text, and is defined by ISO/IEC 8632.-Overview:...
), bitmap
Raster graphics
In computer graphics, a raster graphics image, or bitmap, is a data structure representing a generally rectangular grid of pixels, or points of color, viewable via a monitor, paper, or other display medium...
image support (including GIF
GIF
The Graphics Interchange Format is a bitmap image format that was introduced by CompuServe in 1987 and has since come into widespread usage on the World Wide Web due to its wide support and portability....
, PNG, JPEG
JPEG
In computing, JPEG . The degree of compression can be adjusted, allowing a selectable tradeoff between storage size and image quality. JPEG typically achieves 10:1 compression with little perceptible loss in image quality....
, PPM
Portable pixmap
The phrase Netpbm format commonly refers to any or all of the members of a set of closely related graphics formats used and defined by the Netpbm project....
).
High energy physics components support HEP event display, data analysis interfaces, and HEP-specific IO formats including Root and StdHEP (part of CLHEP
CLHEP
CLHEP is a C++ library that provides utility classes for general numerical programming, vector arithmetic, geometry, pseudorandom number generation, and linear algebra, specifically targeted for high energy physics simulation and analysis software...
).
See also
- jhepworkJHepWorkjHepWork is an interactive framework for scientific computation, data analysis and data visualization designed for scientists, engineers and students...
, jHepWork, Java data analysis framework based on FreeHEP - CLHEPCLHEPCLHEP is a C++ library that provides utility classes for general numerical programming, vector arithmetic, geometry, pseudorandom number generation, and linear algebra, specifically targeted for high energy physics simulation and analysis software...
, similar library - Geant4Geant4Geant4 is a platform for "the simulation of the passage of particles through matter," using Monte Carlo methods. It is the successor of the GEANT series of software toolkits developed by CERN, and the first to use Object oriented programming . Its development, maintenance and user support are...