Class BeamBase

Inheritance Relationships

Derived Types

Class Documentation

class BeamBase

Subclassed by MonochromaticBeam, PolychromaticBeam

Public Functions

BeamBase() = default
BeamBase(Vector3d direction, double divergence, double sigma_divergence, Vector3d polarization_normal, double polarization_fraction, double flux, double transmission, double sample_to_source_distance)
Vector3d get_polarization_normal() const
double get_polarization_fraction() const
Vector3d get_sample_to_source_direction() const

Protected Functions

void init_from_json(const json &beam_data)
void add_to_json(json &beam_data) const

Protected Attributes

Vector3d sample_to_source_direction_{0.0, 0.0, 1.0}
double divergence_ = {0.0}
double sigma_divergence_ = {0.0}
Vector3d polarization_normal_ = {0.0, 1.0, 0.0}
double polarization_fraction_ = {0.999}
double flux_ = {0.0}
double transmission_ = {1.0}
double sample_to_source_distance_ = {0.0}