• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

openmc-dev / openmc / 25632480981

10 May 2026 03:25PM UTC coverage: 81.003% (-0.4%) from 81.388%
25632480981

Pull #3757

github

web-flow
Merge f7b7414eb into d56cda254
Pull Request #3757: Testing point detectors

17777 of 25846 branches covered (68.78%)

Branch coverage included in aggregate %.

51 of 372 new or added lines in 25 files covered. (13.71%)

3 existing lines in 2 files now uncovered.

58790 of 68678 relevant lines covered (85.6%)

46992975.87 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/angle_energy.cpp
1
#include "openmc/angle_energy.h"
2

3
#include <cmath> // for sqrt
4

5
#include "openmc/random_lcg.h"
6

7
namespace openmc {
8

NEW
9
double get_jac_and_transform(
×
10
  double E_in, double& mu, double& E_out, uint64_t* seed, double awr)
11
{
NEW
12
  double E_com = E_in / ((awr + 1.0) * (awr + 1.0));
×
NEW
13
  return get_jac_and_transform_impl(E_com, mu, E_out, seed, awr);
×
14
}
15

NEW
16
double get_jac_and_transform_impl(
×
17
  double E_com, double& mu, double& E_out, uint64_t* seed, double awr)
18
{
NEW
19
  double E_cm = E_out;
×
NEW
20
  double mu_lab = mu;
×
NEW
21
  double D = mu_lab * mu_lab - 1.0 + E_cm / E_com;
×
NEW
22
  if (D <= 0.0)
×
23
    return 0.0;
NEW
24
  D = std::sqrt(D);
×
25

NEW
26
  if (mu_lab <= 0.0 && E_cm <= E_cm)
×
27
    return 0.0;
NEW
28
  double E_out1 = E_com * (mu_lab + D) * (mu_lab + D);
×
NEW
29
  double mult;
×
NEW
30
  if (E_cm > E_com) {
×
NEW
31
    mult = 1.0;
×
NEW
32
    E_out = E_out1;
×
33
  } else {
NEW
34
    mult = 2.0;
×
NEW
35
    if (prn(seed) < 0.5) {
×
NEW
36
      E_out = E_out1;
×
37
    } else {
NEW
38
      E_out = E_com * (mu_lab - D) * (mu_lab - D);
×
39
    }
40
  }
NEW
41
  mu = mu_lab * std::sqrt(E_out / E_cm) - std::sqrt(E_com / E_cm);
×
NEW
42
  return mult * E_out / (D * std::sqrt(E_cm * E_com));
×
43
}
44

45
} // namespace openmc
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc