Skip to content
Snippets Groups Projects
Commit 3865933e authored by Mikhail Svechnikov's avatar Mikhail Svechnikov Committed by Mikhail Svechnikov
Browse files

upd generation of python script

parent a440e2fb
No related branches found
No related tags found
1 merge request!1694Use footprint in GISAS and off-specular computations (#642)
...@@ -79,16 +79,10 @@ std::string defineFootprint(const IFootprint& foot) ...@@ -79,16 +79,10 @@ std::string defineFootprint(const IFootprint& foot)
std::string defineAlphaScan(const AlphaScan& scan) std::string defineAlphaScan(const AlphaScan& scan)
{ {
std::ostringstream result; std::ostringstream result;
result << "\n" result << indent() << "axis = " << Py::Fmt2::printAxis(scan.coordinateAxis(), "rad") << "\n"
<< indent() << "# Define specular scan:\n"
<< indent() << "axis = " << Py::Fmt2::printAxis(scan.coordinateAxis(), "rad") << "\n"
<< indent() << "scan = " << indent() << "scan = "
<< "ba.AlphaScan(axis)\n"; << "ba.AlphaScan(axis)\n";
if (const IFootprint* fp = scan.footprint()) {
result << defineFootprint(*fp);
result << indent() << "scan.setFootprint(footprint)\n";
}
if (const IDistribution1D* d = scan.angleDistribution()) { if (const IDistribution1D* d = scan.angleDistribution()) {
result << indent() << "distribution = " << Py::Fmt2::printDistribution(*d); result << indent() << "distribution = " << Py::Fmt2::printDistribution(*d);
result << indent() << "scan.setAngleDistribution(distribution)\n"; result << indent() << "scan.setAngleDistribution(distribution)\n";
...@@ -252,6 +246,10 @@ std::string defineGISASBeam(const ScatteringSimulation& simulation) ...@@ -252,6 +246,10 @@ std::string defineGISASBeam(const ScatteringSimulation& simulation)
result << ", " << Py::Fmt::printDegrees(beam.phi_i()); result << ", " << Py::Fmt::printDegrees(beam.phi_i());
result << ")\n"; result << ")\n";
if (const IFootprint* fp = beam.footprint()) {
result << defineFootprint(*fp);
result << indent() << "beam.setFootprint(footprint)\n";
}
result << defineBeamPolarization(beam); result << defineBeamPolarization(beam);
return result.str(); return result.str();
...@@ -268,6 +266,10 @@ std::string defineBeamScan(const IBeamScan& scan) ...@@ -268,6 +266,10 @@ std::string defineBeamScan(const IBeamScan& scan)
ASSERT(false); ASSERT(false);
if (scan.intensity() != 1) if (scan.intensity() != 1)
result << indent() << "scan.setIntensity(" << scan.intensity() << ")\n"; result << indent() << "scan.setIntensity(" << scan.intensity() << ")\n";
if (const IFootprint* fp = scan.footprint()) {
result << defineFootprint(*fp);
result << indent() << "scan.setFootprint(footprint)\n";
}
const PolFilter* analyzer = scan.analyzer(); const PolFilter* analyzer = scan.analyzer();
if (analyzer) if (analyzer)
result << definePolarizationAnalyzer(*analyzer, "scan"); result << definePolarizationAnalyzer(*analyzer, "scan");
...@@ -350,6 +352,7 @@ std::string defineBackground(const ISimulation& simulation) ...@@ -350,6 +352,7 @@ std::string defineBackground(const ISimulation& simulation)
std::string defineScatteringSimulation(const ScatteringSimulation& simulation) std::string defineScatteringSimulation(const ScatteringSimulation& simulation)
{ {
std::ostringstream result; std::ostringstream result;
result << "\n" << indent() << "# Define GISAS simulation:\n";
result << defineGISASBeam(simulation); result << defineGISASBeam(simulation);
result << defineDetector(simulation.detector()); result << defineDetector(simulation.detector());
result << indent() << "simulation = ba.ScatteringSimulation(beam, sample, detector)\n"; result << indent() << "simulation = ba.ScatteringSimulation(beam, sample, detector)\n";
...@@ -363,7 +366,7 @@ std::string defineScatteringSimulation(const ScatteringSimulation& simulation) ...@@ -363,7 +366,7 @@ std::string defineScatteringSimulation(const ScatteringSimulation& simulation)
std::string defineOffspecSimulation(const OffspecSimulation& simulation) std::string defineOffspecSimulation(const OffspecSimulation& simulation)
{ {
std::ostringstream result; std::ostringstream result;
result << "\n" << indent() << "# Define off-specular simulation:\n";
result << defineBeamScan(*simulation.scan()); result << defineBeamScan(*simulation.scan());
const OffspecDetector& detector = simulation.detector(); const OffspecDetector& detector = simulation.detector();
...@@ -385,6 +388,7 @@ std::string defineOffspecSimulation(const OffspecSimulation& simulation) ...@@ -385,6 +388,7 @@ std::string defineOffspecSimulation(const OffspecSimulation& simulation)
std::string defineSpecularSimulation(const SpecularSimulation& simulation) std::string defineSpecularSimulation(const SpecularSimulation& simulation)
{ {
std::ostringstream result; std::ostringstream result;
result << "\n" << indent() << "# Define specular scan:\n";
result << defineBeamScan(*simulation.scan()); result << defineBeamScan(*simulation.scan());
result << indent() << "simulation = ba.SpecularSimulation(scan, sample)\n"; result << indent() << "simulation = ba.SpecularSimulation(scan, sample)\n";
result << defineParameterDistributions(simulation.paramDistributions()); result << defineParameterDistributions(simulation.paramDistributions());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment