Mantid
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
Mantid::DataHandling::AlignAndFocusPowderSlim::BankCalibration Class Reference

Class that handles all the calibration constants for a bank of detectors. More...

#include <BankCalibration.h>

Public Member Functions

 BankCalibration (const detid_t idmin, const detid_t idmax, const double time_conversion, const std::map< detid_t, double > &calibration_map, const std::map< detid_t, double > &scale_at_sample, const std::set< detid_t > &mask)
 Calibration of a subset of pixels as requested in the constructor.
 
detid_t idmax () const
 
const detid_t & idmin () const
 
const double & value_calibration (const detid_t detid) const
 This assumes that everything is in range.
 
double value_scale_at_sample (const detid_t detid) const
 This returns a value with no bounds checking.
 

Private Attributes

std::vector< double > m_calibration
 
const detid_t m_detid_offset
 
std::vector< double > m_scale_at_sample
 

Detailed Description

Class that handles all the calibration constants for a bank of detectors.

Accessing values DOES NO RANGE CHECKING so only request values within the range of detector IDs supplied to the constructor.

Definition at line 24 of file BankCalibration.h.

Constructor & Destructor Documentation

◆ BankCalibration()

Mantid::DataHandling::AlignAndFocusPowderSlim::BankCalibration::BankCalibration ( const detid_t  idmin,
const detid_t  idmax,
const double  time_conversion,
const std::map< detid_t, double > &  calibration_map,
const std::map< detid_t, double > &  scale_at_sample,
const std::set< detid_t > &  mask 
)

Calibration of a subset of pixels as requested in the constructor.

This is used because a vector is faster lookup than a map for dense array of values.

Parameters
idminMinimum detector id to include in the calibration
idmaxMaximum detector id to include in the calibration
time_conversionValue to bundle into the calibration constant to account for converting the time-of-flight into microseconds. Applying it here is effectively the same as applying it to each event time-of-flight.
calibration_mapCalibration for the entire instrument.
scale_at_sampleScalar factor to multiply the time-of-flight by to get the time-of-flight of the neutron back at the sample position.
maskdetector ids that exist in the map should not be included.

Definition at line 50 of file BankCalibration.cpp.

References idmax(), idmin(), Mantid::DataHandling::AlignAndFocusPowderSlim::IGNORE_PIXEL, m_calibration, m_detid_offset, m_scale_at_sample, std::to_string(), and value.

Member Function Documentation

◆ idmax()

detid_t Mantid::DataHandling::AlignAndFocusPowderSlim::BankCalibration::idmax ( ) const

Definition at line 95 of file BankCalibration.cpp.

References m_calibration, and m_detid_offset.

Referenced by BankCalibration().

◆ idmin()

const detid_t & Mantid::DataHandling::AlignAndFocusPowderSlim::BankCalibration::idmin ( ) const

Definition at line 94 of file BankCalibration.cpp.

References m_detid_offset.

Referenced by BankCalibration().

◆ value_calibration()

const double & Mantid::DataHandling::AlignAndFocusPowderSlim::BankCalibration::value_calibration ( const detid_t  detid) const

This assumes that everything is in range.

Values that weren't in the calibration map get set to 1.

Definition at line 86 of file BankCalibration.cpp.

References m_calibration, and m_detid_offset.

Referenced by Mantid::DataHandling::AlignAndFocusPowderSlim::ProcessEventsTask< DetIDsVector, TofVector >::operator()().

◆ value_scale_at_sample()

double Mantid::DataHandling::AlignAndFocusPowderSlim::BankCalibration::value_scale_at_sample ( const detid_t  detid) const

This returns a value with no bounds checking.

If scale_at_sample is not provided, this will have undefined behavior.

Definition at line 90 of file BankCalibration.cpp.

References m_detid_offset, and m_scale_at_sample.

Member Data Documentation

◆ m_calibration

std::vector<double> Mantid::DataHandling::AlignAndFocusPowderSlim::BankCalibration::m_calibration
private

Definition at line 39 of file BankCalibration.h.

Referenced by BankCalibration(), idmax(), and value_calibration().

◆ m_detid_offset

const detid_t Mantid::DataHandling::AlignAndFocusPowderSlim::BankCalibration::m_detid_offset
private

◆ m_scale_at_sample

std::vector<double> Mantid::DataHandling::AlignAndFocusPowderSlim::BankCalibration::m_scale_at_sample
private

Definition at line 40 of file BankCalibration.h.

Referenced by BankCalibration(), and value_scale_at_sample().


The documentation for this class was generated from the following files: