XGC1
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
XGC_core
cpp
label.hpp
Go to the documentation of this file.
1
#ifndef LABEL_HPP
2
#define LABEL_HPP
3
4
/* List of fields
5
*/
6
enum class
Label
{
7
E
,
8
dpot
,
9
E00
,
10
ddpotdt
,
11
dAh
,
12
Ah
,
13
dAs
,
14
As
,
15
Ah_cv
,
16
Epar_em
,
17
E_gyro
,
18
dAh_gyro
,
19
Ah_gyro
,
20
dAs_gyro
,
21
As_gyro
,
22
Epar_em_gyro
,
23
dEr_B2
,
24
dEz_B2
,
25
du2_E_rho
,
26
loop_voltage
27
};
28
29
/* Compile-time function to use 2D vector if field-following planes are not used (i.e. XGCa) */
30
//template<PhiInterpType PIT> constexpr VarType vec_type();
31
//template<> constexpr VarType vec_type<PhiInterpType::Planes>(){return VarType::Vector;}
32
//template<> constexpr VarType vec_type<PhiInterpType::None>(){return VarType::Vector2D;}
33
34
35
/* Simple struct tracking the compile-time VarType and PhiInterpType values for a field */
36
//template<PhiInterpType PIT, VarType VT> struct FieldProperties{
37
// static constexpr auto var_type = VT;
38
// static constexpr auto phi_interp_type = PIT;
39
//};
40
41
//template <typename ...FNs> struct FieldList{};
42
43
template
<
typename
T, Label FN>
44
struct
Labeled
{
45
using
var_type
= T;
46
static
constexpr
Label
name
= FN;
47
var_type
v
;
48
};
49
50
#endif
Label::Ah
Label::dAh
Label::dpot
Label::ddpotdt
Labeled::var_type
T var_type
Definition:
label.hpp:45
Label::dAs_gyro
Label::Ah_gyro
Label::Epar_em
Label::Epar_em_gyro
Labeled::name
static constexpr Label name
Definition:
label.hpp:46
Label::As
Label::E
Labeled
Definition:
label.hpp:44
Label::du2_E_rho
Label::Ah_cv
Label::As_gyro
Label::dEz_B2
Label
Label
Definition:
label.hpp:6
Label::loop_voltage
Label::dEr_B2
Label::dAs
Label::dAh_gyro
Labeled::v
var_type v
Definition:
label.hpp:47
Label::E00
Label::E_gyro
Generated by
1.8.5