v1.0.0-rc.81

This commit is contained in:
2025-09-21 19:27:51 +02:00
parent 3ded4cd3ce
commit 5d9d2de4a4
243 changed files with 3401 additions and 935 deletions

View File

@@ -12,14 +12,16 @@ inline float sum_to_count(float sum, uint64_t count) {
}
AzimuthalIntegrationProfile::AzimuthalIntegrationProfile(const AzimuthalIntegration &mapping)
: bin_to_q(mapping.GetBinToQ()),
bin_to_phi(mapping.GetBinToPhi()),
bin_to_2theta(mapping.GetBinToTwoTheta()),
bin_to_d(mapping.GetBinToD()),
q_bins(mapping.GetQBinCount()),
azim_bins(mapping.GetAzimuthalBinCount()),
sum(mapping.GetBinNumber(), 0),
count(mapping.GetBinNumber(), 0){}
: sum(mapping.GetBinNumber(), 0),
sum2(mapping.GetBinNumber(), 0),
count(mapping.GetBinNumber(), 0),
bin_to_q(mapping.GetBinToQ()),
bin_to_d(mapping.GetBinToD()),
bin_to_2theta(mapping.GetBinToTwoTheta()),
bin_to_phi(mapping.GetBinToPhi()),
q_bins(mapping.GetQBinCount()),
azim_bins(mapping.GetAzimuthalBinCount()) {
}
void AzimuthalIntegrationProfile::Clear(const AzimuthalIntegration &mapping) {
std::unique_lock ul(m);
@@ -35,6 +37,15 @@ void AzimuthalIntegrationProfile::Clear(const AzimuthalIntegration &mapping) {
count = std::vector<uint64_t>(mapping.GetBinNumber(), 0);
}
void AzimuthalIntegrationProfile::Add(int64_t bin, int64_t value) {
if (bin < 0 || bin >= sum.size())
return;
std::unique_lock ul(m);
sum[bin] += static_cast<float>(value);
sum2[bin] += static_cast<float>(value * value);
count[bin]++;
}
void AzimuthalIntegrationProfile::Add(const std::vector<float> &in_sum, const std::vector<uint32_t> &in_count) {
std::unique_lock ul(m);
if ((in_sum.size() == sum.size()) && (in_count.size() == count.size())) {