18#ifndef PHYSICSBIASING_H
19#define PHYSICSBIASING_H
24#if __cplusplus >= 201703L
37 enum class PhysicsBiasingType {ALL=1,PRIMARY=2,SECONDARY=3};
52 std::vector<std::string> processList;
56 std::vector<PhysicsBiasingType>
flag;
68 void set_value(
const std::string& property,
double value,
bool bExit =
true);
70 void set_value(
const std::string& property,
Array* value,
bool bExit =
true);
72 void set_value(
const std::string& property, std::string value,
bool bExit =
true);
74#if __cplusplus >= 201703L
75 std::list<std::variant<bool, int, double, std::string>>
get_value_array(
const std::string &);
Representation of arrays used in tokens.
Physics biasing class for parser.
std::vector< double > factor
factors corresponding to process
void set_value(const std::string &property, double value, bool bExit=true)
set methods by property name, numeric values
PhysicsBiasing()
constructor
void print() const
print some properties
std::vector< PhysicsBiasingType > flag
flag which particles are biased
std::string particle
particle name
void PublishMembers()
publish members
std::list< std::variant< bool, int, double, std::string > > get_value_array(const std::string &)
Get method for lists.
std::string process
geant4 process: single string, but can have multiple processes separated with a space
Class that provides introspection to its members.
Parser namespace for GMAD language. Combination of Geant4 and MAD.