MIDSX 0.1
A x-ray transport code system for dosimetry
Loading...
Searching...
No Matches
surface_quantity_container.h
1#ifndef MIDSX_SURFACE_QUANTITY_CONTAINER_H
2#define MIDSX_SURFACE_QUANTITY_CONTAINER_H
3
4#include <memory>
5#include <unordered_map>
6#include "surface_quantity.h"
7
15public:
22
29
35 void measureAll(TempSurfaceTallyData& temp_tally_data);
36
44
49 void clear();
50
56 std::unordered_map<VectorSurfaceQuantityType, VectorSurfaceQuantity>& getVectorQuantities();
57
63 std::unordered_map<CountSurfaceQuantityType, CountSurfaceQuantity>& getCountQuantities();
64
70 void setArea(double area);
71
77 double getArea() const;
78private:
79 std::unordered_map<VectorSurfaceQuantityType, VectorSurfaceQuantity> vector_quantities_;
80 std::unordered_map<CountSurfaceQuantityType, CountSurfaceQuantity> count_quantities_;
81 double area_;
82};
83
84namespace SurfaceQuantityContainerFactory {
85 SurfaceQuantityContainer AllQuantities();
86}
87
88#endif //MIDSX_SURFACE_QUANTITY_CONTAINER_H
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.
Definition tally_data.h:24