9#include "MantidDataHandling/DllConfig.h"
15namespace DataHandling {
29 virtual void createWeightedEvents(std::vector<Mantid::DataObjects::WeightedEventNoTime> *raw_events)
const = 0;
31 std::size_t numberHistBins()
const;
36 template <
typename INT_TYPE>
double getBinCenter(
const INT_TYPE bin)
const;
37 std::optional<size_t> findBin(
const float tof)
const;
48 std::optional<size_t> (*m_findBin)(
const MantidVec &,
const double,
const double,
const double,
const bool);
63 std::unique_ptr<CompressEventAccumulator>
create(
const std::size_t num_events);
The CompressEventAccumulatorFactory Factory object that will create the correct type of CompressEvent...
CompressBinningMode m_bin_mode
const std::shared_ptr< std::vector< double > > m_histogram_edges
CompressEventAccumulator : TODO: DESCRIPTION.
virtual void createWeightedEvents(std::vector< Mantid::DataObjects::WeightedEventNoTime > *raw_events) const =0
virtual DataObjects::EventSortType getSortType() const =0
virtual void addEvent(const float tof)=0
bool m_initialized
track whether this has allocated the "big" memory objects
virtual double totalWeight() const =0
const std::shared_ptr< std::vector< double > > m_histogram_edges
shared pointer for the histogram bin boundaries
virtual ~CompressEventAccumulator()=default
double m_divisor
keep track if the m_tof is already sorted
EventSortType
How the event list is sorted.
std::unique_ptr< T > create(const P &parent, const IndexArg &indexArg, const HistArg &histArg)
This is the create() method that all the other create() methods call.
Helper class which provides the Collimation Length for SANS instruments.
std::vector< double > MantidVec
typedef for the data storage used in Mantid matrix workspaces