Skip to content

v1.2.0 : Update Total Cross Section Calculation

Compare
Choose a tag to compare
@tomeichlersmith tomeichlersmith released this 13 Jan 18:07
· 75 commits to main since this release

The biggest change for this release and the one that motiviated an increase in the minor version is that the cross section calculation was improved. Specifically, the numerical integration of chi was stabilized so we can know use it everywhere. This means the only variation between different calculation methods is whether or not to neglect the lepton mass and the dark photon recoil angle theta.

Breaking Changes

It is important to note that this release breaks the previous API for constructing the model, now choosing to force the user to define which scaling method and which cross section calculation method they want the model to use. The easiest way to update is to look at one of the examples in app, specifically, in xsec_calc.cxx, we construct the model as below.

  auto model = std::make_shared<g4db::G4DarkBreMModel>(
        g4db::G4DarkBreMModel::ScalingMethod::Undefined, // scaling method
        xsec_methods.at(method), // xsec calculation method
        0.0, // threshold for non-zero xsec
        1.0, // epsilon
        "NOT NEEDED", // path to dark brem event library
        muons, // lepton is a muon (or not)
        622, // ID of dark photon in event library
        false // load event library
        );

where xsec_methods is a std::map from the CLI names for the different methods to the enums that are taken as arguments to the model constructor.

What's Changed

Full Changelog: v1.1.2...v1.2.0