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