1#ifndef MIDSX_SURFACE_QUANTITY_H
2#define MIDSX_SURFACE_QUANTITY_H
13enum class VectorSurfaceQuantityType {
19namespace VectorSurfaceQuantityHelper {
20 std::string toString(VectorSurfaceQuantityType type);
26enum class CountSurfaceQuantityType {
30namespace CountSurfaceQuantityHelper {
31 std::string toString(CountSurfaceQuantityType type);
78 VectorSurfaceQuantityType
getType()
const;
87 VectorSurfaceQuantityType type_;
88 bool totaled_ =
false;
144 CountValue getSingleIncoherentScatterValues()
const;
145 CountValue getSingleCoherentScatterValues()
const;
148 CountSurfaceQuantityType type_;
149 bool totaled_ =
false;
Class which represents a count quantity for a surface tally.
CountSurfaceQuantity(CountSurfaceQuantityType type)
Constructor for the CountSurfaceQuantity class.
void measure(TempSurfaceTallyData &temp_surface_tally_data)
Measures the CountSurfaceQuantity for a TempSurfaceTallyData object.
std::function< bool(const TempSurfaceTallyData &)> ValueExtractor
ValueExtractor is a function that extracts necessary values from a TempSurfaceTallyData object for a ...
CountSurfaceQuantity operator+(const CountSurfaceQuantity &other) const
Overloads the + operator for CountSurfaceQuantity.
CountSurfaceQuantityType getType() const
Returns the type of the CountSurfaceQuantity.
Class which represents a count quantity. Used by the Tally classes to store simulation data.
Class which represents a vector quantity for a surface tally.
void measure(TempSurfaceTallyData &temp_surface_tally_data)
Measures the VectorSurfaceQuantity for a TempSurfaceTallyData object.
VectorSurfaceQuantity operator+(VectorSurfaceQuantity &other) const
Overloads the + operator for VectorSurfaceQuantity.
VectorSurfaceQuantityType getType() const
Returns the type of the VectorSurfaceQuantity.
VectorSurfaceQuantity(VectorSurfaceQuantityType type)
Constructor for the VectorSurfaceQuantity class.
std::function< double(const TempSurfaceTallyData &)> ValueExtractor
ValueExtractor is a function that extracts necessary values from a TempSurfaceTallyData object for a ...
Class which represents a vector quantity. Used by the Tally classes to store simulation data.
Struct which represents the temporary data for a surface tally.