Here is a list of all the files and directories distributed with the
package, with a brief description of their purpose.  It is mostly
meant as a reference for developers of the library.

AUTHORS
    Lists the authors of the package
COPYING
    The GNU General Public License
README.md
    Information on the package and installation instruction
INSTALL
    General guide to installation of Autotools-based packages
    (automatically included by Autotools)
VERSION
    A file with the current version x.y.z of Ninja
configure.ac
    Autoconf file
Makefile.am
    Main automake file
configure
    Shell configure script (automatically generated by Autotools)

src/
    Directory with the source files of the library (and related
    internal headers)
src/ninja-config
    Source file for the ninja-config program, which prints information
    on the current installation of ninja
src/Makefile.am
    Automake file for the directory src/
src/cuts_utils.hh
    Internal header, with utilities related to multiple cuts, such as
    implementation of the solutions of the cuts and the polynomial
    division algorithm
src/cuts_utils-inl.hh
    Implements the inline functions declared in src/cuts_utils.hh
src/cuts_utils.cc
    Implementation of the procedures declared in src/cuts_utils.hh
src/ninja_hash_table.hh
    Definition of a hash table to be used as a cache
src/integral_cache.hh
    Definition of a data-structure for the cache of Master Integrals,
    using the hash table defined in src/ninja_hash_table.hh
src/looptools_interface.cc
    Implementation of the interface with the LoopTools library
src/avholo_wrapper.F90
    Wrapper of OneLoop subroutines, using C bindings
src/avholo_decls.hh
    extern "C" declarations of procedures defined in src/avholo_wrapper.F90
src/avholo_interface.cc
    Implementation of the interface with the OneLoop library
src/ninjavholo_wraps.cc
    Implements a C wrapper of interface for the OneLoop integral
    library, which can be exported in Fortran and Fortran-90.
src/ninjavholo.F90
    Fortran-90 module which allows to use the Ninja wrapper of the
    OneLoop integral library (including the cache of Master
    Integrals).
src/basis.hh
    Internal header, defining a class Basis representing a basis of
    massless four-momenta
src/basis.cc
    Implementation of the constructors of the class Basis
src/polys_implem.cxx
    Implementation of polynomial residues
src/ninja.cc
    Implementation of evaluate method of the Amplitude template class
src/Xninja.cc
    The same as src/ninja.cc, but for higher-rank integrands
src/gosam_interface.hh
    Declarations used in the interface with GoSam
src/gosam_interface.cc
    Implementation of the GoSam interface
src/ninjago.F90
    Fortran90 module defining the Fortran interface between the
    library and GoSam
src/coefficient_level_subs.hh
    Declaration of procedures implementing coefficient level subtractions
src/coefficient_level_subs.cc
    Implements procedures defined in src/coefficient_level_subs.hh
src/cuts.hh
    Definition of data structures representing cuts
src/cuts.cc
    Implementation of procedures related to multiple cuts and declared
    in src/cuts.hh
src/Xcuts.hh
    The same as src/cuts.hh, but for higher-rank integrands
src/Xcuts.cc
    The same as src/cuts.cc, but for higher-rank integrands
src/integermath.hh
    Simple inline implementation of binomial functions for combinatorics
src/s_mat_wrapper.hh
    Wrapper of SMatrix object, which handles its allocation and
    definition in the Amplitude::evaluate method, if this was not
    supplied by the user
src/integral_library_wrapper.hh
    Wraps IntegralLibrary objects, in a way which is easier to use
    internally with templates
src/ninja_scoped_array.hh
    Defines a dynamic array which automatically frees the allocated
    memory when going out of scope
src/spinors.cc
    Implementation of spinor-related routines declared in
    ninja/spinors.hh
src/tmp_utils.hh
    Utilities used with templates
src/integral_library.cc
    Default definitions of some virtual methods of the IntegralLibrary
    class (defined in src/ninja/integral_library.hh)
src/cuts_vector.hh
    Definition of a class used as container for multiple-cut objects
src/rambo.cc
    C++ implementation of Rambo phase-space generator
src/ninja_implem.cxx
    Implementation of private methods of the Amplitude template class

