IAP GITLAB

Skip to content
Snippets Groups Projects
Commit 114a650f authored by ralfulrich's avatar ralfulrich
Browse files

return new volume

parent d4d16712
No related branches found
No related tags found
No related merge requests found
...@@ -37,10 +37,10 @@ namespace corsika { ...@@ -37,10 +37,10 @@ namespace corsika {
template <typename TMediumInterface, template <typename> typename TMediumModelExtra, template <typename TMediumInterface, template <typename> typename TMediumModelExtra,
typename... TModelArgs> typename... TModelArgs>
inline void LayeredSphericalAtmosphereBuilder< inline typename LayeredSphericalAtmosphereBuilder<TMediumInterface, TMediumModelExtra,
TMediumInterface, TMediumModelExtra, TModelArgs...>::volume_tree_node*
TModelArgs...>::addExponentialLayer(GrammageType b, LengthType c, LayeredSphericalAtmosphereBuilder<TMediumInterface, TMediumModelExtra, TModelArgs...>::
LengthType upperBoundary) { addExponentialLayer(GrammageType b, LengthType c, LengthType upperBoundary) {
auto const radius = planetRadius_ + upperBoundary; auto const radius = planetRadius_ + upperBoundary;
checkRadius(radius); checkRadius(radius);
...@@ -68,6 +68,7 @@ namespace corsika { ...@@ -68,6 +68,7 @@ namespace corsika {
} }
layers_.push(std::move(node)); layers_.push(std::move(node));
return layers_.top().get();
} }
template <typename TMediumInterface, template <typename> typename TMediumModelExtra, template <typename TMediumInterface, template <typename> typename TMediumModelExtra,
......
...@@ -75,8 +75,12 @@ namespace corsika { ...@@ -75,8 +75,12 @@ namespace corsika {
, additionalModelArgs_{args...} {} , additionalModelArgs_{args...} {}
public: public:
typedef typename VolumeTreeNode<TMediumInterface>::VTN_type volume_tree_node;
typedef typename VolumeTreeNode<TMediumInterface>::VTNUPtr volume_tree_node_uptr;
void setNuclearComposition(NuclearComposition const& composition); void setNuclearComposition(NuclearComposition const& composition);
void addExponentialLayer(GrammageType b, LengthType c, LengthType upperBoundary); volume_tree_node* addExponentialLayer(GrammageType b, LengthType c,
LengthType upperBoundary);
void addLinearLayer(LengthType c, LengthType upperBoundary); void addLinearLayer(LengthType c, LengthType upperBoundary);
void addTabularLayer(std::function<MassDensityType(LengthType)> const& funcRho, void addTabularLayer(std::function<MassDensityType(LengthType)> const& funcRho,
...@@ -102,8 +106,7 @@ namespace corsika { ...@@ -102,8 +106,7 @@ namespace corsika {
LengthType planetRadius_; LengthType planetRadius_;
std::tuple<TModelArgs...> const additionalModelArgs_; std::tuple<TModelArgs...> const additionalModelArgs_;
std::stack<typename VolumeTreeNode<TMediumInterface>::VTNUPtr> std::stack<volume_tree_node_uptr> layers_; // innermost layer first
layers_; // innermost layer first
}; // end class LayeredSphericalAtmosphereBuilder }; // end class LayeredSphericalAtmosphereBuilder
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment