|
Mantid
|
ProcessBankCompressed : TODO: DESCRIPTION. More...
#include <ProcessBankCompressed.h>
Public Member Functions | |
| void | addEvent (const size_t period_index, const size_t event_index) |
| void | createWeightedEvents (const size_t period_index, const detid_t detid, std::vector< Mantid::DataObjects::WeightedEventNoTime > *raw_events) |
| ProcessBankCompressed (DefaultEventLoader &m_loader, const std::string &entry_name, Mantid::API::Progress *prog, std::shared_ptr< std::vector< uint32_t > > event_detid, std::shared_ptr< std::vector< float > > event_tof, size_t startAt, std::shared_ptr< std::vector< uint64_t > > event_index, std::shared_ptr< BankPulseTimes > bankPulseTimes, detid_t min_detid, detid_t max_detid, std::shared_ptr< std::vector< double > > histogram_bin_edges, const double divisor) | |
| void | run () override |
| Main method that performs the work for the task. | |
| double | totalWeight () const |
| method only intended for testing | |
Public Member Functions inherited from Mantid::Kernel::Task | |
| virtual double | cost () |
| What is the computational cost of this task? | |
| std::shared_ptr< std::mutex > | getMutex () |
| Get the mutex object for this Task. | |
| void | setMutex (const std::shared_ptr< std::mutex > &mutex) |
| Set the mutex object for this Task. | |
| void | setMutexObject (void *object) |
| Use an arbitrary pointer to lock (mutex) the execution of this task. | |
| Task () | |
| Default constructor. | |
| Task (double cost) | |
| Constructor with cost. | |
| virtual | ~Task ()=default |
| Destructor. | |
Private Member Functions | |
| void | addToEventLists () |
| void | collectEvents () |
| void | createAccumulators (const bool precount) |
| ProcessBankCompressed () | |
Private Attributes | |
| std::shared_ptr< BankPulseTimes > | m_bankPulseTimes |
| Pulse times for this bank. | |
| const detid_t | m_detid_max |
| const detid_t | m_detid_min |
| const std::string | m_entry_name |
| std::shared_ptr< std::vector< uint32_t > > | m_event_detid |
| event pixel ID array | |
| std::shared_ptr< std::vector< uint64_t > > | m_event_index |
| vector of event index (length of # of pulses) | |
| std::shared_ptr< std::vector< float > > | m_event_tof |
| event TOF array | |
| std::unique_ptr< CompressEventAccumulatorFactory > | m_factory |
| factory for creating accumulators | |
| const size_t | m_firstEventIndex |
| index of the first event from event_index | |
| DefaultEventLoader & | m_loader |
| Algorithm being run. | |
| API::Progress * | m_prog |
| Progress reporting. | |
| std::vector< DataObjects::EventSortType > | m_sorting |
| std::vector< std::vector< std::unique_ptr< DataHandling::CompressEventAccumulator > > > | m_spectra_accum |
| Objects holding individual spectra. | |
| const float | m_tof_max |
| const float | m_tof_min |
Additional Inherited Members | |
Protected Attributes inherited from Mantid::Kernel::Task | |
| double | m_cost |
| Cached computational cost for the thread. | |
| std::shared_ptr< std::mutex > | m_mutex |
| Mutex associated with this task (can be NULL) | |
ProcessBankCompressed : TODO: DESCRIPTION.
Definition at line 27 of file ProcessBankCompressed.h.
| Mantid::DataHandling::ProcessBankCompressed::ProcessBankCompressed | ( | DefaultEventLoader & | m_loader, |
| const std::string & | entry_name, | ||
| Mantid::API::Progress * | prog, | ||
| std::shared_ptr< std::vector< uint32_t > > | event_detid, | ||
| std::shared_ptr< std::vector< float > > | event_tof, | ||
| size_t | startAt, | ||
| std::shared_ptr< std::vector< uint64_t > > | event_index, | ||
| std::shared_ptr< BankPulseTimes > | bankPulseTimes, | ||
| detid_t | min_detid, | ||
| detid_t | max_detid, | ||
| std::shared_ptr< std::vector< double > > | histogram_bin_edges, | ||
| const double | divisor | ||
| ) |
Definition at line 20 of file ProcessBankCompressed.cpp.
References Mantid::DataHandling::LINEAR, Mantid::DataHandling::LOGARITHMIC, Mantid::Kernel::Task::m_cost, m_detid_max, m_detid_min, m_event_detid, m_factory, m_sorting, and Mantid::DataObjects::UNSORTED.
|
private |
| void Mantid::DataHandling::ProcessBankCompressed::addEvent | ( | const size_t | period_index, |
| const size_t | event_index | ||
| ) |
Definition at line 85 of file ProcessBankCompressed.cpp.
References m_detid_max, m_detid_min, m_event_detid, m_event_tof, m_spectra_accum, m_tof_max, and m_tof_min.
Referenced by collectEvents().
|
private |
Definition at line 208 of file ProcessBankCompressed.cpp.
References Mantid::DataHandling::DefaultEventLoader::alg, Mantid::Kernel::Logger::debug(), Mantid::API::Algorithm::getLogger(), Mantid::Kernel::Logger::isDebug(), m_detid_max, m_detid_min, m_entry_name, m_loader, m_sorting, m_spectra_accum, Mantid::DataHandling::DefaultEventLoader::m_ws, Mantid::DataHandling::EventWorkspaceCollection::nPeriods(), and Mantid::DataHandling::DefaultEventLoader::weightedNoTimeEventVectors.
Referenced by run().
|
private |
Definition at line 103 of file ProcessBankCompressed.cpp.
References addEvent(), Mantid::DataHandling::DefaultEventLoader::alg, Mantid::Kernel::ROI::calculate_intersection(), Mantid::Kernel::Logger::debug(), Mantid::API::Algorithm::getLogger(), Mantid::Kernel::Logger::isDebug(), m_bankPulseTimes, m_entry_name, m_event_detid, m_event_index, m_event_tof, m_firstEventIndex, m_loader, Mantid::DataHandling::DefaultEventLoader::m_ws, and Mantid::DataHandling::EventWorkspaceCollection::nPeriods().
Referenced by run().
|
private |
Definition at line 54 of file ProcessBankCompressed.cpp.
References m_detid_max, m_detid_min, m_event_detid, m_factory, m_loader, m_spectra_accum, Mantid::DataHandling::DefaultEventLoader::m_ws, and Mantid::DataHandling::EventWorkspaceCollection::nPeriods().
Referenced by run().
| void Mantid::DataHandling::ProcessBankCompressed::createWeightedEvents | ( | const size_t | period_index, |
| const detid_t | detid, | ||
| std::vector< Mantid::DataObjects::WeightedEventNoTime > * | raw_events | ||
| ) |
Definition at line 155 of file ProcessBankCompressed.cpp.
References m_detid_max, m_detid_min, and m_spectra_accum.
|
overridevirtual |
Main method that performs the work for the task.
Implements Mantid::Kernel::Task.
Definition at line 228 of file ProcessBankCompressed.cpp.
References addToEventLists(), Mantid::DataHandling::DefaultEventLoader::alg, collectEvents(), createAccumulators(), Mantid::DataHandling::EventWorkspaceCollection::getNumberHistograms(), m_detid_max, m_detid_min, m_entry_name, m_loader, m_prog, m_sorting, Mantid::DataHandling::DefaultEventLoader::m_ws, Mantid::DataHandling::DefaultEventLoader::pixelID_to_wi_offset, Mantid::DataHandling::DefaultEventLoader::pixelID_to_wi_vector, Mantid::DataHandling::DefaultEventLoader::precount, and Mantid::Kernel::ProgressBase::report().
| double Mantid::DataHandling::ProcessBankCompressed::totalWeight | ( | ) | const |
method only intended for testing
Definition at line 267 of file ProcessBankCompressed.cpp.
References m_spectra_accum.
|
private |
Pulse times for this bank.
Definition at line 71 of file ProcessBankCompressed.h.
Referenced by collectEvents().
|
private |
Definition at line 86 of file ProcessBankCompressed.h.
Referenced by addEvent(), addToEventLists(), createAccumulators(), createWeightedEvents(), ProcessBankCompressed(), and run().
|
private |
Definition at line 84 of file ProcessBankCompressed.h.
Referenced by addEvent(), addToEventLists(), createAccumulators(), createWeightedEvents(), ProcessBankCompressed(), and run().
|
private |
Definition at line 55 of file ProcessBankCompressed.h.
Referenced by addToEventLists(), collectEvents(), and run().
|
private |
event pixel ID array
Definition at line 63 of file ProcessBankCompressed.h.
Referenced by addEvent(), collectEvents(), createAccumulators(), and ProcessBankCompressed().
|
private |
vector of event index (length of # of pulses)
Definition at line 69 of file ProcessBankCompressed.h.
Referenced by collectEvents().
|
private |
event TOF array
Definition at line 65 of file ProcessBankCompressed.h.
Referenced by addEvent(), and collectEvents().
|
private |
factory for creating accumulators
Definition at line 60 of file ProcessBankCompressed.h.
Referenced by createAccumulators(), and ProcessBankCompressed().
|
private |
index of the first event from event_index
Definition at line 67 of file ProcessBankCompressed.h.
Referenced by collectEvents().
|
private |
Algorithm being run.
Definition at line 54 of file ProcessBankCompressed.h.
Referenced by addToEventLists(), collectEvents(), createAccumulators(), and run().
|
private |
|
private |
Definition at line 81 of file ProcessBankCompressed.h.
Referenced by addToEventLists(), ProcessBankCompressed(), and run().
|
private |
Objects holding individual spectra.
This is accessed as [periodIndex][detidIndex]
Definition at line 76 of file ProcessBankCompressed.h.
Referenced by addEvent(), addToEventLists(), createAccumulators(), createWeightedEvents(), and totalWeight().
|
private |
Definition at line 90 of file ProcessBankCompressed.h.
Referenced by addEvent().
|
private |
Definition at line 88 of file ProcessBankCompressed.h.
Referenced by addEvent().