v1.0.0-rc.81
This commit is contained in:
@@ -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())) {
|
||||
|
||||
Reference in New Issue
Block a user