Parameters¶
Struct for all three Parameter sets introduced in Section Different Parameter Sets.
-
struct Parameters¶
base class for Parameters
Subclassed by angcal::BCParameters, angcal::DGParameters, angcal::EEParameters
Public Functions
-
~Parameters() = default¶
-
Parameters() = default¶
-
inline Parameters(const ssize_t n_modules)¶
-
inline double &operator()(const size_t module_index, const size_t parameter_index)¶
-
inline double operator()(const size_t module_index, const size_t parameter_index) const¶
-
inline ssize_t num_modules() const¶
get number of modules
Public Members
-
aare::NDArray<double, 2> parameters = {}¶
-
~Parameters() = default¶
-
struct DGParameters : public angcal::Parameters¶
historical Detector Group parameters
Public Functions
-
~DGParameters() = default¶
-
DGParameters() = default¶
-
inline DGParameters(const ssize_t n_modules)¶
-
inline double ¢ers(const size_t module_index)¶
orthogonal projection of sample onto detector (given in strip number) [mm] D/pitch
-
inline double centers(const size_t module_index) const¶
-
inline double &conversions(const size_t module_index)¶
pitch/(normal distance from sample to detector (R)) [mm] used for easy conversion
-
inline double conversions(const size_t module_index) const¶
-
inline double &offsets(const size_t module_index)¶
position of strip zero relative to sample [degrees] phi 180/pi*D/R TODO: expected an arcsin(D/R)?
-
inline double offsets(const size_t module_index) const¶
-
std::tuple<double, double, double> convert_to_BCParameters(const size_t module_index) const¶
converts DG parameters at module_index to BC parameters stored as tuple
-
void convert_to_BCParameters(BCParameters &bcparameters) const¶
converts DG parameters to BC parameters
-
std::tuple<double, double, double> convert_to_EEParameters(const size_t module_index) const¶
converts DG parameters at module_index to EE parameters stored as tuple
-
void convert_to_EEParameters(EEParameters &eeparameters) const¶
converts DG parameters to EE parameters
-
inline double &operator()(const size_t module_index, const size_t parameter_index)¶
-
inline double operator()(const size_t module_index, const size_t parameter_index) const¶
-
inline ssize_t num_modules() const¶
get number of modules
Public Members
-
aare::NDArray<double, 2> parameters = {}¶
-
~DGParameters() = default¶
-
struct BCParameters : public angcal::Parameters¶
best computing parameters
Public Functions
-
~BCParameters() = default¶
-
BCParameters() = default¶
-
inline BCParameters(const ssize_t n_modules)¶
-
inline double &angle_center_module_normal(const size_t module_index)¶
angle between center of module and module normal (from sample) [degrees] (delta)
-
inline double angle_center_module_normal(const size_t module_index) const¶
-
inline double &module_center_sample_distances(const size_t module_index)¶
euclidean distance between center of module and sample (L)
-
inline double module_center_sample_distances(const size_t module_index) const¶
-
inline double &angle_center_beam(const size_t module_index)¶
diffraction angle between center module and beam (phi) [degrees]
-
inline double angle_center_beam(const size_t module_index) const¶
-
std::tuple<double, double, double> convert_to_DGParameters(const size_t module_index) const¶
converts BC parameters at module_index to DG parameters stored as tuple
-
void convert_to_DGParameters(DGParameters &dgparameters) const¶
converts BC parameters to DG parameters
-
std::tuple<double, double, double> convert_to_EEParameters(const ssize_t module_index) const¶
converts BC parameters at module_index to EE parameters stored as tuple
-
void convert_to_EEParameters(EEParameters &eeparameters) const¶
converts BC parameters to EE parameters
-
inline double &operator()(const size_t module_index, const size_t parameter_index)¶
-
inline double operator()(const size_t module_index, const size_t parameter_index) const¶
-
inline ssize_t num_modules() const¶
get number of modules
Public Members
-
aare::NDArray<double, 2> parameters = {}¶
-
~BCParameters() = default¶
-
struct EEParameters : public angcal::Parameters¶
easy parameters/ geometric parameters
Public Functions
-
~EEParameters() = default¶
-
EEParameters() = default¶
-
inline EEParameters(const ssize_t n_modules)¶
-
inline double &normal_distances(const size_t module_index)¶
normal distance between sample and detector (R)
-
inline double normal_distances(const size_t module_index) const¶
-
inline double &module_center_distances(const size_t module_index)¶
distances between start of module and orthogonal projection of sample onto detector (D)
-
inline double module_center_distances(const size_t module_index) const¶
-
inline double &angles(const size_t module_index)¶
angle between undiffracted beam and orthogonal sample projection on detector (phi)
-
inline double angles(const size_t module_index) const¶
-
inline double &operator()(const size_t module_index, const size_t parameter_index)¶
-
inline double operator()(const size_t module_index, const size_t parameter_index) const¶
-
inline ssize_t num_modules() const¶
get number of modules
Public Members
-
aare::NDArray<double, 2> parameters = {}¶
-
~EEParameters() = default¶