BornAgain  1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
OutputDataReadINTStrategy Class Reference
Inheritance diagram for OutputDataReadINTStrategy:
Collaboration diagram for OutputDataReadINTStrategy:

Public Member Functions

OutputData< double > * readOutputData (std::istream &input_stream)
 

Detailed Description

Strategy to read BornAgain native IntensityData from ASCII file.

Definition at line 35 of file OutputDataReadStrategy.h.

Member Function Documentation

◆ readOutputData()

OutputData< double > * OutputDataReadINTStrategy::readOutputData ( std::istream &  input_stream)
virtual

Implements IOutputDataReadStrategy.

Definition at line 43 of file OutputDataReadStrategy.cpp.

44 {
46  std::string line;
47 
48  while (std::getline(input_stream, line)) {
49  line = trim(line);
50  if (line.find("axis") != std::string::npos) {
51  std::unique_ptr<IAxis> axis = DataFormatUtils::createAxis(input_stream);
52  result->addAxis(*axis);
53  }
54 
55  if (line.find("data") != std::string::npos) {
56  DataFormatUtils::fillOutputData(result, input_stream);
57  }
58  }
59  return result;
60 }
void addAxis(const IAxis &new_axis)
Definition: OutputData.h:289
std::unique_ptr< IAxis > createAxis(std::istream &input_stream)
Creates axis of certain type from input stream.
void fillOutputData(OutputData< double > *data, std::istream &input_stream)
Fills output data raw buffer from input stream.
std::string trim(const std::string &str, const std::string &whitespace=" \t")

References OutputData< T >::addAxis(), DataFormatUtils::createAxis(), DataFormatUtils::fillOutputData(), and anonymous_namespace{OutputDataReadStrategy.cpp}::trim().

Here is the call graph for this function:

The documentation for this class was generated from the following files: