17namespace DataObjects {
38 std::vector<API::IMDNode *> &
getBoxes() {
return m_Boxes; }
40 size_t getNBoxes()
const {
return m_BoxType.size(); }
42 std::vector<double> &
getSigErrData() {
return m_BoxSignalErrorsquared; }
46 const std::vector<int> &
getBoxType()
const {
return m_BoxType; }
54 bool BoxStructureOnly =
false);
59 void setBoxesFilePositions(
bool setFileBacked);
62 void saveBoxStructure(
const std::string &fileName);
63 void loadBoxStructure(
const std::string &fileName,
int &nDim,
const std::string &
EventType,
64 bool onlyEventInfo =
false,
bool restoreExperimentInfo =
false);
77 void loadBoxStructure(::NeXus::File *hFile,
bool onlyEventInfo =
false);
80 void saveBoxStructure(::NeXus::File *hFile);
107 std::shared_ptr<API::MultipleExperimentInfos>
m_mEI;
110 static ::NeXus::File *createOrOpenMDWSgroup(
const std::string &fileName,
int &nDims,
const std::string &WSEventType,
111 bool readOnly,
bool &alreadyExists);
118 static void loadExperimentInfos(::NeXus::File *
const file,
const std::string &filename,
119 std::shared_ptr<API::MultipleExperimentInfos> mei,
125 static void loadExperimentInfos(::NeXus::File *
const file,
const std::string &filename,
126 const std::shared_ptr<API::MultipleExperimentInfos> &mei,
bool lazy =
false);
129 static void saveAffineTransformMatrix(::NeXus::File *
const file,
API::CoordTransform const *transform,
130 const std::string &entry_name);
137 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.
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(::NeXus::File *const file, const std::string &name, Kernel::Matrix< T > &m, ::NeXus::NXnumtype type, const std::string &tag)
Save routine for a generic matrix.
Helper class which provides the Collimation Length for SANS instruments.