10#include "MantidDataHandling/DllConfig.h"
16namespace DataHandling {
26 std::vector<std::string> bankNames,
const std::vector<int> &periodLog,
const std::string &classType,
27 std::vector<std::size_t> bankNumEvents,
const bool oldNeXusFileNames,
const bool precount,
28 const int chunk,
const int totalChunks);
46 int32_t eventid_max{0};
62 std::vector<std::vector<std::vector<Mantid::Types::Event::TofEvent> *>>
eventVectors;
77 const size_t numBanks,
const bool precount,
const int chunk,
const int totalChunks);
78 std::pair<size_t, size_t> setupChunking(std::vector<std::string> &bankNames, std::vector<std::size_t> &bankNumEvents);
80 template <
class T>
void makeMapToEventLists(std::vector<std::vector<T>> &vectors);
92 specnum_t maxSpecNo = -std::numeric_limits<specnum_t>::max();
94 for (
size_t i = 0; i < ax1->length(); i++) {
105 for (
size_t i = 0; i < vectors.size(); ++i) {
106 vectors[i].resize(maxSpecNo + 1,
nullptr);
108 for (
size_t period = 0; period <
m_ws.
nPeriods(); ++period) {
121 for (
size_t i = 0; i < vectors.size(); ++i) {
129 for (
size_t period = 0; period <
m_ws.
nPeriods(); ++period) {
This class defines the pulse times for a specific bank.
Helper class for LoadEventNexus that is specific to the current default loading code for NXevent_data...
int32_t eventid_max
Maximum (inclusive) event ID possible for this instrument.
std::vector< std::vector< std::vector< Mantid::Types::Event::TofEvent > * > > eventVectors
Vector where index = event_id; value = ptr to std::vector<TofEvent> in the event list.
std::vector< std::shared_ptr< BankPulseTimes > > m_bankPulseTimes
One entry of pulse times for each preprocessor.
int totalChunks
number of chunks
bool precount
Do we pre-count the # of events in each pixel ID?
std::vector< size_t > pixelID_to_wi_vector
Vector where (index = pixel ID+pixelID_to_wi_offset), value = workspace index)
std::vector< std::vector< std::vector< Mantid::DataObjects::WeightedEvent > * > > weightedEventVectors
Vector where index = event_id; value = ptr to std::vector<WeightedEvent> in the event list.
detid_t pixelID_to_wi_offset
Offset in the pixelID_to_wi_vector to use.
bool splitProcessing
whether or not to launch multiple ProcessBankData jobs per bank
size_t eventsPerChunk
number of chunks per bank
bool event_id_is_spec
True if the event_id is spectrum no not pixel ID.
int firstChunkForBank
for multiple chunks per bank
bool m_haveWeights
Flag for dealing with a simulated file.
EventWorkspaceCollection & m_ws
void makeMapToEventLists(std::vector< std::vector< T > > &vectors)
Map detector IDs to event lists.
EventWorkspaceCollection : Collection of EventWorspaces to give backward-forward compatibility around...
Mantid::API::Axis * getAxis(const size_t &i) const
const DataObjects::EventList & getSpectrum(const size_t workspace_index, const size_t periodNumber) const
size_t getNumberHistograms() const
DLLExport void getEventsFrom(EventList &el, std::vector< Types::Event::TofEvent > *&events)
Helper class which provides the Collimation Length for SANS instruments.
int32_t detid_t
Typedef for a detector ID.
int32_t specnum_t
Typedef for a spectrum Number.