1#ifndef MIDSX_VOLUME_QUANTITY_CONTAINER_H
2#define MIDSX_VOLUME_QUANTITY_CONTAINER_H
5#include <unordered_map>
6#include "volume_quantity.h"
80 std::unordered_map<VectorVolumeQuantityType, VectorVolumeQuantity> vector_quantities_;
81 std::unordered_map<CountVolumeQuantityType, CountVolumeQuantity> count_quantities_;
85namespace VolumeQuantityContainerFactory {
Class which represents a vector quantity for a volume tally.
Class which represents a container for volume quantities.
void addVectorQuantity(const VectorVolumeQuantity &quantity)
Adds a vector quantity to the container.
std::unordered_map< VectorVolumeQuantityType, VectorVolumeQuantity > & getVectorQuantities()
Gets the map of vector quantities in the container.
void setVolume(double volume)
Sets the volume of the volume tally.
void addCountQuantity(const CountVolumeQuantity &quantity)
Adds a count quantity to the container.
VolumeQuantityContainer operator+(VolumeQuantityContainer &other) const
Overloads the + operator for VolumeQuantityContainer.
double getVolume() const
Gets the volume of the volume tally.
std::unordered_map< CountVolumeQuantityType, CountVolumeQuantity > & getCountQuantities()
Gets the map of count quantities in the container.
void measureAll(TempVolumeTallyData &temp_tally_data)
Measures all quantities in the container for a TempVolumeTallyData object.
void clear()
Clears the container of all quantities.
Struct which represents the temporary data for a volume tally.