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().