JANA2 is a cutting-edge C++ framework designed for High Energy and Nuclear Physics experimental data reconstruction. It excels in multi-threaded processing, ensuring maximum efficiency and scalability. With its intuitive setup and extensive customization options, JANA2 empowers both novice and experienced programmers to contribute effectively. Whether running on a local machine or a large computing cluster, JANA2 optimizes performance, making it the ideal choice for any scale of project.
This website provides documentation for JANA2 C++ API automatically generated by Doxygen.
Main API
- JApplication: The main entry point into the program
- JObject: Data containers for specific results
- JEventSource: From a file or messaging producer, expose a stream of events. Each event is an aggregate of JObjects
- JFactory: Given an event, calculate a specific result, potentially calling other JFactories recursively to obtain any prereqs
- JEventProcessor: Run desired JFactories over the event stream, writing results to an output file or messaging consumer
Streaming Extensions
User-facing utilities
- JParameter: Configure the behavior of components at runtime
- JLogger: Publish debugging information to standard out in a structured, convenient, threadsafe way
- JService: Share external (stateful) services such as calibration constants and magnetic field maps
Internal services
- JParameterManager: Furnish the user with parameters extracted from command line flags and configuration files
- JExecutionEngine: Runs the topology. Manages the thread team and the topology status.