src/ninja/
    Directory containing public header files (which are installed)
src/ninja/ninja_config.h.in
    Public include file template
src/ninja/Makefile.am
    Automake file for the directory src/ninja/
src/ninja/avholo.hh
    Definition of the interface with OneLoop
src/ninja/looptools.hh
    Definition of the interface with LoopTools
src/ninja/quadruple.hh
    Wrappers of GCC libquadmath
src/ninja/static_arrays.hh
    Wrappers of 3- and 4-dimensional static arrays
src/ninja/spinors.hh
    Definition of a Spinor class for massless spinors and related
    functions
src/ninja/zero_float.hh
    Definition of the "Massless" type (behaves like the 0 floating
    point number)
src/ninja/s_mat.hh
    Definition of SMatrix class
src/ninja/rambo.hh
    Public header file of C++ version of Rambo phase-space generator
src/ninja/ninjanumgen.hh
    Header with definitions needed by numerator methods defined with
    the script NinjaNumGen
src/ninja/ninja.hh
    Main header files, defining the Amplitude template class and the
    flags controlling the options
src/ninja/momentum.hh
    Definition of classes for four-momenta
src/ninja/thread_safe_integral_library.hh
    A wrapper for a generic IntegralLibrary object, which makes it
    thread-safe
src/ninja/types.hh
    Definition of the types used by the library
src/ninja/ninja_in.hh
    Definitions of the internal options
src/ninja/num_defs.hh
    Definition of the generic interface for the numerators of the
    integrands
src/ninja/integral_library.hh
    Definition of the generic interface for the libraries of Master
    Integrals
src/mninja.F90
    Fortran module wrapping the ninja routine (only the tensor
    interface is exposed at the moment)
src/ninja/tensor_ninja.hh
    Header for the tensor interface
src/tensor_ninja.cc
    implementation of Laurent expansion for tensor integrands
src/ninja_wraps.cc
    Wrappers of ninja routines for usage from non-C++ (e.g. Fortran)
    programs
src/quadninja/Makefile.am
    automake file for quadninja headers
src/quadsources/genquadsources.sed
    sed script translating ninja sources in quadninja sources

utils/
    Directory containing other utilities, written in Python and
    distributed with the main library
utils/setup.py
    Installation of the utilities (currently only NinjaNumGen)

utils/ninjanumgen/
    Directory with the python package NinjaNumGen
utils/ninjanumgen/ninjanumgen
    Script version of NinjaNumGen
utils/ninjanumgen/__init__.py
    Init file of ninjanumgen Python module
utils/ninjanumgen/ninjanumgen.py
    Definition of the functions and classes in the ninjanumgen Python
    module
utils/ninjanumgen/templates/
    Directory containing template-files used by NinjaNumGen when
    generating source code
utils/ninjanumgen/templates/ninja_laurent.frm
    Form code which implements the Laurent expansions
utils/ninjanumgen/templates/ninja_opt.frm
    Form code which implements the optimizations
utils/ninjanumgen/templates/ninjanumgen_template.hh
    Template of the produced C++ header file
utils/ninjanumgen/templates/ninjanumgen_template.cc
    Template of the produced C++ source file

examples/
    Directory containing the examples distributed with the library
examples/Makefile.am
    Automake file for the directory examples/
examples/6photons.frm
    Form file with the numerator for 6 photons
examples/6photons.sh
    Shell script for the generation of the numerator methods of the
    6-photons example with NinjaNumGen
examples/6photons.py
    Python script for the generation of the numerator methods of the
    6-photons example with NinjaNumGen
examples/6photons_num.hh
    Header file for the numerator of the 6-photons example
examples/6photons_num.cc
    Definition of the numerator methods of the 6-photons example
    (automatically generated by NinjaNumGen with the .sh or .py
    script)
examples/6photons_init.cc
    Definition of an init method for the the 6-photons example
    numerator
examples/6photons.cc
    main function of the 6-photons example
examples/thread_6photons.cc
    Similar to examples/6photons.cc, but using threads
examples/4photons.frm
    Form file with the numerator for the 4-photons example
examples/4photons.sh
    Shell script for the generation of the numerator methods of the
    4-photons example with NinjaNumGen
examples/4photons.py
    Python script for the generation of the numerator methods of
    the 4-photons example with NinjaNumGen
examples/4photons_num.hh
    Header file for the numerator of the 4-photons example
examples/4photons_num.cc
    Definition of the numerator methods of the 4-photons example
    (automatically generated by NinjaNumGen with the .sh or .py
    script)
examples/4photons_init.cc
    Definition of an init method for the the 4-photons example
    numerator
examples/4photons.cc
    main function of the the 4-photons example example
examples/thread_4photons.cc
    Similar to examples/4photons.cc, but using threads
examples/ttbarh.frm
    Form file with the numerator for t-tbar-Higgs
examples/ttbarh.sh
    Shell script for the generation of the numerator methods of
    t-tbar-Higgs with NinjaNumGen
examples/ttbarh.py
    Python script for the generation of the numerator methods of
    t-tbar-Higgs with NinjaNumGen
examples/ttbarh_num.hh
    Header file for the numerator of t-tbar-Higgs
examples/ttbarh_num.cc
    Definition of the numerator methods of t-tbar-Higgs (automatically
    generated by NinjaNumGen with the .sh or .py script)
examples/ttbarh_init.cc
    Definition of an init method for the t-tbar-Higgs numerator
examples/ttbarh.cc
    main function of the t-tbar-Higgs example
examples/mynum.frm
    Form file with the numerator for a simple 4-point example
examples/simple_test.sh
    Shell script for the generation of the numerator methods of the
    simple 4-point example with NinjaNumGen
examples/simple_test.py
    Python script for the generation of the numerator methods of the
    simple 4-point example with NinjaNumGen
examples/mynum.hh
    Header file for the numerator of the simple 4-point example
examples/mynum.cc
    Definition of the numerator methods of the simple 4-point example
    (automatically generated by NinjaNumGen with the .sh or .py
    script)
examples/simple_test.cc
    main function of the the simple 4-point example example
examples/mynumhr.frm
    Form file with the numerator for a 5-point higher-rank example
examples/_higher_rank_test.sh
    Shell script for the generation of the numerator methods of the
    5-point higher-rank example with NinjaNumGen
examples/_higher_rank_test.py
    Python script for the generation of the numerator methods of the
    5-point higher-rank example with NinjaNumGen
examples/mynumhr.hh
    Header file for the numerator of the 5-point higher-rank example
examples/mynumhr.cc
    Definition of the numerator methods of the 5-point higher-rank
    example (automatically generated by NinjaNumGen with the .sh or
    .py script)
examples/higher_rank_test.cc
    main function of the the 5-point higher-rank example example
examples/quadmynum.cc
    Same as my_num.cc but using quadninja
examples/quadmynum.hh
    Same as my_num.hh but using quadninja
examples/quadninja_test.cc
    Same as simple_test.cc but using both ninja and quadninja
examples/quadninja_test.py
    Same as simple_test.py but builds the numerators for quadninja
examples/quadninja_test.sh
    Same as simple_test.sh but builds the numerators for quadninja
examples/tensor_higher_rank_test.cc
    Higher-rank test using the tensor-ninja interface
examples/tensor_test.cc
    Test using the tensor-ninja interface

m4/
    m4 macros used by the configuration
m4/m4_ax_cxx_compile_stdcxx_11.m4
    m4 macros checking availability of some optional C++11 features
m4/m4_ax_pthread.m4
    m4 macros for usage with pthread, only needed for some examples
m4/m4_ax_cxx_quadmath.m4
    m4 macros checkinh for quadruple-precision support
m4/m4_ax_cxx_tryandadd_flag.m4
    m4 macros checking for support of some special flags


The following files are automatically generated by Autotools and they
are not meant to be used nor edited directly by users or developers:

install-sh
missing
config.h.in
Makefile.in
ltmain.sh
depcomp
config.sub
config.guess
aclocal.m4
ChangeLog
NEWS
src/Makefile.in
src/ninja/Makefile.in
examples/Makefile.in
m4/ltoptions.m4
m4/libtool.m4
m4/ltversion.m4
m4/lt~obsolete.m4
m4/ltsugar.m4
