IAP GITLAB

Skip to content
Snippets Groups Projects
Commit c3f780c8 authored by ralfulrich's avatar ralfulrich Committed by Ralf Ulrich
Browse files

fixed some warnings

parent 8d0c6676
No related branches found
No related tags found
1 merge request!265Add medium type, as new property (air, water, rock...)
...@@ -17,10 +17,19 @@ namespace corsika::environment { ...@@ -17,10 +17,19 @@ namespace corsika::environment {
* components. * components.
**/ **/
enum class MediumType { Unknown, Element, RadioactiveElement, InorganicCompound, OrganicCompound, Polymer, Mixture, BiologicalDosimetry }; enum class MediumType {
Unknown,
Element,
RadioactiveElement,
InorganicCompound,
OrganicCompound,
Polymer,
Mixture,
BiologicalDosimetry
};
enum class State { Unknown, Solid, Liquid, Gas, DiatomicGas }; enum class State { Unknown, Solid, Liquid, Gas, DiatomicGas };
enum class Medium : int16_t; enum class Medium : int16_t;
using MediumIntType = std::underlying_type<Medium>::type; using MediumIntType = std::underlying_type<Medium>::type;
...@@ -51,8 +60,8 @@ namespace corsika::environment { ...@@ -51,8 +60,8 @@ namespace corsika::environment {
double dlt0_; double dlt0_;
std::string name() const { return name_; } std::string name() const { return name_; }
std::string pretty_name() const {return pretty_name_; } std::string pretty_name() const { return pretty_name_; }
double weight() const {return weight_; } double weight() const { return weight_; }
int weight_significant_figure() const { return weight_significant_figure_; } int weight_significant_figure() const { return weight_significant_figure_; }
int weight_error_last_digit() const { return weight_error_last_digit_; } int weight_error_last_digit() const { return weight_error_last_digit_; }
double Z_over_A() const { return Z_over_A_; } double Z_over_A() const { return Z_over_A_; }
...@@ -72,14 +81,12 @@ namespace corsika::environment { ...@@ -72,14 +81,12 @@ namespace corsika::environment {
} // namespace corsika::environment } // namespace corsika::environment
#include <corsika/environment/GeneratedMediaProperties.inc> #include <corsika/environment/GeneratedMediaProperties.inc>
namespace corsika::environment { namespace corsika::environment {
constexpr MediumData const& mediumData(Medium const m) { constexpr MediumData const& mediumData(Medium const m) {
return detail::medium_data[static_cast<MediumIntType>(m)]; return detail::medium_data[static_cast<MediumIntType>(m)];
} }
} // namespace corsika::environment } // namespace corsika::environment
...@@ -48,10 +48,7 @@ namespace corsika::environment { ...@@ -48,10 +48,7 @@ namespace corsika::environment {
return medium_; return medium_;
} }
void set_medium(Medium v) { void set_medium(Medium v) { medium_ = v; }
medium_ = v;
}
}; // END: class MediumPropertyModel }; // END: class MediumPropertyModel
......
...@@ -16,10 +16,10 @@ ...@@ -16,10 +16,10 @@
#include <corsika/environment/InhomogeneousMedium.h> #include <corsika/environment/InhomogeneousMedium.h>
#include <corsika/environment/LayeredSphericalAtmosphereBuilder.h> #include <corsika/environment/LayeredSphericalAtmosphereBuilder.h>
#include <corsika/environment/LinearApproximationIntegrator.h> #include <corsika/environment/LinearApproximationIntegrator.h>
#include <corsika/environment/MediumPropertyModel.h>
#include <corsika/environment/NuclearComposition.h> #include <corsika/environment/NuclearComposition.h>
#include <corsika/environment/SlidingPlanarExponential.h> #include <corsika/environment/SlidingPlanarExponential.h>
#include <corsika/environment/UniformMagneticField.h> #include <corsika/environment/UniformMagneticField.h>
#include <corsika/environment/MediumPropertyModel.h>
#include <corsika/environment/UniformRefractiveIndex.h> #include <corsika/environment/UniformRefractiveIndex.h>
#include <corsika/environment/VolumeTreeNode.h> #include <corsika/environment/VolumeTreeNode.h>
#include <corsika/geometry/Line.h> #include <corsika/geometry/Line.h>
...@@ -399,20 +399,18 @@ TEST_CASE("UniformRefractiveIndex w/ Homogeneous") { ...@@ -399,20 +399,18 @@ TEST_CASE("UniformRefractiveIndex w/ Homogeneous") {
CHECK((medium.ArclengthFromGrammage(trajectory, density * 5_m) / 5_m) == Approx(1)); CHECK((medium.ArclengthFromGrammage(trajectory, density * 5_m) / 5_m) == Approx(1));
} }
TEST_CASE("MediumProperties") { TEST_CASE("MediumProperties") {
// test access of medium properties via enum and class types // test access of medium properties via enum and class types
const Medium type = Medium::AirDry1Atm; const Medium type = Medium::AirDry1Atm;
const MediumData& air = mediumData(type); const MediumData& air = mediumData(type);
CHECK(air.Ieff() == 85.7 ); CHECK(air.Ieff() == 85.7);
CHECK(air.Cbar() == 10.5961 ); CHECK(air.Cbar() == 10.5961);
CHECK(air.x0() == 1.7418 ); CHECK(air.x0() == 1.7418);
CHECK(air.x1() == 4.2759 ); CHECK(air.x1() == 4.2759);
CHECK(air.sk() == 3.3994 ); CHECK(air.sk() == 3.3994);
CHECK(air.dlt0() == 0.0 ); CHECK(air.dlt0() == 0.0);
} }
TEST_CASE("MediumPropertyModel w/ Homogeneous") { TEST_CASE("MediumPropertyModel w/ Homogeneous") {
......
...@@ -41,7 +41,7 @@ namespace corsika::utl { ...@@ -41,7 +41,7 @@ namespace corsika::utl {
std::vector<char> axis_types; std::vector<char> axis_types;
axis_types.reserve(rank); axis_types.reserve(rank);
for (int i = 0; i < rank; ++i) { for (unsigned int i = 0; i < rank; ++i) {
auto const& ax = h.axis(i); auto const& ax = h.axis(i);
unsigned const has_underflow = (ax.options() & 0x01) ? 1 : 0; unsigned const has_underflow = (ax.options() & 0x01) ? 1 : 0;
unsigned const has_overflow = (ax.options() & 0x02) ? 1 : 0; unsigned const has_overflow = (ax.options() & 0x02) ? 1 : 0;
......
...@@ -10,8 +10,8 @@ ...@@ -10,8 +10,8 @@
#include <corsika/environment/Environment.h> #include <corsika/environment/Environment.h>
#include <corsika/environment/LayeredSphericalAtmosphereBuilder.h> #include <corsika/environment/LayeredSphericalAtmosphereBuilder.h>
#include <corsika/environment/UniformMagneticField.h>
#include <corsika/environment/MediumPropertyModel.h> #include <corsika/environment/MediumPropertyModel.h>
#include <corsika/environment/UniformMagneticField.h>
#include <corsika/geometry/Point.h> #include <corsika/geometry/Point.h>
#include <corsika/geometry/RootCoordinateSystem.h> #include <corsika/geometry/RootCoordinateSystem.h>
......
...@@ -30,8 +30,8 @@ namespace corsika::setup { ...@@ -30,8 +30,8 @@ namespace corsika::setup {
#include <corsika/environment/HomogeneousMedium.h> #include <corsika/environment/HomogeneousMedium.h>
#include <corsika/environment/InhomogeneousMedium.h> #include <corsika/environment/InhomogeneousMedium.h>
#include <corsika/environment/UniformMagneticField.h>
#include <corsika/environment/MediumPropertyModel.h> #include <corsika/environment/MediumPropertyModel.h>
#include <corsika/environment/UniformMagneticField.h>
/** /**
* standard environment for unit testing. This can be moved to * standard environment for unit testing. This can be moved to
...@@ -59,7 +59,7 @@ namespace corsika::setup::testing { ...@@ -59,7 +59,7 @@ namespace corsika::setup::testing {
* construct suited environment medium model: * construct suited environment medium model:
*/ */
using MyHomogeneousModel = using MyHomogeneousModel =
environment::MediumPropertyModel<environment::UniformMagneticField< environment::MediumPropertyModel<environment::UniformMagneticField<
environment::HomogeneousMedium<setup::EnvironmentInterface>>>; environment::HomogeneousMedium<setup::EnvironmentInterface>>>;
world->SetModelProperties<MyHomogeneousModel>( world->SetModelProperties<MyHomogeneousModel>(
......
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