11 #include <corsika/media/IMediumModel.hpp> 12 #include <corsika/media/VolumeTreeNode.hpp> 13 #include <corsika/framework/geometry/Point.hpp> 14 #include <corsika/framework/geometry/RootCoordinateSystem.hpp> 15 #include <corsika/framework/geometry/Sphere.hpp> 17 #include <corsika/media/Universe.hpp> 28 template <
typename IEnvironmentModel>
44 typename BaseNodeType::VTNUPtr
const&
getUniverse()
const;
63 template <
class TVolumeType,
typename... TVolumeArgs>
64 static std::unique_ptr<BaseNodeType>
createNode(TVolumeArgs&&... args);
68 typename BaseNodeType::VTNUPtr universe_;
73 #include <corsika/detail/media/Environment.inl>
CoordinateSystemPtr const & getCoordinateSystem() const
Getter for the CoordinateSystem used in the Environment.
`, since they are used everywhere as integral part of the framework.
std::shared_ptr< CoordinateSystem const > CoordinateSystemPtr
To refer to CoordinateSystems, only the CoordinateSystemPtr must be used.
BaseNodeType::VTNUPtr & getUniverse()
Getters for the universe stored in the Environment.
static std::unique_ptr< BaseNodeType > createNode(TVolumeArgs &&... args)
Factory method for creation of VolumeTreeNodes.