cepgen is hosted by Hepforge, IPPP Durham
CepGen 1.2.5
Central exclusive processes event generator
Loading...
Searching...
No Matches
SteeredObject.h File Reference
#include <algorithm>
#include "CepGen/Core/Steerable.h"
+ Include dependency graph for SteeredObject.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  SteeredObject< T >
 Base user-steerable object. More...
 

Namespaces

namespace  cepgen
 Common namespace for this Monte Carlo generator.
 

Macros

#define REGISTER_STEEREDOBJ_CONTENT_TYPE
 
#define __TYPE_ENUM(type, map_name)
 
#define __TYPE_ENUM(type, map_name)
 
#define __TYPE_ENUM(type, map_name)
 
#define __TYPE_ENUM(type, map_name)   std::unordered_map<std::string, type&> map_name;
 

Macro Definition Documentation

◆ __TYPE_ENUM [1/4]

#define __TYPE_ENUM (   type,
  map_name 
)
Value:
for (const auto& kv : map_name) \
params_.set(kv.first, kv.second);

Definition at line 84 of file SteeredObject.h.

◆ __TYPE_ENUM [2/4]

#define __TYPE_ENUM (   type,
  map_name 
)
Value:
for (const auto& kv : map_name) \
params_.fill(kv.first, kv.second);

Definition at line 84 of file SteeredObject.h.

◆ __TYPE_ENUM [3/4]

#define __TYPE_ENUM (   type,
  map_name 
)
Value:
inline SteeredObject& add(const std::string& key, type& var) { \
map_name.insert({key, var}); \
map_name.at(key) = params_.operator[]<type>(key); \
return *this; \
}

Definition at line 84 of file SteeredObject.h.

◆ __TYPE_ENUM [4/4]

#define __TYPE_ENUM (   type,
  map_name 
)    std::unordered_map<std::string, type&> map_name;

Definition at line 84 of file SteeredObject.h.

◆ REGISTER_STEEREDOBJ_CONTENT_TYPE

#define REGISTER_STEEREDOBJ_CONTENT_TYPE
Value:
__TYPE_ENUM(bool, map_bools_) \
__TYPE_ENUM(int, map_ints_) \
__TYPE_ENUM(unsigned long long, map_ulongs_) \
__TYPE_ENUM(double, map_dbls_) \
__TYPE_ENUM(std::string, map_strs_) \
__TYPE_ENUM(Limits, map_lims_) \
__TYPE_ENUM(ParametersList, map_params_) \
__TYPE_ENUM(std::vector<int>, map_vec_ints_) \
__TYPE_ENUM(std::vector<Limits>, map_vec_lims_)
#define __TYPE_ENUM(type, map_name)

Definition at line 26 of file SteeredObject.h.