BioCMAMC-ST
config_loader.hpp
1
#ifndef __MODEL_CONFIG_LOADER__
2
#define __MODEL_CONFIG_LOADER__
3
4
#include <mc/particles_container.hpp>
5
#include <mc/traits.hpp>
6
#include <variant_model.hpp>
7
8
namespace
Models
9
{
10
11
template
<
typename
Model>
12
13
requires
(std::is_constructible_v<AutoGenerated::ContainerVariant,
14
MC::ParticlesContainer<Model>
>
15
&&
ConfigurableModel<Model>
)
16
17
Model::Config
18
get_model_configuration
(std::size_t n)
19
{
20
return
Model::get_config(n);
21
}
22
template
<
typename
Model>
23
24
requires
(std::is_constructible_v<AutoGenerated::ContainerVariant,
25
MC::ParticlesContainer<Model>
>
26
&&
NonConfigurableModel<Model>
)
27
28
Model::Config
29
get_model_configuration
(std::size_t n)
30
{
31
(void)n;
32
return
std::nullopt;
33
}
34
35
};
// namespace Models
36
37
#endif
MC::ParticlesContainer
Main owning object for Monte-Carlo particles.
Definition
particles_container.hpp:56
ConfigurableModel
Definition
traits.hpp:141
NonConfigurableModel
Definition
traits.hpp:138
Models
Models definition.
Definition
config_loader.hpp:9
Models::get_model_configuration
Model::Config get_model_configuration(std::size_t n)
Definition
config_loader.hpp:18
apps
libs
models
public
models
config_loader.hpp
Generated by
1.14.0