Various things
Hi all,
This merge request contains a number of things
- Test program
src/analysis.ccis 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 testand have the test-suite run. - Fix to CI. In addition to the changes above, the CI pulls in the needed
boost-develpackage on top of thehepstore/rivet-hepmc3image. - 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
CRMCinterfaceretrieves some more symbols from the loaded libraries. This is to allow third party applications to link with the librarylibCrmc.soand be independent of the parameters filecrmc.param. - The header file
CRCMconfig.his 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
CRMCis 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 byOutputPolicyNoneinstead 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}::Statis pulled out as a separate class template instantised as needed.
I hope you will find these changes useful.
Yours,
Christian