|
Mantid
|
Helper for LoadEventNexus dealing with setting up indices (spectrum numbers an detector ID mapping) for workspaces. More...
#include <LoadEventNexusIndexSetup.h>
Public Member Functions | |
| std::pair< int32_t, int32_t > | eventIDLimits () const |
| LoadEventNexusIndexSetup (API::MatrixWorkspace_const_sptr instrumentWorkspace, const int32_t min, const int32_t max, std::vector< int32_t > range, Parallel::Communicator communicator=Parallel::Communicator()) | |
| Indexing::IndexInfo | makeIndexInfo () |
| Indexing::IndexInfo | makeIndexInfo (const std::pair< std::vector< int32_t >, std::vector< int32_t > > &spectrumDetectorMapping, const bool monitorsOnly) |
| Indexing::IndexInfo | makeIndexInfo (const std::vector< std::string > &bankNames) |
Private Member Functions | |
| Indexing::IndexInfo | filterIndexInfo (const Indexing::IndexInfo &indexInfo) |
| Filter IndexInfo based on optional spectrum range/list provided. More... | |
Private Attributes | |
| const Parallel::Communicator | m_communicator |
| const API::MatrixWorkspace_const_sptr | m_instrumentWorkspace |
| int32_t | m_max |
| int32_t | m_min |
| std::vector< int32_t > | m_range |
Helper for LoadEventNexus dealing with setting up indices (spectrum numbers an detector ID mapping) for workspaces.
Filters set via min, max, and range are used by LoadEventNexus for selecting from the event_id entry in Nexus files. This may either correspond to a spectrum number (ISIS) or a detector ID. Throughout this class IndexInfo is used for filtering and thus the spectrum number is set to the requested event_id ranges. The final returned IndexInfo will however have spectrum numbers that, in general, are not the event_ids (except for ISIS).
Definition at line 27 of file LoadEventNexusIndexSetup.h.
| Mantid::DataHandling::LoadEventNexusIndexSetup::LoadEventNexusIndexSetup | ( | API::MatrixWorkspace_const_sptr | instrumentWorkspace, |
| const int32_t | min, | ||
| const int32_t | max, | ||
| std::vector< int32_t > | range, | ||
| Parallel::Communicator | communicator = Parallel::Communicator() |
||
| ) |
Definition at line 45 of file LoadEventNexusIndexSetup.cpp.
| std::pair< int32_t, int32_t > Mantid::DataHandling::LoadEventNexusIndexSetup::eventIDLimits | ( | ) | const |
Definition at line 51 of file LoadEventNexusIndexSetup.cpp.
Referenced by Mantid::DataHandling::LoadEventNexus::createSpectraMapping().
|
private |
Filter IndexInfo based on optional spectrum range/list provided.
Checks the validity of user provided spectrum range/list. This method assumes that spectrum numbers in indexInfo argument are sorted and that the Parallel::StorageMode of indexInfo is Cloned.
Definition at line 166 of file LoadEventNexusIndexSetup.cpp.
References Mantid::EMPTY_INT(), index, m_max, m_min, and m_range.
Referenced by makeIndexInfo().
| IndexInfo Mantid::DataHandling::LoadEventNexusIndexSetup::makeIndexInfo | ( | ) |
Definition at line 53 of file LoadEventNexusIndexSetup.cpp.
References filterIndexInfo(), m_communicator, and m_instrumentWorkspace.
Referenced by Mantid::DataHandling::LoadEventNexus::createSpectraMapping().
| IndexInfo Mantid::DataHandling::LoadEventNexusIndexSetup::makeIndexInfo | ( | const std::pair< std::vector< int32_t >, std::vector< int32_t > > & | spectrumDetectorMapping, |
| const bool | monitorsOnly | ||
| ) |
Definition at line 117 of file LoadEventNexusIndexSetup.cpp.
References filterIndexInfo(), Mantid::API::SpectrumDetectorMapping::getDetectorIDsForSpectrumNo(), Mantid::API::SpectrumDetectorMapping::getSpectrumNumbers(), m_communicator, and m_instrumentWorkspace.
| IndexInfo Mantid::DataHandling::LoadEventNexusIndexSetup::makeIndexInfo | ( | const std::vector< std::string > & | bankNames | ) |
Definition at line 82 of file LoadEventNexusIndexSetup.cpp.
References Mantid::EMPTY_INT(), m_communicator, m_instrumentWorkspace, m_max, and m_min.
|
private |
Definition at line 47 of file LoadEventNexusIndexSetup.h.
Referenced by makeIndexInfo().
|
private |
Definition at line 43 of file LoadEventNexusIndexSetup.h.
Referenced by makeIndexInfo().
|
private |
Definition at line 45 of file LoadEventNexusIndexSetup.h.
Referenced by eventIDLimits(), filterIndexInfo(), and makeIndexInfo().
|
private |
Definition at line 44 of file LoadEventNexusIndexSetup.h.
Referenced by eventIDLimits(), filterIndexInfo(), and makeIndexInfo().
|
private |
Definition at line 46 of file LoadEventNexusIndexSetup.h.
Referenced by filterIndexInfo().