The documentation of ICARUS is spread mainly between:
- ICARUS wiki in GitHub at https://sbnsoftware.github.io/icaruscode_wiki/Wiki; there is also an older Fermilab Redmine wiki
- automatically generated (Doxygen) code documentation at https://icarus-exp.fnal.gov/at_work/software/doc/icaruscode/versionlist.html (requires authentication)
ICARUS software is spread across several repositories under GitHub SBNSoftware. Help yourself:
icaruscode
is the main entry point (code based on art)icarusalg
includes art-independent codeicarus_signal_processing
includes art-independent codeicarus_data
distributes large data filesicarusutil
mostly contains experiment customization oflarbatch
utilitiessbncode
is code shared with other SBN experimentssbnobj
contains data object definitions shared with SBNsbndaq_artdaq_core
interfaces with DAQ and holds data objects definitions for ICARUS "raw" data
ICARUS software is in great part based on LArSoft. Here are some shortcuts to its GitHub repositories:
larsoft
(umbrella repository)- data product repositories:
larcoreobj
, basic geometry data productslardataobj
, most simulation and reconstruction data products (not thesimb
namespace)
larcorealg
, geometry code and some bsic utilitieslardataalg
, some basic service providers (LArProperties
,DetectorClocks
,DetectorProperties
) and utilitieslarevt
, with database codelarsim
, detector simulation (esp. GEANT4)larana
, including calorimetry and optical reconstructionlarreco
, most reconstruction algorithms and modulesart
, framework underpinning data processing (many support libraries are also in art-framework-suite)