Various things
Hi all,
This merge request contains a number of things
- Test program
src/analysis.cc
is independent of ROOT. Instead it uses a simple histogram class to build dNch/deta of the input data. This is to allow the CI to run without installing ROOT. - Tests are defined as proper CTest tests with the appropriate dependencies. That means that in the CI we
can simply do
make test
and have the test-suite run. - Fix to CI. In addition to the changes above, the CI pulls in the needed
boost-devel
package on top of thehepstore/rivet-hepmc3
image. - README files converted to Markdown so that they display nicely in the GitLab interface. I've also fleshed out a number of things in the README's - such as CMake options, links to reference articles, dependencies, and so on.
- The C++ interface class
CRMCinterface
retrieves some more symbols from the loaded libraries. This is to allow third party applications to link with the librarylibCrmc.so
and be independent of the parameters filecrmc.param
. - The header file
CRCMconfig.h
is installed so that 3rd party may pick up the appropriate size of the HEPEVT common block and other such settings. - The new library
libCrmc.so
(orlibCrmc.a
) now contains all the code needed for 3rd party to incorporate CRMC. - The class
CRMC
is no longer a class template (previously templated on output policy), but instead takes a reference to anOutputPolicyNone
(or derived) object. This simplifies the code a lot since we simply rely on the interface defined byOutputPolicyNone
instead of hard-coding output options. This also means that all output policies now derive from the stubOutputPolicyNone
. That also allows us to reuse code from that base class in derived classes (such as printing X-section information). - The template classes
OutputPlociyHepMC{,3}::Stat
is pulled out as a separate class template instantised as needed.
I hope you will find these changes useful.
Yours,
Christian