A monte carlo pin cell spectral code for nuclear engineering applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Fissioner.h
Go to the documentation of this file.
1 
8 #ifndef FISSIONER_H_
9 #define FISSIONER_H_
10 
11 #ifdef __cplusplus
12 #include "log.h"
13 #include "integrate.h"
14 #include "interpolate.h"
15 #include "arraycreator.h"
16 #endif
17 
18 
32 class Fissioner {
33 
34 private:
36  int _num_bins;
38  float* _cdf;
40  float* _cdf_energies;
42  float _E_max;
43 
44 public:
45  Fissioner();
46  virtual ~Fissioner();
47  int getNumBins();
48  void setNumBins(int num_bins);
49  void setEMax(float E_max);
50  void buildCDF();
51  float wattSpectrum(float energy);
52  float emitNeutronMeV();
53  float emitNeutroneV();
54 
55  void retrieveCDF(float* cdf, int num_bins);
56  void retrieveCDFEnergies(float* cdf_energies, int num_bins);
57 };
58 
59 
60 #endif /* FISSIONER_H_ */
float emitNeutronMeV()
Sample the Fissioner's CDF and return a neutron energy from fission.
Definition: Fissioner.cpp:100
virtual ~Fissioner()
Fissioner destructor deallocates memory for CDF arrays.
Definition: Fissioner.cpp:19
void retrieveCDFEnergies(float *cdf_energies, int num_bins)
Fills an input array with the Fissioner's CDF energies.
Definition: Fissioner.cpp:170
int getNumBins()
Returns the number of bins that the Fissioner uses for the CDF.
Definition: Fissioner.cpp:31
void setNumBins(int num_bins)
Sets the number of bins that we wish to use for the CDF.
Definition: Fissioner.cpp:40
int _num_bins
Definition: Fissioner.h:36
Functions for creating arrays with similar syntax to MATLAB.
float * _cdf_energies
Definition: Fissioner.h:40
float * _cdf
Definition: Fissioner.h:38
void buildCDF()
Builds the CDF of the Watt Spectrum.
Definition: Fissioner.cpp:57
Fissioner()
Default Fissioner constructor.
Definition: Fissioner.cpp:9
float _E_max
Definition: Fissioner.h:42
void retrieveCDF(float *cdf, int num_bins)
Fills an input array with the Fissioner's CDF values.
Definition: Fissioner.cpp:139
float emitNeutroneV()
Sample the Fissioner's CDF and return a neutron energy from fission.
Definition: Fissioner.cpp:118
float wattSpectrum(float energy)
Returns the chi value for a given energy from the Watt spectrum.
Definition: Fissioner.cpp:90
Utility functions for numerical integration of 1D functions.
void setEMax(float E_max)
Sets the maximum energy value for the CDF.
Definition: Fissioner.cpp:49
Utility functions for writing log messages to the screen.
Utility functions for linear interpolation of 1D functions.
The Fissioner represents the physics of fission neutron emission.
Definition: Fissioner.h:32