OpenMC/include/openmc/bremsstrahlung.h

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

51 lines
1.3 KiB
C
Raw Permalink Normal View History

2019-01-11 16:31:22 -06:00
#ifndef OPENMC_BREMSSTRAHLUNG_H
#define OPENMC_BREMSSTRAHLUNG_H
#include "openmc/particle.h"
#include "openmc/tensor.h"
2019-01-11 16:31:22 -06:00
namespace openmc {
//==============================================================================
// Bremsstrahlung classes
//==============================================================================
class BremsstrahlungData {
public:
// Data
tensor::Tensor<double> pdf; //!< Bremsstrahlung energy PDF
tensor::Tensor<double> cdf; //!< Bremsstrahlung energy CDF
tensor::Tensor<double> yield; //!< Photon yield
2019-01-11 16:31:22 -06:00
};
class Bremsstrahlung {
public:
// Data
BremsstrahlungData electron;
BremsstrahlungData positron;
};
//==============================================================================
// Global variables
//==============================================================================
namespace data {
extern tensor::Tensor<double>
2019-01-11 16:31:22 -06:00
ttb_e_grid; //! energy T of incident electron in [eV]
extern tensor::Tensor<double>
2019-01-11 16:31:22 -06:00
ttb_k_grid; //! reduced energy W/T of emitted photon
} // namespace data
//==============================================================================
// Global variables
//==============================================================================
2019-01-11 16:31:22 -06:00
void thick_target_bremsstrahlung(Particle& p, double* E_lost);
} // namespace openmc
#endif // OPENMC_BREMSSTRAHLUNG_H