1#ifndef MIDSX_SURFACE_QUANTITY_CONTAINER_H
2#define MIDSX_SURFACE_QUANTITY_CONTAINER_H
5#include <unordered_map>
6#include "surface_quantity.h"
79 std::unordered_map<VectorSurfaceQuantityType, VectorSurfaceQuantity> vector_quantities_;
80 std::unordered_map<CountSurfaceQuantityType, CountSurfaceQuantity> count_quantities_;
84namespace SurfaceQuantityContainerFactory {
Class which represents a count quantity for a surface tally.
Class which represents a container for surface quantities.
SurfaceQuantityContainer operator+(SurfaceQuantityContainer &other) const
Overloads the + operator for SurfaceQuantityContainer.
std::unordered_map< VectorSurfaceQuantityType, VectorSurfaceQuantity > & getVectorQuantities()
Gets the map of vector quantities in the container.
void setArea(double area)
Sets the area of the surface tally.
void clear()
Clears the container of all quantities.
void addCountQuantity(const CountSurfaceQuantity &quantity)
Adds a count quantity to the container.
void measureAll(TempSurfaceTallyData &temp_tally_data)
Measures all quantities in the container for a TempSurfaceTallyData object.
double getArea() const
Gets the area of the surface tally.
std::unordered_map< CountSurfaceQuantityType, CountSurfaceQuantity > & getCountQuantities()
Gets the map of count quantities in the container.
void addVectorQuantity(const VectorSurfaceQuantity &quantity)
Adds a vector quantity to the container.
Class which represents a vector quantity for a surface tally.
Struct which represents the temporary data for a surface tally.