fileout.h 1.3 KB
#ifndef FILE_OUTPUT_H
#define FILE_OUTPUT_H

#include <string>
//#include "defaults.h"
#include "dataTypes.h"

#include "rts/visualization/colormap.h"
#include "fieldslice.h"
#include "nearfield.h"
#include "microscope.h"
#include "rts/cuda/error.h"

struct fileoutStruct{

	//output file names
	std::string nearFile;		//near field filename
	std::string farFile;		//far field filename
	std::string intFile;		//detector intensity filename
	std::string absFile;        //detector absorbance filename
	std::string transFile;      //detector transmission filename

	bool append;                //append simulation results to existing binary files

	//output type
	enum field_type {fieldMag, fieldIntensity, fieldAbsorbance, fieldPolar, fieldImag, fieldReal, fieldAngularSpectrum};
	enum image_source {imageNearField, imageObjective, imageDetector, imageExtendedSource};

	field_type field;

	//flag for output in wavenumber
	bool wavenumber;

	//image_source source;

	//color map info
	rts::colormapType colormap;
	ptype colorMax;

	void Save(microscopeStruct* scope);
	void Simulate(microscopeStruct* scope);

	private:
	bool is_binary(std::string filename);
	void saveNearField(nearfieldStruct* nf);
	void saveFarField(microscopeStruct* scope);
	void saveDetector(microscopeStruct* scope);

};



#endif