16namespace DataObjects {
37 std::vector<API::IMDNode *> &
getBoxes() {
return m_Boxes; }
39 size_t getNBoxes()
const {
return m_BoxType.size(); }
41 std::vector<double> &
getSigErrData() {
return m_BoxSignalErrorsquared; }
45 const std::vector<int> &
getBoxType()
const {
return m_BoxType; }
53 bool BoxStructureOnly =
false);
58 void setBoxesFilePositions(
bool setFileBacked);
61 void saveBoxStructure(
const std::string &fileName);
62 void loadBoxStructure(
const std::string &fileName,
int &nDim,
const std::string &
EventType,
63 bool onlyEventInfo =
false,
bool restoreExperimentInfo =
false);
76 void loadBoxStructure(Mantid::Nexus::File *hFile,
bool onlyEventInfo =
false);
79 void saveBoxStructure(Mantid::Nexus::File *hFile);
106 std::shared_ptr<API::MultipleExperimentInfos>
m_mEI;
109 static Mantid::Nexus::File *createOrOpenMDWSgroup(
const std::string &fileName,
int &nDims,
110 const std::string &WSEventType,
bool readOnly,
bool &alreadyExists);
117 static void loadExperimentInfos(Mantid::Nexus::File *
const file,
const std::string &filename,
118 std::shared_ptr<API::MultipleExperimentInfos> mei,
const std::string ¤tGroup,
123 static void loadExperimentInfos(Mantid::Nexus::File *
const file,
const std::string &filename,
124 const std::shared_ptr<API::MultipleExperimentInfos> &mei,
bool lazy =
false);
127 static void saveAffineTransformMatrix(Mantid::Nexus::File *
const file,
API::CoordTransform const *transform,
128 const std::string &entry_name);
135 const std::string &tag);
The class responsible for saving/loading MD boxes structure to/from HDD and for flattening/restoring ...
std::vector< API::IMDNode * > & getBoxes()
std::vector< int > m_BoxChildren
Start/end children IDs.
std::vector< uint64_t > m_BoxEventIndex
Start/end indices into the list of events; 2*i – filePosition, 2*i+1 number of events in the block.
std::vector< double > m_InverseVolume
Inverse of the volume of the cell.
std::string m_eventType
name of the event type
std::vector< double > & getSigErrData()
const std::string & getBCXMLdescr() const
std::vector< double > m_BoxSignalErrorsquared
Box cached signal/error squared.
std::vector< uint64_t > & getEventIndex()
const std::vector< int > & getBoxType() const
std::vector< API::IMDNode * > m_Boxes
linear vector of boxes;
int getNDims() const
Return number of dimensions this class is initiated for (or not initiated if -1)
std::vector< double > m_Extents
Min/Max extents in each dimension.
std::string m_bcXMLDescr
XML representation of the box controller.
std::vector< int > m_Depth
Recursion depth.
std::shared_ptr< API::MultipleExperimentInfos > m_mEI
shared pointer to multiple experiment info stored within the workspace
std::vector< int > m_BoxType
Box type (0=None, 1=MDBox, 2=MDGridBox.
The primitive types published by this API.
std::shared_ptr< IMDEventWorkspace > IMDEventWorkspace_sptr
Shared pointer to Mantid::API::IMDEventWorkspace.
std::shared_ptr< const IMDEventWorkspace > IMDEventWorkspace_const_sptr
Shared pointer to Mantid::API::IMDEventWorkspace (const version)
std::shared_ptr< const IMDWorkspace > IMDWorkspace_const_sptr
Shared pointer to the IMDWorkspace base class (const version)
std::shared_ptr< BoxController > BoxController_sptr
Shared ptr to BoxController.
EventType
What kind of event list is being stored.
void saveMatrix(Mantid::Nexus::File *const file, const std::string &name, Kernel::Matrix< T > &m, NXnumtype type, const std::string &tag)
Save routine for a generic matrix.
Helper class which provides the Collimation Length for SANS instruments.