46 std::string surroundingMaterial;
52 std::list<double> coilInnerRadius;
53 std::list<double> coilRadialThickness;
54 std::list<double> coilLengthZ;
55 std::list<double> coilCurrent;
56 std::list<double> coilOffsetZ;
57 std::list<std::string> coilMaterial;
59 double onAxisTolerance;
63 std::list<double> dipoleAperture;
64 std::list<double> dipoleLengthZ;
65 std::list<double> dipoleFieldStrength;
66 std::list<double> dipoleEngeCoefficient;
67 std::list<double> dipoleOffsetZ;
70 std::list<std::string> absorberType;
71 std::list<std::string> absorberMaterial;
72 std::list<double> absorberOffsetZ;
73 std::list<double> absorberCylinderLength;
74 std::list<double> absorberCylinderRadius;
75 std::list<double> absorberWedgeOpeningAngle;
76 std::list<double> absorberWedgeHeight;
77 std::list<double> absorberWedgeRotationAngle;
78 std::list<double> absorberWedgeOffsetX;
79 std::list<double> absorberWedgeOffsetY;
80 std::list<double> absorberWedgeApexToBase;
83 std::list<double> rfOffsetZ;
84 std::list<double> rfLength;
85 std::list<double> rfVoltage;
86 std::list<double> rfPhase;
87 std::list<double> rfFrequency;
88 std::list<double> rfWindowThickness;
89 std::list<std::string> rfWindowMaterial;
90 std::list<double> rfWindowRadius;
91 std::list<std::string> rfCavityMaterial;
92 std::list<std::string> rfCavityVacuumMaterial;
93 std::list<double> rfCavityRadius;
94 std::list<double> rfCavityThickness;
95 std::list<double> rfTimeOffset;
97 std::string integrator;
98 std::string magneticFieldModel;
99 std::string electricFieldModel;
100 std::string dipoleFieldModel;
109 template <
typename T>
110 void set_value(
const std::string& property, T value,
bool bExit =
true);
113 void set_value(
const std::string& property,
Array* value,
bool bExit =
true);
115#if __cplusplus >= 201703L
116 std::list<std::variant<bool, int, double, std::string>>
get_value_array(
const std::string &);
123 std::map<std::string, std::list<double>*> attribute_map_list_double;
124 std::map<std::string, std::list<std::string>*> attribute_map_list_string;