1#ifndef MIDSX_VOLUME_TALLY_CPP_H
2#define MIDSX_VOLUME_TALLY_CPP_H
5#include "volume_quantity_container.h"
10enum class VolumeTraversal {
41 virtual VolumeTraversal determineVolumeTraversal() = 0;
61 Eigen::Vector3d min_corner_;
62 Eigen::Vector3d max_corner_;
64 VolumeTraversal determineVolumeTraversal()
override;
66 std::pair<double, double> getEnteringAndExitingLengths();
68 std::pair<Eigen::Vector3d, Eigen::Vector3d> getLengthsToSurfacePlanes();
Class which represents an axis-aligned cuboid volume tally.
AACuboidVolumeTally(Eigen::Vector3d min_corner, Eigen::Vector3d max_corner, const VolumeQuantityContainer &quantities)
Constructor for the AACuboidVolumeTally class.
Class which represents a container for volume quantities.
Virtual class which represents a volume tally.
VolumeQuantityContainer & getVolumeQuantityContainer()
Gets the VolumeQuantityContainer object for the volume tally.
void processMeasurements(TempVolumeTallyData &temp_volume_tally_data)
Processes the measurements for a TempVolumeTallyData object.
Struct which represents the temporary data for a volume tally.