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

Public Member Functions

virtual void writeOutputData (const OutputData< double > &data, std::ostream &output_stream)
 

Detailed Description

Strategy to write OutputData to special BornAgain ASCII format.

Definition at line 37 of file OutputDataWriteStrategy.h.

Member Function Documentation

◆ writeOutputData()

void OutputDataWriteINTStrategy::writeOutputData ( const OutputData< double > &  data,
std::ostream &  output_stream 
)
virtual

Implements IOutputDataWriteStrategy.

Definition at line 89 of file OutputDataWriteStrategy.cpp.

91 {
92  output_stream << "# BornAgain Intensity Data\n\n";
93 
94  for (size_t i = 0; i < data.getRank(); ++i) {
95  std::string axis_name = std::string("axis") + std::to_string(i);
96  std::unique_ptr<IAxis> P_axis(data.getAxis(i).clone());
97  P_axis->setName(axis_name);
98  output_stream << std::endl;
99  output_stream << "# axis-" << i << "\n";
100  output_stream << (*P_axis) << "\n";
101  }
102  size_t n_columns = data.getAxis(data.getRank() - 1).size();
103 
104  output_stream << "\n# data\n";
105  WriteOutputDataDoubles(data, output_stream, n_columns);
106  output_stream << std::endl;
107 }
virtual IAxis * clone() const =0
clone function
virtual size_t size() const =0
retrieve the number of bins
size_t getRank() const
Returns number of dimensions.
Definition: OutputData.h:59
const IAxis & getAxis(size_t serial_number) const
returns axis with given serial number
Definition: OutputData.h:314
void WriteOutputDataDoubles(const OutputData< double > &data, std::ostream &output_stream, size_t n_columns)

References IAxis::clone(), OutputData< T >::getAxis(), OutputData< T >::getRank(), IAxis::size(), and anonymous_namespace{OutputDataWriteStrategy.cpp}::WriteOutputDataDoubles().

Here is the call graph for this function:

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