diff --git a/App/src/TestDetectorResolution.cpp b/App/src/TestDetectorResolution.cpp
index 339eba183a534bc38299383100d5866ae8fc2e5e..6a13b97683893562676ee45afd31c753926c2e66 100644
--- a/App/src/TestDetectorResolution.cpp
+++ b/App/src/TestDetectorResolution.cpp
@@ -1,5 +1,5 @@
 // ************************************************************************** //
-//                                                                         
+//
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
 //! @file      App/src/TestDetectorResolution.cpp
@@ -39,7 +39,7 @@ void TestDetectorResolution::execute()
         new ResolutionFunction2DSimple(0.001, 0.001);
     simulation.setDetectorResolutionFunction(p_resolution_function);
     simulation.setBeamParameters
-        (1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+        (1.0*Units::angstrom, 0.2*Units::degree, 0.0*Units::degree);
     simulation.runSimulation();
     mp_intensity_output = simulation.getOutputDataClone();
     IsGISAXSTools::drawLogOutputData
diff --git a/App/src/TestFittingModule1.cpp b/App/src/TestFittingModule1.cpp
index 1837f3ebe7b46c504759999ddec7edae5e32bb9c..988aa9f02d77858ff450516ce434d6f89e738099 100644
--- a/App/src/TestFittingModule1.cpp
+++ b/App/src/TestFittingModule1.cpp
@@ -1,5 +1,5 @@
 // ************************************************************************** //
-//                                                                         
+//
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
 //! @file      App/src/TestFittingModule1.cpp
@@ -96,8 +96,10 @@ void TestFittingModule1::initializeSimulation()
     delete mp_simulation;
     mp_simulation = new Simulation(mp_options);
     mp_simulation->setSample(*mp_sample);
-    mp_simulation->setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree,100 , 0.0*Units::degree, 2.0*Units::degree);
-    mp_simulation->setBeamParameters(1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+    mp_simulation->setDetectorParameters(100, 0.0*Units::degree,
+            2.0*Units::degree,100 , 0.0*Units::degree, 2.0*Units::degree);
+    mp_simulation->setBeamParameters(1.0*Units::angstrom, 0.2*Units::degree,
+            0.0*Units::degree);
     mp_simulation->setBeamIntensity(1e10);
 }
 
@@ -112,10 +114,12 @@ void TestFittingModule1::initializeSample1()
     MultiLayer *p_multi_layer = new MultiLayer();
     complex_t n_air(1.0, 0.0);
     complex_t n_particle(1.0-6e-4, 2e-8);
-    const IMaterial *p_air_material = MaterialManager::getHomogeneousMaterial("Air", n_air);
+    const IMaterial *p_air_material =
+            MaterialManager::getHomogeneousMaterial("Air", n_air);
     Layer air_layer;
     air_layer.setMaterial(p_air_material);
-    ParticleDecoration particle_decoration( new Particle(n_particle, new FormFactorCylinder(5*Units::nanometer, 5*Units::nanometer)));
+    ParticleDecoration particle_decoration( new Particle(n_particle,
+            new FormFactorCylinder(5*Units::nanometer, 5*Units::nanometer)));
     particle_decoration.addInterferenceFunction(new InterferenceFunctionNone());
     LayerDecorator air_layer_decorator(air_layer, particle_decoration);
     p_multi_layer->addLayer(air_layer_decorator);
diff --git a/App/src/TestFittingModule2.cpp b/App/src/TestFittingModule2.cpp
index 35657c8949dc0ef151ea97d0d285adeddece2808..0a945ecee3d9a2bd1ccdd93de807da3237d8bda2 100644
--- a/App/src/TestFittingModule2.cpp
+++ b/App/src/TestFittingModule2.cpp
@@ -1,5 +1,5 @@
 // ************************************************************************** //
-//                                                                         
+//
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
 //! @file      App/src/TestFittingModule2.cpp
@@ -99,7 +99,7 @@ void TestFittingModule2::fit_example_basics()
     initializeSimulation();
     initializeRealData();
 
-    m_fitSuite->addFitParameter("*SampleBuilder/m_cylinder_height", 
+    m_fitSuite->addFitParameter("*SampleBuilder/m_cylinder_height",
                                 5*Units::nanometer, 1*Units::nanometer,
                                 AttLimits::lowerLimited(0.01) );
     m_fitSuite->addFitParameter("*SampleBuilder/m_cylinder_radius",
@@ -271,7 +271,7 @@ void TestFittingModule2::initializeSimulation()
         100, 0.0*Units::degree, 2.0*Units::degree);
     mp_simulation->setBeamParameters(
          1.0*Units::angstrom,
-        -0.2*Units::degree,
+         0.2*Units::degree,
          0.0*Units::degree);
 }
 
diff --git a/App/src/TestFittingModule3.cpp b/App/src/TestFittingModule3.cpp
index b8f9d6104147a1b68afb011c959c11942410562e..c5fcba934311ddfea2c7a897e9e8f1766bbb3244 100644
--- a/App/src/TestFittingModule3.cpp
+++ b/App/src/TestFittingModule3.cpp
@@ -1,5 +1,5 @@
 // ************************************************************************** //
-//                                                                         
+//
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
 //! @file      App/src/TestFittingModule3.cpp
@@ -99,7 +99,7 @@ void TestFittingModule3::initializeSimulation()
     m_simulation = new Simulation(mp_options);
     m_simulation->setSample(*m_sample);
     m_simulation->setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree,100 , 0.0*Units::degree, 2.0*Units::degree);
-    m_simulation->setBeamParameters(1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+    m_simulation->setBeamParameters(1.0*Units::angstrom, 0.2*Units::degree, 0.0*Units::degree);
     m_simulation->setBeamIntensity(1e10);
 }
 
diff --git a/App/src/TestFormFactors.cpp b/App/src/TestFormFactors.cpp
index fc086adaa90335ff6324e1ada21f311cf14a65c8..69754a79718123cf66a12fb77ea3b4762d15a434 100644
--- a/App/src/TestFormFactors.cpp
+++ b/App/src/TestFormFactors.cpp
@@ -1,5 +1,5 @@
 // ************************************************************************** //
-//                                                                         
+//
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
 //! @file      App/src/TestFormFactors.cpp
@@ -31,7 +31,7 @@ void TestFormFactors::execute()
     Simulation simulation(mp_options);
     simulation.setSample(*sample);
     simulation.setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree, 100, 0.0*Units::degree, 2.0*Units::degree, true);
-    simulation.setBeamParameters(1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+    simulation.setBeamParameters(1.0*Units::angstrom, 0.2*Units::degree, 0.0*Units::degree);
     simulation.runSimulation();
     m_data_path = std::string(Utils::FileSystem::GetHomePath()+"./Examples/FormFactors/");
     OutputDataIOFactory::writeOutputData(*simulation.getOutputData(), Utils::FileSystem::GetHomePath()+"./Examples/FormFactors/this_Box.ima");
diff --git a/App/src/TestFourier.cpp b/App/src/TestFourier.cpp
index 104348a9034b73d84ae2d49e707b96a91baeb231..4aec3e2bf3baca63cbf7704a30754d1a24036ddb 100644
--- a/App/src/TestFourier.cpp
+++ b/App/src/TestFourier.cpp
@@ -1,5 +1,5 @@
 // ************************************************************************** //
-//                                                                         
+//
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
 //! @file      App/src/TestFourier.cpp
@@ -44,7 +44,7 @@ void TestFourier::execute()
     simulation.setSample(*mp_sample);
     simulation.setDetectorParameters(256, 0.3*Units::degree, 10.0*Units::degree
             ,256, 0.0*Units::degree, 10.0*Units::degree);
-    simulation.setBeamParameters(1.77*Units::angstrom, -0.4*Units::degree, 0.0*Units::degree);
+    simulation.setBeamParameters(1.77*Units::angstrom, 0.4*Units::degree, 0.0*Units::degree);
     simulation.setBeamIntensity(8e12);
 
     simulation.runSimulation();
diff --git a/App/src/TestIsGISAXS1.cpp b/App/src/TestIsGISAXS1.cpp
index 480bb9675d07234c4601b77c48f178c9b45bdfe6..30e77e066f605505a58ebd3b07c7a8018ea4a119 100644
--- a/App/src/TestIsGISAXS1.cpp
+++ b/App/src/TestIsGISAXS1.cpp
@@ -1,5 +1,5 @@
 // ************************************************************************** //
-//                                                                         
+//
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
 //! @file      App/src/TestIsGISAXS1.cpp
@@ -41,7 +41,7 @@ void TestIsGISAXS1::execute()
         100,-1.0*Units::degree, 1.0*Units::degree, 100,
         0.0*Units::degree, 2.0*Units::degree, true);
     simulation.setBeamParameters(
-        1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+        1.0*Units::angstrom, 0.2*Units::degree, 0.0*Units::degree);
 
     // Run simulation
     simulation.setSample(*sample);
diff --git a/App/src/TestIsGISAXS12.cpp b/App/src/TestIsGISAXS12.cpp
index cf9da345ac62312d2fec4bf31070744c87d4ac6a..c421b61af8a5b800d07404eb411eb9ebe2ce7d5c 100644
--- a/App/src/TestIsGISAXS12.cpp
+++ b/App/src/TestIsGISAXS12.cpp
@@ -430,7 +430,7 @@ void TestIsGISAXS12::initializeSimulation()
     m_simulation = new Simulation(mp_options);
     m_simulation->setSampleBuilder(m_sample_builder);
     m_simulation->setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree, 100, 0.0*Units::degree, 2.0*Units::degree, true);
-    m_simulation->setBeamParameters(1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+    m_simulation->setBeamParameters(1.0*Units::angstrom, 0.2*Units::degree, 0.0*Units::degree);
 }
 
 
diff --git a/App/src/TestIsGISAXS13.cpp b/App/src/TestIsGISAXS13.cpp
index b698a40ed4e1fd3cbf8061ff725d478827916bf2..6445d51c2a59027c5a12b913069874fe87423e62 100644
--- a/App/src/TestIsGISAXS13.cpp
+++ b/App/src/TestIsGISAXS13.cpp
@@ -222,7 +222,7 @@ void TestIsGISAXS13::initializeSimulation()
             100, 0.0*Units::degree, 2.0*Units::degree,
             100, 0.0*Units::degree, 2.0*Units::degree, true);
     mp_simulation->setBeamParameters(1.0*Units::angstrom,
-            -0.2*Units::degree, 0.0*Units::degree);
+            0.2*Units::degree, 0.0*Units::degree);
 }
 
 
diff --git a/App/src/TestIsGISAXS14.cpp b/App/src/TestIsGISAXS14.cpp
index a64e7448f79159e5fd869f2761739cb434f302ac..ca33876a4775d766d80ae649c1678aee80321fa6 100644
--- a/App/src/TestIsGISAXS14.cpp
+++ b/App/src/TestIsGISAXS14.cpp
@@ -1,5 +1,5 @@
 // ************************************************************************** //
-//                                                                         
+//
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
 //! @file      App/src/TestIsGISAXS14.cpp
@@ -39,7 +39,7 @@ void TestIsGISAXS14::execute()
     Simulation simulation(mp_options);
     simulation.setSample(*sample);
     simulation.setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree, 100, 0.0*Units::degree, 2.0*Units::degree, true);
-    simulation.setBeamParameters(1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+    simulation.setBeamParameters(1.0*Units::angstrom, 0.2*Units::degree, 0.0*Units::degree);
     simulation.runSimulation();
     OutputDataIOFactory::writeOutputData(*simulation.getOutputDataClone(), getOutputPath() + "this_multilayer_sphere.ima");
 }
diff --git a/App/src/TestIsGISAXS2.cpp b/App/src/TestIsGISAXS2.cpp
index 71259879f1bcdc90f02d82c3037cbf5cbfc5c32d..3db5652d862299a71eb719730b4e3b087322e09a 100644
--- a/App/src/TestIsGISAXS2.cpp
+++ b/App/src/TestIsGISAXS2.cpp
@@ -1,5 +1,5 @@
 // ************************************************************************** //
-//                                                                         
+//
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
 //! @file      App/src/TestIsGISAXS2.cpp
@@ -35,7 +35,7 @@ void TestIsGISAXS2::execute()
 
     Simulation simulation;
     simulation.setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree, 100, 0.0*Units::degree, 2.0*Units::degree, true);
-    simulation.setBeamParameters(1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+    simulation.setBeamParameters(1.0*Units::angstrom, 0.2*Units::degree, 0.0*Units::degree);
     simulation.setSample(*sample);
     simulation.runSimulation();
 
diff --git a/App/src/TestIsGISAXS3.cpp b/App/src/TestIsGISAXS3.cpp
index 70aa70cbf74786370c72c5ac80e5053ffea3550f..562bb8492accba622aecc50af62da3178dbc22fc 100644
--- a/App/src/TestIsGISAXS3.cpp
+++ b/App/src/TestIsGISAXS3.cpp
@@ -1,5 +1,5 @@
 // ************************************************************************** //
-//                                                                         
+//
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
 //! @file      App/src/TestIsGISAXS3.cpp
@@ -47,7 +47,7 @@ void TestIsGISAXS3::execute()
     Simulation simulation;
     simulation.setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree,
                                      100, 0.0*Units::degree, 2.0*Units::degree, true);
-    simulation.setBeamParameters(1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+    simulation.setBeamParameters(1.0*Units::angstrom, 0.2*Units::degree, 0.0*Units::degree);
 
     // test1
     ISample *sample = factory.createSample("isgisaxs03_dwba");
diff --git a/App/src/TestIsGISAXS4.cpp b/App/src/TestIsGISAXS4.cpp
index c0b548ab4d811b096dd35c55ffed512261a2350d..e98198d7d7b09f9951150a2b4720568172969154 100644
--- a/App/src/TestIsGISAXS4.cpp
+++ b/App/src/TestIsGISAXS4.cpp
@@ -1,5 +1,5 @@
 // ************************************************************************** //
-//                                                                         
+//
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
 //! @file      App/src/TestIsGISAXS4.cpp
@@ -36,7 +36,7 @@ void TestIsGISAXS4::execute()
 
     Simulation simulation;
     simulation.setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree, 100, 0.0*Units::degree, 2.0*Units::degree, true);
-    simulation.setBeamParameters(1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+    simulation.setBeamParameters(1.0*Units::angstrom, 0.2*Units::degree, 0.0*Units::degree);
 
     ISample *sample = factory.createSample("isgisaxs04_1DDL");
     simulation.setSample(*sample);
diff --git a/App/src/TestIsGISAXS5.cpp b/App/src/TestIsGISAXS5.cpp
index df5241b33b3a954da7e98d99bc0a52eaa5f78d09..a48b86f57168f1c6facc0f6f27cdf8e7d83ec809 100644
--- a/App/src/TestIsGISAXS5.cpp
+++ b/App/src/TestIsGISAXS5.cpp
@@ -247,7 +247,7 @@ void TestIsGISAXS5::initializeSimulation()
     mp_simulation = new Simulation(mp_options);
     mp_simulation->setSampleBuilder(mp_sample_builder);
     mp_simulation->setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree, 100, 0.0*Units::degree, 2.0*Units::degree, true);
-    mp_simulation->setBeamParameters(1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+    mp_simulation->setBeamParameters(1.0*Units::angstrom, 0.2*Units::degree, 0.0*Units::degree);
 }
 
 /* ************************************************************************* */
diff --git a/App/src/TestIsGISAXS9.cpp b/App/src/TestIsGISAXS9.cpp
index e72a87150c170e1ad85d8d86200aec83d813aa87..fa241c6c63940fdd89886f9cb988bd8a796010c3 100644
--- a/App/src/TestIsGISAXS9.cpp
+++ b/App/src/TestIsGISAXS9.cpp
@@ -1,5 +1,5 @@
 // ************************************************************************** //
-//                                                                         
+//
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
 //! @file      App/src/TestIsGISAXS9.cpp
@@ -43,7 +43,7 @@ void TestIsGISAXS9::execute()
         100, 0.0*Units::degree, 2.0*Units::degree,
         100, 0.0*Units::degree, 2.0*Units::degree, true);
     simulation.setBeamParameters(
-        1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+        1.0*Units::angstrom, 0.2*Units::degree, 0.0*Units::degree);
 
     SampleBuilderFactory factory;
     ISample *sample = factory.createSample("isgisaxs09");
diff --git a/App/src/TestMesoCrystal1.cpp b/App/src/TestMesoCrystal1.cpp
index 1dff93251b2f740ea5e9d5ef15c40d7121aa9f9b..fc90f678de84708c19322f75d753b36f563ec8ef 100644
--- a/App/src/TestMesoCrystal1.cpp
+++ b/App/src/TestMesoCrystal1.cpp
@@ -1,5 +1,5 @@
 // ************************************************************************** //
-//                                                                         
+//
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
 //! @file      App/src/TestMesoCrystal1.cpp
@@ -68,7 +68,7 @@ void TestMesoCrystal1::execute()
     simulation.setDetectorResolutionFunction(
         new ResolutionFunction2DSimple(0.00017, 0.00017));
     simulation.setBeamParameters(
-        1.77*Units::angstrom, -0.4*Units::degree, 0.0*Units::degree);
+        1.77*Units::angstrom, 0.4*Units::degree, 0.0*Units::degree);
     simulation.setBeamIntensity(8e12);
 
     ParameterPool *p_param_pool = simulation.createParameterTree();
diff --git a/App/src/TestMesoCrystal2.cpp b/App/src/TestMesoCrystal2.cpp
index b1dca2f673af0f15c3d19f61b23fe9fbb3c53532..8ecb161b531399abef93da225ee27846d02459fb 100644
--- a/App/src/TestMesoCrystal2.cpp
+++ b/App/src/TestMesoCrystal2.cpp
@@ -1,5 +1,5 @@
 // ************************************************************************** //
-//                                                                         
+//
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
 //! @file      App/src/TestMesoCrystal2.cpp
@@ -505,7 +505,7 @@ void TestMesoCrystal2::initializeSimulation(const OutputData<double> *output_dat
 
     m_simulation = new Simulation(mp_options);
     m_simulation->setSampleBuilder( m_sample_builder );
-    m_simulation->setBeamParameters(1.77*Units::angstrom, -0.4*Units::degree, 0.0*Units::degree);
+    m_simulation->setBeamParameters(1.77*Units::angstrom, 0.4*Units::degree, 0.0*Units::degree);
     m_simulation->setBeamIntensity(8e12);
     m_simulation->setDetectorResolutionFunction(new ResolutionFunction2DSimple(0.0002, 0.0002));
 
diff --git a/App/src/TestMultiLayerRoughness.cpp b/App/src/TestMultiLayerRoughness.cpp
index b8aab0b8390c76bfdc6204785bb9bb955a218f7f..9d8fabba5b04deaad696aa56580f927ca7160eb0 100644
--- a/App/src/TestMultiLayerRoughness.cpp
+++ b/App/src/TestMultiLayerRoughness.cpp
@@ -1,5 +1,5 @@
 // ************************************************************************** //
-//                                                                         
+//
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
 //! @file      App/src/TestMultiLayerRoughness.cpp
@@ -52,7 +52,7 @@ void TestMultiLayerRoughness::execute()
         Simulation simulation(mp_options);
         simulation.setSample(*sample);
         simulation.setDetectorParameters(2, 0.0*Units::degree, 0.00001*Units::degree, npoints, 0.0*Units::degree, 2.0*Units::degree, false);
-        simulation.setBeamParameters(1.54*Units::angstrom, -alpha_i, 0.0*Units::degree);
+        simulation.setBeamParameters(1.54*Units::angstrom, alpha_i, 0.0*Units::degree);
 
         simulation.runSimulation();
 
diff --git a/App/src/TestPerformance.cpp b/App/src/TestPerformance.cpp
index f7c790d5ff893e300ee0136b3211ca2811288eba..88b8a966fe32e17b229671b190a1392953db6089 100644
--- a/App/src/TestPerformance.cpp
+++ b/App/src/TestPerformance.cpp
@@ -218,7 +218,7 @@ void PerfTest_Pyramid::initialise(ProgramOptions *p_options)
     if(m_simulation) delete m_simulation;
     m_simulation = new Simulation(mp_options);
     m_simulation->setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree, 100, 0.0*Units::degree, 2.0*Units::degree, true);
-    m_simulation->setBeamParameters(1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+    m_simulation->setBeamParameters(1.0*Units::angstrom, 0.2*Units::degree, 0.0*Units::degree);
     m_simulation->setSample(*m_sample);
 }
 
@@ -243,7 +243,7 @@ void PerfTest_RotatedPyramid::initialise(ProgramOptions *p_options)
     if(m_simulation) delete m_simulation;
     m_simulation = new Simulation(p_options);
     m_simulation->setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree, 100, 0.0*Units::degree, 2.0*Units::degree, true);
-    m_simulation->setBeamParameters(1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+    m_simulation->setBeamParameters(1.0*Units::angstrom, 0.2*Units::degree, 0.0*Units::degree);
     m_simulation->setSample(*m_sample);
 }
 
@@ -267,7 +267,7 @@ void PerfTest_MesoCrystal::initialise(ProgramOptions *p_options)
     m_simulation = new Simulation(p_options);
     m_simulation->setSample(*m_sample);
     m_simulation->setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree, 100, 0.0*Units::degree, 2.0*Units::degree, true);
-    m_simulation->setBeamParameters(0.77*Units::angstrom, -0.4*Units::degree, 0.0*Units::degree);
+    m_simulation->setBeamParameters(0.77*Units::angstrom, 0.4*Units::degree, 0.0*Units::degree);
 
 }
 
diff --git a/App/src/TestRootTree.cpp b/App/src/TestRootTree.cpp
index e8dcaabbfd8b79eabb34cc9b7e24c40af70af5f6..49480877efca930908dd82ac44ff974b8aca8536 100644
--- a/App/src/TestRootTree.cpp
+++ b/App/src/TestRootTree.cpp
@@ -1,5 +1,5 @@
 // ************************************************************************** //
-//                                                                         
+//
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
 //! @file      App/src/TestRootTree.cpp
@@ -115,7 +115,7 @@ void TestRootTree::complex_write()
         simulation.setDetectorParameters(
             nphi_f, phi_f_min, phi_f_max,
             nalpha_f , alpha_f_min, alpha_f_max);
-        simulation.setBeamParameters(1.77*Units::angstrom, -alpha_i, phi_i);
+        simulation.setBeamParameters(1.77*Units::angstrom, alpha_i, phi_i);
         simulation.setBeamIntensity(1e7);
         simulation.runSimulation();
         simulation.normalize();
@@ -219,7 +219,7 @@ void TestRootTree::simple_write()
         100, 0.0*Units::degree, 2.0*Units::degree,
         100, 0.0*Units::degree, 2.0*Units::degree, true);
     mp_simulation->setBeamParameters(
-        1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+        1.0*Units::angstrom, 0.2*Units::degree, 0.0*Units::degree);
     mp_simulation->setSample(*mp_sample);
 
     // variables below will be written in the tree
@@ -259,7 +259,7 @@ void TestRootTree::simple_write()
     for(int i_ev=0; i_ev<nTotalEvents; i_ev++) {
         if(i_ev%10 ==0 ) std::cout << "nevent:" << i_ev << std::endl;
 
-        alpha_i = -0.3 + 0.1*mr.Rndm(); // generating random alpha_i in the interval
+        alpha_i = 0.3 - 0.1*mr.Rndm(); // generating random alpha_i in the interval
         //phi_i = M_PI*2.*mr.Rndm(); // generating random phi_i in the interval
         phi_i = 0;
         nev = i_ev;
diff --git a/Core/Algorithms/src/Beam.cpp b/Core/Algorithms/src/Beam.cpp
index e697e1169e5014ce6a0bbb440be0854306f37a81..3a103764a4c1326351d867ecea7da14729a6927c 100644
--- a/Core/Algorithms/src/Beam.cpp
+++ b/Core/Algorithms/src/Beam.cpp
@@ -50,6 +50,7 @@ void Beam::setCentralK(const cvector_t& k_i)
 void Beam::setCentralK(double lambda, double alpha_i, double phi_i)
 {
     cvector_t k_i;
+    if (alpha_i >0) alpha_i = - alpha_i;
     k_i.setLambdaAlphaPhi(lambda, alpha_i, phi_i);
     m_central_k = k_i;
 }
diff --git a/Examples/python/ex001_CylindersAndPrisms/CylindersAndPrisms.py b/Examples/python/ex001_CylindersAndPrisms/CylindersAndPrisms.py
index c084fad503c973408a4812145162f1e3e1c1ec69..48c574c10eca8b8fe5a1e0e0064bfc24ed8ef164 100644
--- a/Examples/python/ex001_CylindersAndPrisms/CylindersAndPrisms.py
+++ b/Examples/python/ex001_CylindersAndPrisms/CylindersAndPrisms.py
@@ -16,8 +16,8 @@ from utils.show2d import PlotNumpyArray
 # ----------------------------------
 def RunSimulation():
     # defining materials
-    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 1.0, 0.0 )
-    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8 )
+    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
+    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
     # collection of particles
     n_particle = complex(1.0-6e-4, 2e-8)
     cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer)
@@ -40,7 +40,7 @@ def RunSimulation():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(100,-1.0*degree, 1.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
     simulation.setSample(multi_layer)
     simulation.runSimulation()
     ## intensity data
diff --git a/Examples/python/ex002_CylindersWithSizeDistribution/CylindersWithSizeDistribution.py b/Examples/python/ex002_CylindersWithSizeDistribution/CylindersWithSizeDistribution.py
index 65ef02600ce60dbf34dd93bdd5ca7e5ffb3c3ecb..abc5e19adff66173523c82cd11cd8268cb12855e 100644
--- a/Examples/python/ex002_CylindersWithSizeDistribution/CylindersWithSizeDistribution.py
+++ b/Examples/python/ex002_CylindersWithSizeDistribution/CylindersWithSizeDistribution.py
@@ -15,7 +15,7 @@ from utils.show2d import PlotNumpyArray
 # ----------------------------------
 def RunSimulation():
     # defining materials
-    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 1.0, 0.0 )
+    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
     # collection of particles
     n_particle = complex(1.0-6e-4, 2e-8)
     radius1 = 5.0*nanometer
@@ -58,7 +58,7 @@ def RunSimulation():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(100, 0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
 
     simulation.setSample(multi_layer)
     simulation.runSimulation()
diff --git a/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInBA.py b/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInBA.py
index 178d46966ba790d9d088f82d4fb7f9f2d91f49e9..ae428e74d3eac6bc9beb10c3a9f3d1032e039a8e 100644
--- a/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInBA.py
+++ b/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInBA.py
@@ -17,8 +17,8 @@ from utils.show2d import PlotNumpyArray
 # ----------------------------------
 def RunSimulation():
      # defining materials
-    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 1.0, 0.0 )
-    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8 )
+    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
+    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
     # collection of particles
     n_particle = complex(1.0-6e-4, 2e-8)
     cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer)
@@ -37,7 +37,7 @@ def RunSimulation():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
     simulation.setSample(multi_layer)
     simulation.runSimulation()
     return GetOutputData(simulation)
diff --git a/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInBASize.py b/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInBASize.py
index d05eb3d4ef16db5aa756ac6888db3c1b719f9fd9..b463f34d90380e20f088b459cacc88ed6ca50b34 100644
--- a/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInBASize.py
+++ b/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInBASize.py
@@ -17,8 +17,8 @@ from utils.show2d import PlotNumpyArray
 # ----------------------------------
 def RunSimulation():
     # defining materials
-    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 1.0, 0.0 )
-    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8 )
+    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
+    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
 
     multi_layer = MultiLayer()
 
@@ -48,7 +48,7 @@ def RunSimulation():
     # build and run experiment  
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
     simulation.setSample(multi_layer)
     simulation.runSimulation()
     return GetOutputData(simulation)
diff --git a/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInDWBA.py b/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInDWBA.py
index 17ba9723702d30940a7dea529cf3237d8de70ef4..51213dca37841a4aa890de3fe8f15bac8986e20c 100644
--- a/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInDWBA.py
+++ b/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInDWBA.py
@@ -18,8 +18,8 @@ from utils.show2d import PlotNumpyArray
 # ----------------------------------
 def RunSimulation():
     # defining materials
-    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 1.0, 0.0 )
-    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8 )    
+    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
+    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )    
     # collection of particles
     n_particle = complex(1.0-6e-4, 2e-8)    
     cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer)
@@ -40,7 +40,7 @@ def RunSimulation():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
     simulation.setSample(multi_layer)
     simulation.runSimulation()
 
diff --git a/Examples/python/ex004_CylindersParaCrystal/CylindersParaCrystal_1DDL.py b/Examples/python/ex004_CylindersParaCrystal/CylindersParaCrystal_1DDL.py
index 7f45de5f82dea31e171301346b599840eeae9d7a..9a323852f71b6ba3d126264a3ac00b924fcef77b 100644
--- a/Examples/python/ex004_CylindersParaCrystal/CylindersParaCrystal_1DDL.py
+++ b/Examples/python/ex004_CylindersParaCrystal/CylindersParaCrystal_1DDL.py
@@ -16,8 +16,8 @@ from utils.show2d import PlotNumpyArray
 # ----------------------------------
 def RunSimulation():
     # defining materials
-    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 1.0, 0.0 )
-    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8 )
+    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
+    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
     # collection of particles
     n_particle = complex(1.0-6e-4, 2e-8)   
     cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer)
@@ -37,7 +37,7 @@ def RunSimulation():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
     simulation.setSample(multi_layer)
     simulation.runSimulation()
     ## intensity data
diff --git a/Examples/python/ex004_CylindersParaCrystal/CylindersParaCrystal_2DDL.py b/Examples/python/ex004_CylindersParaCrystal/CylindersParaCrystal_2DDL.py
index a6272baf3a02f1018a2fb96324c2f69df9943beb..1556da88dc585170f761679a0c125502a4ee27f0 100644
--- a/Examples/python/ex004_CylindersParaCrystal/CylindersParaCrystal_2DDL.py
+++ b/Examples/python/ex004_CylindersParaCrystal/CylindersParaCrystal_2DDL.py
@@ -16,8 +16,8 @@ from utils.show2d import PlotNumpyArray
 # ----------------------------------
 def RunSimulation():
     # defining materials
-    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 1.0, 0.0 )
-    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8 )
+    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
+    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
     # collection of particles
     n_particle = complex(1.0-6e-4, 2e-8)
 
@@ -43,7 +43,7 @@ def RunSimulation():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
     simulation.setSample(multi_layer)
     simulation.runSimulation()
     return GetOutputData(simulation)
diff --git a/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder1.py b/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder1.py
index e87a392b65d647882d518f8d4aa6a5f623530a29..4fdbd148cac6a66a56fd789f91519f3b7849e988 100644
--- a/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder1.py
+++ b/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder1.py
@@ -17,8 +17,8 @@ M_PI = numpy.pi
 # ----------------------------------
 def RunSimulation():
     # defining materials
-    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 1.0, 0.0 )
-    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8 )
+    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
+    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
     # collection of particles
     lattice_params = Lattice2DIFParameters()
     lattice_params.m_length_1 = 10.0*nanometer
@@ -52,7 +52,7 @@ def RunSimulation():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
 
     sim_params= SimulationParameters()
     sim_params.me_framework = SimulationParameters.DWBA
diff --git a/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder2.py b/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder2.py
index 4864861f2c121535b572982b3d2c1762fe06af58..ca000cd9547cb4ae3426112491935235eb5cc6cc 100644
--- a/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder2.py
+++ b/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder2.py
@@ -17,8 +17,8 @@ M_PI = numpy.pi
 # ----------------------------------
 def RunSimulation():
     # defining materials
-    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 1.0, 0.0 )
-    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8 )
+    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
+    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
     # collection of particles
     lattice_params = Lattice2DIFParameters()
     lattice_params.m_length_1 = 10.0*nanometer
@@ -57,7 +57,7 @@ def RunSimulation():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
 
     sim_params= SimulationParameters()
     sim_params.me_framework = SimulationParameters.DWBA
diff --git a/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder3.py b/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder3.py
index dcf2be0df5775fff83ee312b38831a02cbd32085..4d521e8a0cbd076e4251d265168060d830300360 100644
--- a/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder3.py
+++ b/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder3.py
@@ -17,8 +17,8 @@ M_PI = numpy.pi
 # ----------------------------------
 def RunSimulation():
 # defining materials
-    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 1.0, 0.0 )
-    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8 )
+    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
+    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
     # collection of particles
     lattice_params = Lattice2DIFParameters()
     lattice_params.m_length_1 = 10.0*nanometer
@@ -52,7 +52,7 @@ def RunSimulation():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
 
     sim_params = SimulationParameters()
     sim_params.me_framework = SimulationParameters.DWBA
diff --git a/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder4.py b/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder4.py
index c4ffd295728eb8b785190f983aff7183a175a69f..126bf6551e431b6f73a1676fa0c993b66ea0dd8e 100644
--- a/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder4.py
+++ b/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder4.py
@@ -20,7 +20,7 @@ def RunSimulation():
     # building simulation
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
 
     sim_params = SimulationParameters()
     sim_params.me_framework = SimulationParameters.DWBA
@@ -52,8 +52,8 @@ def RunSimulation():
 # IsGISAXS6 functional test sample builder for varying xi angle
 def buildSample(xi_value):
     n_particle = complex(1.0-6e-4, 2e-8)
-    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 1.0, 0.0 )
-    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8 )
+    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
+    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
     air_layer = Layer(mAmbience)
     substrate_layer = Layer(mSubstrate)
     
diff --git a/Examples/python/ex009_RotatedPyramids/Pyramids.py b/Examples/python/ex009_RotatedPyramids/Pyramids.py
index 41df7496259f5e06fcc70dc2b7ffab1f720391db..8c8e1a90dbd4ff5454e6632671f9adf16abb6b45 100644
--- a/Examples/python/ex009_RotatedPyramids/Pyramids.py
+++ b/Examples/python/ex009_RotatedPyramids/Pyramids.py
@@ -16,8 +16,8 @@ from utils.show2d import PlotNumpyArray
 # ----------------------------------
 def RunSimulation():
     # defining materials
-    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 1.0, 0.0 )
-    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8 )
+    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
+    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
     # collection of particles
     n_particle = complex(1.0-6e-4, 2e-8)
     pyramid_ff = FormFactorPyramid(5*nanometer, 5*nanometer, deg2rad(54.73 ) )
@@ -37,7 +37,7 @@ def RunSimulation():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
     simulation.setSample(multi_layer)
     simulation.runSimulation()
     ## intensity data
diff --git a/Examples/python/ex009_RotatedPyramids/RotatedPyramids.py b/Examples/python/ex009_RotatedPyramids/RotatedPyramids.py
index 4b11011737e98290be2ff9e13efc3fc591aa8c89..45cfccaec40d03f6ad26d13afc1622d050eae1b5 100644
--- a/Examples/python/ex009_RotatedPyramids/RotatedPyramids.py
+++ b/Examples/python/ex009_RotatedPyramids/RotatedPyramids.py
@@ -15,8 +15,8 @@ from utils.show2d import PlotNumpyArray
 # ----------------------------------
 def RunSimulation():
    # defining materials
-    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 1.0, 0.0 )
-    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8 )
+    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
+    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 )
     # collection of particles
     n_particle = complex(1.0-6e-4, 2e-8)   
     pyramid_ff = FormFactorPyramid(5*nanometer, 5*nanometer, deg2rad(54.73 ) )
@@ -41,7 +41,7 @@ def RunSimulation():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
     simulation.setSample(multi_layer)
     simulation.runSimulation()
     ## intensity data
diff --git a/Tests/FunctionalTests/TestCore/IsGISAXS01/IsGISAXS01.cpp b/Tests/FunctionalTests/TestCore/IsGISAXS01/IsGISAXS01.cpp
index 7363c010d5a75cca6588d839221b43691a231856..1d1c43dcc084fa70f9730e031a37ceec37b596be 100644
--- a/Tests/FunctionalTests/TestCore/IsGISAXS01/IsGISAXS01.cpp
+++ b/Tests/FunctionalTests/TestCore/IsGISAXS01/IsGISAXS01.cpp
@@ -25,7 +25,7 @@ void FunctionalTests::IsGISAXS01::run()
         100,-1.0*Units::degree, 1.0*Units::degree, 100,
         0.0*Units::degree, 2.0*Units::degree, true);
     simulation.setBeamParameters(
-        1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+        1.0*Units::angstrom, 0.2*Units::degree, 0.0*Units::degree);
 
     // Run simulation
     simulation.setSample(*sample);
diff --git a/Tests/FunctionalTests/TestCore/IsGISAXS02/IsGISAXS02.cpp b/Tests/FunctionalTests/TestCore/IsGISAXS02/IsGISAXS02.cpp
index 28e8ba92de13c88fedacfe4f1f93946851f8dff2..3a30db7d255c40eb8213fac012c8307de214a253 100644
--- a/Tests/FunctionalTests/TestCore/IsGISAXS02/IsGISAXS02.cpp
+++ b/Tests/FunctionalTests/TestCore/IsGISAXS02/IsGISAXS02.cpp
@@ -22,8 +22,10 @@ void FunctionalTests::IsGISAXS02::run()
     ISample *sample = factory.createSample("isgisaxs02");
 
     Simulation simulation;
-    simulation.setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree, 100, 0.0*Units::degree, 2.0*Units::degree, true);
-    simulation.setBeamParameters(1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+    simulation.setDetectorParameters(100, 0.0*Units::degree,
+            2.0*Units::degree, 100, 0.0*Units::degree, 2.0*Units::degree, true);
+    simulation.setBeamParameters(1.0*Units::angstrom, 0.2*Units::degree,
+            0.0*Units::degree);
     simulation.setSample(*sample);
     simulation.runSimulation();
 
diff --git a/Tests/FunctionalTests/TestCore/IsGISAXS03/IsGISAXS03.cpp b/Tests/FunctionalTests/TestCore/IsGISAXS03/IsGISAXS03.cpp
index b2b20d7dbd58e6d5f6a84baf4d10c381264ab19a..d5ce4285c6718af55925fcc5bfe7f0ed6b140cd3 100644
--- a/Tests/FunctionalTests/TestCore/IsGISAXS03/IsGISAXS03.cpp
+++ b/Tests/FunctionalTests/TestCore/IsGISAXS03/IsGISAXS03.cpp
@@ -30,8 +30,10 @@ void FunctionalTests::IsGISAXS03::runDWBA()
     // building simulation
     Simulation simulation;
     simulation.setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree,
-                                     100, 0.0*Units::degree, 2.0*Units::degree, true);
-    simulation.setBeamParameters(1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+                                     100, 0.0*Units::degree, 2.0*Units::degree,
+                                     true);
+    simulation.setBeamParameters(1.0*Units::angstrom, 0.2*Units::degree,
+            0.0*Units::degree);
 
     // running simulation and copying data
     simulation.setSample(*sample);
@@ -51,8 +53,10 @@ void FunctionalTests::IsGISAXS03::runBA()
     // building simulation
     Simulation simulation;
     simulation.setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree,
-                                     100, 0.0*Units::degree, 2.0*Units::degree, true);
-    simulation.setBeamParameters(1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+                                     100, 0.0*Units::degree, 2.0*Units::degree,
+                                     true);
+    simulation.setBeamParameters(1.0*Units::angstrom, 0.2*Units::degree,
+            0.0*Units::degree);
 
     // running simulation and copying data
     simulation.setSample(*sample);
@@ -72,8 +76,10 @@ void FunctionalTests::IsGISAXS03::runBA_Size()
     // building simulation
     Simulation simulation;
     simulation.setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree,
-                                     100, 0.0*Units::degree, 2.0*Units::degree, true);
-    simulation.setBeamParameters(1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+                                     100, 0.0*Units::degree, 2.0*Units::degree,
+                                     true);
+    simulation.setBeamParameters(1.0*Units::angstrom, 0.2*Units::degree,
+            0.0*Units::degree);
 
     // running simulation and copying data
     simulation.setSample(*sample);
diff --git a/Tests/FunctionalTests/TestCore/IsGISAXS04/IsGISAXS04.cpp b/Tests/FunctionalTests/TestCore/IsGISAXS04/IsGISAXS04.cpp
index 809fed1647ee24d8e6fa486afbcc9a7f32c7c0aa..c616fca7312b3fb4a204b64eb440f788622727f0 100644
--- a/Tests/FunctionalTests/TestCore/IsGISAXS04/IsGISAXS04.cpp
+++ b/Tests/FunctionalTests/TestCore/IsGISAXS04/IsGISAXS04.cpp
@@ -20,7 +20,9 @@ FunctionalTests::IsGISAXS04::IsGISAXS04()
 
 FunctionalTests::IsGISAXS04::~IsGISAXS04()
 {
-    for(results_t::iterator it = m_results.begin(); it!=m_results.end(); ++it) delete (*it);
+    for(results_t::iterator it = m_results.begin(); it!=m_results.end(); ++it) {
+        delete (*it);
+    }
 }
 
 
@@ -31,8 +33,10 @@ void FunctionalTests::IsGISAXS04::run1DDL()
     ISample *sample = factory.createSample("isgisaxs04_1DDL");
 
     Simulation simulation;
-    simulation.setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree, 100, 0.0*Units::degree, 2.0*Units::degree, true);
-    simulation.setBeamParameters(1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+    simulation.setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree,
+            100, 0.0*Units::degree, 2.0*Units::degree, true);
+    simulation.setBeamParameters(1.0*Units::angstrom, 0.2*Units::degree,
+            0.0*Units::degree);
     simulation.setSample(*sample);
     simulation.runSimulation();
     m_results[kTest_1DDL] = simulation.getOutputDataClone();
@@ -49,8 +53,10 @@ void FunctionalTests::IsGISAXS04::run2DDL()
 
     // building simulation
     Simulation simulation;
-    simulation.setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree, 100, 0.0*Units::degree, 2.0*Units::degree, true);
-    simulation.setBeamParameters(1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+    simulation.setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree,
+            100, 0.0*Units::degree, 2.0*Units::degree, true);
+    simulation.setBeamParameters(1.0*Units::angstrom, 0.2*Units::degree,
+            0.0*Units::degree);
     simulation.setSample(*sample);
     simulation.runSimulation();
     m_results[kTest_2DDL] = simulation.getOutputDataClone();
diff --git a/Tests/FunctionalTests/TestCore/IsGISAXS06/IsGISAXS06.cpp b/Tests/FunctionalTests/TestCore/IsGISAXS06/IsGISAXS06.cpp
index f8cd890f64c558ec5e70cde8598e81c34b1bf9d5..f73596b961692ef4d4ee9dafd3849470b8a8cebf 100644
--- a/Tests/FunctionalTests/TestCore/IsGISAXS06/IsGISAXS06.cpp
+++ b/Tests/FunctionalTests/TestCore/IsGISAXS06/IsGISAXS06.cpp
@@ -27,7 +27,8 @@ FunctionalTests::IsGISAXS06::IsGISAXS06()
     m_simulation.setDetectorParameters(
         100, 0.0*Units::degree, 2.0*Units::degree,
         100, 0.0*Units::degree, 2.0*Units::degree, true);
-    m_simulation.setBeamParameters(1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+    m_simulation.setBeamParameters(1.0*Units::angstrom, 0.2*Units::degree,
+            0.0*Units::degree);
 
     SimulationParameters sim_params;
     sim_params.me_framework = SimulationParameters::DWBA;
@@ -40,7 +41,9 @@ FunctionalTests::IsGISAXS06::IsGISAXS06()
 
 FunctionalTests::IsGISAXS06::~IsGISAXS06()
 {
-    for(results_t::iterator it = m_results.begin(); it!=m_results.end(); ++it) delete (*it);
+    for(results_t::iterator it = m_results.begin(); it!=m_results.end(); ++it) {
+        delete (*it);
+    }
 }
 
 
@@ -118,7 +121,8 @@ void FunctionalTests::IsGISAXS06::runvariants()
 }
 
 
-int FunctionalTests::IsGISAXS06::analyseResults(const std::string &path_to_executable)
+int FunctionalTests::IsGISAXS06::analyseResults(
+        const std::string &path_to_executable)
 {
     const double threshold(2e-10);
     const char *reference_files[kNumberOfTests] = {
@@ -132,7 +136,8 @@ int FunctionalTests::IsGISAXS06::analyseResults(const std::string &path_to_execu
     // retrieving reference data and generated examples
     for(size_t i_test=0; i_test<kNumberOfTests; ++i_test) {
         OutputData<double> *reference =
-            OutputDataIOFactory::getOutputData(path_to_executable + reference_files[i_test]);
+            OutputDataIOFactory::getOutputData(path_to_executable
+                    + reference_files[i_test]);
         OutputData<double> *result = m_results[i_test];
 
         // calculating average relative difference
@@ -159,7 +164,8 @@ int FunctionalTests::IsGISAXS06::analyseResults(const std::string &path_to_execu
 std::string GetPathToData(int argc, char **argv)
 {
     if(argc == 2) return argv[1];
-    return Utils::FileSystem::GetPathToExecutable(argv[0]) + "../../../ReferenceData/BornAgain/";
+    return Utils::FileSystem::GetPathToExecutable(argv[0]) +
+            "../../../ReferenceData/BornAgain/";
 }
 
 int main(int argc, char **argv)
diff --git a/Tests/FunctionalTests/TestCore/IsGISAXS08/IsGISAXS08.cpp b/Tests/FunctionalTests/TestCore/IsGISAXS08/IsGISAXS08.cpp
index 9bdb2b0d1315f6099028e8690fb6d364c74dd299..e285ff511b413650f2f9507eb6aca51bbba0abcb 100644
--- a/Tests/FunctionalTests/TestCore/IsGISAXS08/IsGISAXS08.cpp
+++ b/Tests/FunctionalTests/TestCore/IsGISAXS08/IsGISAXS08.cpp
@@ -43,12 +43,16 @@ void FunctionalTests::IsGISAXS08::run2DDL()
     Layer substrate_layer;
     substrate_layer.setMaterial(p_substrate_material);
 
-    InterferenceFunction2DParaCrystal *p_interference_function = new InterferenceFunction2DParaCrystal(10.0*Units::nanometer, 10.0*Units::nanometer, M_PI/2.0, 0.0, 0.0);
-    p_interference_function->setDomainSizes(20.0*Units::micrometer, 20.0*Units::micrometer);
+    InterferenceFunction2DParaCrystal *p_interference_function =
+            new InterferenceFunction2DParaCrystal(10.0*Units::nanometer,
+                    10.0*Units::nanometer, M_PI/2.0, 0.0, 0.0);
+    p_interference_function->setDomainSizes(20.0*Units::micrometer,
+            20.0*Units::micrometer);
     FTDistribution2DCauchy pdf1(0.5*Units::nanometer, 2.0*Units::nanometer);
     FTDistribution2DCauchy pdf2(0.5*Units::nanometer, 2.0*Units::nanometer);
     p_interference_function->setProbabilityDistributions(pdf1, pdf2);
-    ParticleDecoration particle_decoration( new Particle(n_particle, new FormFactorCylinder(5*Units::nanometer, 5*Units::nanometer)));
+    ParticleDecoration particle_decoration( new Particle(n_particle,
+            new FormFactorCylinder(5*Units::nanometer, 5*Units::nanometer)));
     particle_decoration.addInterferenceFunction(p_interference_function);
     LayerDecorator air_layer_decorator(air_layer, particle_decoration);
 
@@ -57,8 +61,10 @@ void FunctionalTests::IsGISAXS08::run2DDL()
 
     // building simulation
     Simulation simulation;
-    simulation.setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree, 100, 0.0*Units::degree, 2.0*Units::degree, true);
-    simulation.setBeamParameters(1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+    simulation.setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree,
+            100, 0.0*Units::degree, 2.0*Units::degree, true);
+    simulation.setBeamParameters(1.0*Units::angstrom, 0.2*Units::degree,
+            0.0*Units::degree);
     simulation.setSample(multi_layer);
 
     // running simulation and copying data
@@ -82,12 +88,16 @@ void FunctionalTests::IsGISAXS08::run2DDL2()
     Layer substrate_layer;
     substrate_layer.setMaterial(p_substrate_material);
 
-    InterferenceFunction2DParaCrystal *p_interference_function = new InterferenceFunction2DParaCrystal(10.0*Units::nanometer, 10.0*Units::nanometer, M_PI/2.0, 0.0, 0.0);
-    p_interference_function->setDomainSizes(20.0*Units::micrometer, 20.0*Units::micrometer);
+    InterferenceFunction2DParaCrystal *p_interference_function =
+            new InterferenceFunction2DParaCrystal(10.0*Units::nanometer,
+                    10.0*Units::nanometer, M_PI/2.0, 0.0, 0.0);
+    p_interference_function->setDomainSizes(20.0*Units::micrometer,
+            20.0*Units::micrometer);
     FTDistribution2DCauchy pdf1(0.5*Units::nanometer, 0.5*Units::nanometer);
     FTDistribution2DCauchy pdf2(0.5*Units::nanometer, 0.5*Units::nanometer);
     p_interference_function->setProbabilityDistributions(pdf1, pdf2);
-    ParticleDecoration particle_decoration( new Particle(n_particle, new FormFactorCylinder(5*Units::nanometer, 5*Units::nanometer)));
+    ParticleDecoration particle_decoration( new Particle(n_particle,
+            new FormFactorCylinder(5*Units::nanometer, 5*Units::nanometer)));
     particle_decoration.addInterferenceFunction(p_interference_function);
     LayerDecorator air_layer_decorator(air_layer, particle_decoration);
 
@@ -96,8 +106,10 @@ void FunctionalTests::IsGISAXS08::run2DDL2()
 
     // building simulation
     Simulation simulation;
-    simulation.setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree, 100, 0.0*Units::degree, 2.0*Units::degree, true);
-    simulation.setBeamParameters(1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+    simulation.setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree,
+            100, 0.0*Units::degree, 2.0*Units::degree, true);
+    simulation.setBeamParameters(1.0*Units::angstrom, 0.2*Units::degree,
+            0.0*Units::degree);
 
     // running simulation and copying data
     simulation.setSample(multi_layer);
@@ -109,12 +121,15 @@ void FunctionalTests::IsGISAXS08::run2DDL2()
 int FunctionalTests::IsGISAXS08::analyseResults(const std::string &path_to_data)
 {
     const double threshold(2e-10);
-    const char *reference_files[kNumberOfTests] = {"isgisaxs08_reference_2DDL_lattice.ima.gz", "isgisaxs08_reference_2DDL_lattice2.ima.gz"};
+    const char *reference_files[kNumberOfTests] = {
+            "isgisaxs08_reference_2DDL_lattice.ima.gz",
+            "isgisaxs08_reference_2DDL_lattice2.ima.gz"};
     bool status_ok(true);
 
     // retrieving reference data and generated examples
     for(size_t i_test=0; i_test<kNumberOfTests; ++i_test) {
-        OutputData<double> *reference = OutputDataIOFactory::getOutputData(path_to_data + reference_files[i_test]);
+        OutputData<double> *reference = OutputDataIOFactory::getOutputData(
+                path_to_data + reference_files[i_test]);
         OutputData<double> *result = m_results[i_test];
 
         // calculating average relative difference
@@ -123,14 +138,16 @@ int FunctionalTests::IsGISAXS08::analyseResults(const std::string &path_to_data)
         delete reference;
 
         double diff(0);
-        for(OutputData<double>::const_iterator it=result->begin(); it!=result->end(); ++it) {
+        for(OutputData<double>::const_iterator it=result->begin();
+                it!=result->end(); ++it) {
             diff+= std::fabs(*it);
         }
         diff /= result->getAllocatedSize();
         if( diff > threshold || std::isnan(diff)) status_ok=false;
     }
 
-    std::cout << m_name << " " << m_description << " " << (status_ok ? "[OK]" : "[FAILED]") << std::endl;
+    std::cout << m_name << " " << m_description << " " <<
+            (status_ok ? "[OK]" : "[FAILED]") << std::endl;
     return (status_ok ? 0 : 1);
 }
 
@@ -139,7 +156,8 @@ int FunctionalTests::IsGISAXS08::analyseResults(const std::string &path_to_data)
 std::string GetPathToData(int argc, char **argv)
 {
     if(argc == 2) return argv[1];
-    return Utils::FileSystem::GetPathToExecutable(argv[0]) + "../../../ReferenceData/BornAgain/";
+    return Utils::FileSystem::GetPathToExecutable(argv[0]) +
+            "../../../ReferenceData/BornAgain/";
 }
 
 int main(int argc, char **argv)
diff --git a/Tests/FunctionalTests/TestCore/IsGISAXS09/IsGISAXS09.cpp b/Tests/FunctionalTests/TestCore/IsGISAXS09/IsGISAXS09.cpp
index 35db9b35eb522d603cb6e0b0ea817bb00b30f9b0..9582c2c486f38b7e8570f9029f8655e46927cc4d 100644
--- a/Tests/FunctionalTests/TestCore/IsGISAXS09/IsGISAXS09.cpp
+++ b/Tests/FunctionalTests/TestCore/IsGISAXS09/IsGISAXS09.cpp
@@ -35,7 +35,7 @@ void FunctionalTests::IsGISAXS09::runpyramidZ0()
         100, 0.0*Units::degree, 2.0*Units::degree,
         100, 0.0*Units::degree, 2.0*Units::degree, true);
     simulation.setBeamParameters(
-        1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+        1.0*Units::angstrom, 0.2*Units::degree, 0.0*Units::degree);
     simulation.setSample(*sample);
 
     // running simulation
@@ -58,7 +58,7 @@ void FunctionalTests::IsGISAXS09::runpyramidZ45()
         100, 0.0*Units::degree, 2.0*Units::degree,
         100, 0.0*Units::degree, 2.0*Units::degree, true);
     simulation.setBeamParameters(
-        1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+        1.0*Units::angstrom, 0.2*Units::degree, 0.0*Units::degree);
     simulation.setSample(*sample);
 
     // running simulation
diff --git a/Tests/FunctionalTests/TestCore/IsGISAXS10/IsGISAXS10.cpp b/Tests/FunctionalTests/TestCore/IsGISAXS10/IsGISAXS10.cpp
index 5f2ed6146db1145822660834fa7b131aa273e8de..461fea1c6e3a71ad1271adba29b1067904050bee 100644
--- a/Tests/FunctionalTests/TestCore/IsGISAXS10/IsGISAXS10.cpp
+++ b/Tests/FunctionalTests/TestCore/IsGISAXS10/IsGISAXS10.cpp
@@ -34,9 +34,12 @@ void FunctionalTests::IsGISAXS10::run()
     Layer substrate_layer;
     substrate_layer.setMaterial(p_substrate_material);
 
-    IInterferenceFunction *p_interference_function = new InterferenceFunction1DParaCrystal(20.0*Units::nanometer,7*Units::nanometer, 1e7*Units::nanometer);
+    IInterferenceFunction *p_interference_function =
+            new InterferenceFunction1DParaCrystal(20.0*Units::nanometer,
+                    7*Units::nanometer, 1e7*Units::nanometer);
     complex_t n_particle(1.0-5e-5, 2e-8);
-    ParticleDecoration particle_decoration(new Particle(n_particle, new FormFactorCylinder(5*Units::nanometer, 5*Units::nanometer)));
+    ParticleDecoration particle_decoration(new Particle(n_particle,
+            new FormFactorCylinder(5*Units::nanometer, 5*Units::nanometer)));
     particle_decoration.addInterferenceFunction(p_interference_function);
 
     LayerDecorator air_layer_decorator(air_layer, particle_decoration);
@@ -46,8 +49,10 @@ void FunctionalTests::IsGISAXS10::run()
 
     // building simulation
     Simulation simulation;
-    simulation.setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree, 100, 0.0*Units::degree, 2.0*Units::degree, true);
-    simulation.setBeamParameters(1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+    simulation.setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree,
+            100, 0.0*Units::degree, 2.0*Units::degree, true);
+    simulation.setBeamParameters(1.0*Units::angstrom, 0.2*Units::degree,
+            0.0*Units::degree);
     simulation.setSample(multi_layer);
 
     // running simulation and copying data
@@ -70,7 +75,8 @@ int FunctionalTests::IsGISAXS10::analyseResults(const std::string &path_to_data)
     delete reference;
 
     double diff(0);
-    for(OutputData<double>::const_iterator it=m_result->begin(); it!=m_result->end(); ++it) {
+    for(OutputData<double>::const_iterator it=m_result->begin();
+            it!=m_result->end(); ++it) {
         diff+= std::fabs(*it);
     }
     diff /= m_result->getAllocatedSize();
@@ -78,7 +84,8 @@ int FunctionalTests::IsGISAXS10::analyseResults(const std::string &path_to_data)
     bool status_ok(true);
     if( diff > threshold || std::isnan(diff)) status_ok=false;
 
-    std::cout << m_name << " " << m_description << " " << (status_ok ? "[OK]" : "[FAILED]") << std::endl;
+    std::cout << m_name << " " << m_description << " " <<
+            (status_ok ? "[OK]" : "[FAILED]") << std::endl;
     return (status_ok ? 0 : 1);
 }
 
@@ -87,7 +94,8 @@ int FunctionalTests::IsGISAXS10::analyseResults(const std::string &path_to_data)
 std::string GetPathToData(int argc, char **argv)
 {
     if(argc == 2) return argv[1];
-    return Utils::FileSystem::GetPathToExecutable(argv[0]) + "../../../ReferenceData/BornAgain/";
+    return Utils::FileSystem::GetPathToExecutable(argv[0]) +
+            "../../../ReferenceData/BornAgain/";
 }
 
 int main(int argc, char **argv)
diff --git a/Tests/FunctionalTests/TestCore/IsGISAXS11/IsGISAXS11.cpp b/Tests/FunctionalTests/TestCore/IsGISAXS11/IsGISAXS11.cpp
index eb4d393d51e12f71f926982fec7a0e6627140843..6eacd5a005806a64197fd9c77089948b22ad51c1 100644
--- a/Tests/FunctionalTests/TestCore/IsGISAXS11/IsGISAXS11.cpp
+++ b/Tests/FunctionalTests/TestCore/IsGISAXS11/IsGISAXS11.cpp
@@ -36,8 +36,10 @@ void FunctionalTests::IsGISAXS11::run()
 
     complex_t n_particle_shell(1.0-1e-4, 2e-8);
     complex_t n_particle_core(1.0-6e-5, 2e-8);
-    Particle shell_particle(n_particle_shell, new FormFactorParallelepiped(8*Units::nanometer, 8*Units::nanometer));
-    Particle core_particle(n_particle_core, new FormFactorParallelepiped(7*Units::nanometer, 6*Units::nanometer));
+    Particle shell_particle(n_particle_shell, new FormFactorParallelepiped(
+            8*Units::nanometer, 8*Units::nanometer));
+    Particle core_particle(n_particle_core, new FormFactorParallelepiped(
+            7*Units::nanometer, 6*Units::nanometer));
     kvector_t core_position(0.0, 0.0, 0.0);
     ParticleCoreShell particle(shell_particle, core_particle, core_position);
     ParticleDecoration particle_decoration(particle.clone());
@@ -48,8 +50,10 @@ void FunctionalTests::IsGISAXS11::run()
 
     // building simulation
     Simulation simulation;
-    simulation.setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree, 100, 0.0*Units::degree, 2.0*Units::degree, true);
-    simulation.setBeamParameters(1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+    simulation.setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree,
+            100, 0.0*Units::degree, 2.0*Units::degree, true);
+    simulation.setBeamParameters(1.0*Units::angstrom, 0.2*Units::degree,
+            0.0*Units::degree);
     simulation.setSample(multi_layer);
 
     // running simulation and copying data
@@ -72,7 +76,8 @@ int FunctionalTests::IsGISAXS11::analyseResults(const std::string &path_to_data)
     delete reference;
 
     double diff(0);
-    for(OutputData<double>::const_iterator it=m_result->begin(); it!=m_result->end(); ++it) {
+    for(OutputData<double>::const_iterator it=m_result->begin();
+            it!=m_result->end(); ++it) {
         diff+= std::fabs(*it);
     }
     diff /= m_result->getAllocatedSize();
@@ -80,7 +85,8 @@ int FunctionalTests::IsGISAXS11::analyseResults(const std::string &path_to_data)
     bool status_ok(true);
     if( diff > threshold || std::isnan(diff)) status_ok=false;
 
-    std::cout << m_name << " " << m_description << " " << (status_ok ? "[OK]" : "[FAILED]") << std::endl;
+    std::cout << m_name << " " << m_description << " " <<
+            (status_ok ? "[OK]" : "[FAILED]") << std::endl;
     return (status_ok ? 0 : 1);
 }
 
@@ -89,7 +95,8 @@ int FunctionalTests::IsGISAXS11::analyseResults(const std::string &path_to_data)
 std::string GetPathToData(int argc, char **argv)
 {
     if(argc == 2) return argv[1];
-    return Utils::FileSystem::GetPathToExecutable(argv[0]) + "../../../ReferenceData/BornAgain/";
+    return Utils::FileSystem::GetPathToExecutable(argv[0]) +
+            "../../../ReferenceData/BornAgain/";
 }
 
 int main(int argc, char **argv)
diff --git a/Tests/FunctionalTests/TestCore/IsGISAXS15/IsGISAXS15.cpp b/Tests/FunctionalTests/TestCore/IsGISAXS15/IsGISAXS15.cpp
index 37abecc44bbc42443743d98d1522e748c4b78666..67adc58d08e621ba59a7cea74e61546f8bc7ebc1 100644
--- a/Tests/FunctionalTests/TestCore/IsGISAXS15/IsGISAXS15.cpp
+++ b/Tests/FunctionalTests/TestCore/IsGISAXS15/IsGISAXS15.cpp
@@ -33,20 +33,22 @@ void FunctionalTests::IsGISAXS15::run()
             MaterialManager::getHomogeneousMaterial("Air", 0.0, 0.0);
     Layer air_layer;
     air_layer.setMaterial(p_air_material);
-    InterferenceFunction1DParaCrystal *p_interference_function = new InterferenceFunction1DParaCrystal(15.0*Units::nanometer,5*Units::nanometer, 1e3*Units::nanometer);
+    InterferenceFunction1DParaCrystal *p_interference_function =
+            new InterferenceFunction1DParaCrystal(15.0*Units::nanometer,
+                    5*Units::nanometer, 1e3*Units::nanometer);
     p_interference_function->setKappa(4.02698);
     ParticleDecoration particle_decoration;
-    Particle particle_prototype(n_particle, new FormFactorCylinder(5.0*Units::nanometer, 5.0*Units::nanometer));
+    Particle particle_prototype(n_particle, new FormFactorCylinder(
+            5.0*Units::nanometer, 5.0*Units::nanometer));
     StochasticDoubleGaussian sg(5.0*Units::nanometer, 1.25*Units::nanometer);
     StochasticSampledParameter stochastic_radius(sg,30, 2);
     ParticleBuilder particle_builder;
-    particle_builder.setPrototype(particle_prototype, "/Particle/FormFactorCylinder/radius", stochastic_radius);
+    particle_builder.setPrototype(particle_prototype,
+            "/Particle/FormFactorCylinder/radius", stochastic_radius);
     particle_builder.plantParticles(particle_decoration);
 
     // Set height of each particle to its radius (H/R fixed)
     ParameterPool *p_parameters = particle_decoration.createParameterTree();
-    //int nbr_replacements = p_parameters->fixRatioBetweenParameters("height", "radius", 1.0);
-    //std::cout << "Number of replacements: " << nbr_replacements << std::endl;
     p_parameters->fixRatioBetweenParameters("height", "radius", 1.0);
 
     particle_decoration.addInterferenceFunction(p_interference_function);
@@ -55,8 +57,10 @@ void FunctionalTests::IsGISAXS15::run()
 
    // building simulation
     Simulation simulation;
-    simulation.setDetectorParameters(150, 0.05*Units::degree, 1.5*Units::degree, 150, 0.05*Units::degree, 1.5*Units::degree, true);
-    simulation.setBeamParameters(1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+    simulation.setDetectorParameters(150, 0.05*Units::degree, 1.5*Units::degree,
+            150, 0.05*Units::degree, 1.5*Units::degree, true);
+    simulation.setBeamParameters(1.0*Units::angstrom, 0.2*Units::degree,
+            0.0*Units::degree);
     SimulationParameters sim_params;
     sim_params.me_if_approx = SimulationParameters::SSCA;
     simulation.setSimulationParameters(sim_params);
@@ -82,7 +86,8 @@ int FunctionalTests::IsGISAXS15::analyseResults(const std::string &path_to_data)
     delete reference;
 
     double diff(0);
-    for(OutputData<double>::const_iterator it=m_result->begin(); it!=m_result->end(); ++it) {
+    for(OutputData<double>::const_iterator it=m_result->begin();
+            it!=m_result->end(); ++it) {
         diff+= std::fabs(*it);
     }
     diff /= m_result->getAllocatedSize();
@@ -90,7 +95,8 @@ int FunctionalTests::IsGISAXS15::analyseResults(const std::string &path_to_data)
     bool status_ok(true);
     if( diff > threshold || std::isnan(diff)) status_ok=false;
 
-    std::cout << m_name << " " << m_description << " " << (status_ok ? "[OK]" : "[FAILED]") << std::endl;
+    std::cout << m_name << " " << m_description << " " <<
+            (status_ok ? "[OK]" : "[FAILED]") << std::endl;
     return (status_ok ? 0 : 1);
 }
 
@@ -99,7 +105,8 @@ int FunctionalTests::IsGISAXS15::analyseResults(const std::string &path_to_data)
 std::string GetPathToData(int argc, char **argv)
 {
     if(argc == 2) return argv[1];
-    return Utils::FileSystem::GetPathToExecutable(argv[0]) + "../../../ReferenceData/BornAgain/";
+    return Utils::FileSystem::GetPathToExecutable(argv[0]) +
+            "../../../ReferenceData/BornAgain/";
 }
 
 int main(int argc, char **argv)
diff --git a/Tests/FunctionalTests/TestCore/MesoCrystal1/MesoCrystal1.cpp b/Tests/FunctionalTests/TestCore/MesoCrystal1/MesoCrystal1.cpp
index a74b81f51d6c5e72f32ee749e289f190503db613..831bbded7e4e155dd69fa7c4c1ed71ad4f7aa659 100644
--- a/Tests/FunctionalTests/TestCore/MesoCrystal1/MesoCrystal1.cpp
+++ b/Tests/FunctionalTests/TestCore/MesoCrystal1/MesoCrystal1.cpp
@@ -44,9 +44,11 @@ void MesoCrystal1::MesoCrystal1::run(const std::string &path_to_data)
 Simulation *MesoCrystal1::createSimulation()
 {
     Simulation *simulation = new Simulation();
-    simulation->setBeamParameters(1.77*Units::angstrom, -0.4*Units::degree, 0.0*Units::degree);
+    simulation->setBeamParameters(1.77*Units::angstrom, 0.4*Units::degree,
+            0.0*Units::degree);
     simulation->setBeamIntensity(5.0090e+12);
-    simulation->setDetectorResolutionFunction(new ResolutionFunction2DSimple(0.0002, 0.0002));
+    simulation->setDetectorResolutionFunction(
+            new ResolutionFunction2DSimple(0.0002, 0.0002));
     return simulation;
 }
 
@@ -60,7 +62,8 @@ int MesoCrystal1::analyseResults()
     *m_result /= *m_reference;
 
     double diff(0);
-    for(OutputData<double>::const_iterator it=m_result->begin(); it!=m_result->end(); ++it) {
+    for(OutputData<double>::const_iterator it=m_result->begin();
+            it!=m_result->end(); ++it) {
         diff+= std::fabs(*it);
     }
     diff /= m_result->getAllocatedSize();
@@ -69,7 +72,8 @@ int MesoCrystal1::analyseResults()
     if( diff > threshold || std::isnan(diff)) status_ok=false;
 
     std::cout << " diff " << diff << std::endl;
-    std::cout << m_name << " " << m_description << " " << (status_ok ? "[OK]" : "[FAILED]") << std::endl;
+    std::cout << m_name << " " << m_description << " " <<
+            (status_ok ? "[OK]" : "[FAILED]") << std::endl;
     return (status_ok ? 0 : 1);
 }
 
@@ -79,7 +83,8 @@ int MesoCrystal1::analyseResults()
 std::string GetPathToData(int argc, char **argv)
 {
     if(argc == 2) return argv[1];
-    return Utils::FileSystem::GetPathToExecutable(argv[0]) + "../../../ReferenceData/BornAgain/";
+    return Utils::FileSystem::GetPathToExecutable(argv[0]) +
+            "../../../ReferenceData/BornAgain/";
 }
 
 int main(int argc, char **argv)
diff --git a/Tests/FunctionalTests/TestFit/TestFit01/TestFit01.cpp b/Tests/FunctionalTests/TestFit/TestFit01/TestFit01.cpp
index 799460370648c4820c63748a86e98b050ad85d2b..a9f223cd5955be00a029a73138bbdec50c8b3375 100644
--- a/Tests/FunctionalTests/TestFit/TestFit01/TestFit01.cpp
+++ b/Tests/FunctionalTests/TestFit/TestFit01/TestFit01.cpp
@@ -43,25 +43,31 @@ TestFit01::~TestFit01()
 // run several minimization rounds using different minimizers
 int TestFit01::run()
 {
-    std::cout << "**********************************************************************" <<std::endl;
-    std::cout << "*  Starting  TestFit01                                               *" <<std::endl;
-    std::cout << "**********************************************************************" <<std::endl;
+    std::cout << "*************************************"
+            "*********************************" <<std::endl;
+    std::cout << "*  Starting  TestFit01               "
+            "                                *" <<std::endl;
+    std::cout << "*************************************"
+            "*********************************" <<std::endl;
 
     bool status_ok(true);
     for(size_t i=0; i<m_minimizers.size(); ++i ) {
-        std::cout << boost::format("Test %1%: %|5t| %2%(%3%)\n") % i % m_minimizers[i].name % m_minimizers[i].algorithm;
+        std::cout << boost::format("Test %1%: %|5t| %2%(%3%)\n") % i %
+                m_minimizers[i].name % m_minimizers[i].algorithm;
 
         bool result = run_fitting(m_minimizers[i].name, m_minimizers[i].algorithm);
         status_ok &= result;
     }
 
-    std::cout << m_test_name << " " << m_test_description << " " << (status_ok ? "[OK]" : "[FAILED]") << std::endl;
+    std::cout << m_test_name << " " << m_test_description << " " <<
+            (status_ok ? "[OK]" : "[FAILED]") << std::endl;
     return (status_ok ? 0 : 1);
 }
 
 
 // run fitting using dedicated minimizer, return true in the case of success
-bool TestFit01::run_fitting(const std::string &minimizer_name, const std::string &minimizer_algorithm)
+bool TestFit01::run_fitting(const std::string &minimizer_name,
+        const std::string &minimizer_algorithm)
 {
     TBenchmark mb;
     mb.Start("test");
@@ -76,9 +82,12 @@ bool TestFit01::run_fitting(const std::string &minimizer_name, const std::string
 
     // setting fitting
     FitSuite *fitSuite = new FitSuite();
-    fitSuite->setMinimizer( MinimizerFactory::createMinimizer(minimizer_name, minimizer_algorithm) );
-    fitSuite->addFitParameter("*height", 4.*Units::nanometer, 0.04*Units::nanometer, AttLimits::lowerLimited(0.01) );
-    fitSuite->addFitParameter("*radius", 6.*Units::nanometer, 0.06*Units::nanometer, AttLimits::lowerLimited(0.01) );
+    fitSuite->setMinimizer( MinimizerFactory::createMinimizer(
+            minimizer_name, minimizer_algorithm) );
+    fitSuite->addFitParameter("*height", 4.*Units::nanometer,
+            0.04*Units::nanometer, AttLimits::lowerLimited(0.01) );
+    fitSuite->addFitParameter("*radius", 6.*Units::nanometer,
+            0.06*Units::nanometer, AttLimits::lowerLimited(0.01) );
     fitSuite->addSimulationAndRealData(*simulation, *real_data);
 
     // run fit
@@ -90,11 +99,16 @@ bool TestFit01::run_fitting(const std::string &minimizer_name, const std::string
     double radius_diff = std::fabs(radius_found - m_cylinder_radius)/m_cylinder_radius;
 
     mb.Stop("test");
-    std::cout << boost::format("%|12t| %-10s : %-6.3f \n") % "RealTime" % mb.GetRealTime("test");
-    std::cout << boost::format("%|12t| %-10s : %-6.3f \n") % "CpuTime" % mb.GetCpuTime("test");
-    std::cout << boost::format("%|12t| %-10s : %-4d \n") % "NCalls" % fitSuite->getNCalls();
-    std::cout << boost::format("%|12t| %-10s : %-6.4f (diff %6.4g) \n") % "Par1" % height_found % height_diff;
-    std::cout << boost::format("%|12t| %-10s : %-6.4f (diff %6.4g) \n") % "Par2" % radius_found % radius_diff;
+    std::cout << boost::format("%|12t| %-10s : %-6.3f \n") % "RealTime" %
+            mb.GetRealTime("test");
+    std::cout << boost::format("%|12t| %-10s : %-6.3f \n") % "CpuTime" %
+            mb.GetCpuTime("test");
+    std::cout << boost::format("%|12t| %-10s : %-4d \n") % "NCalls" %
+            fitSuite->getNCalls();
+    std::cout << boost::format("%|12t| %-10s : %-6.4f (diff %6.4g) \n") %
+            "Par1" % height_found % height_diff;
+    std::cout << boost::format("%|12t| %-10s : %-6.4f (diff %6.4g) \n") %
+            "Par2" % radius_found % radius_diff;
 
     delete sample;
     delete simulation;
@@ -116,7 +130,8 @@ ISample *TestFit01::buildSample()
             MaterialManager::getHomogeneousMaterial("Air", 0.0, 0.0);
     Layer air_layer(air_material);
     complex_t n_particle(1.0-6e-4, 2e-8);
-    ParticleDecoration particle_decoration( new Particle(n_particle, new FormFactorCylinder(m_cylinder_height, m_cylinder_radius)));
+    ParticleDecoration particle_decoration( new Particle(n_particle,
+            new FormFactorCylinder(m_cylinder_height, m_cylinder_radius)));
     particle_decoration.addInterferenceFunction(new InterferenceFunctionNone());
     LayerDecorator air_layer_decorator(air_layer, particle_decoration);
     multi_layer->addLayer(air_layer_decorator);
@@ -128,8 +143,10 @@ ISample *TestFit01::buildSample()
 Simulation *TestFit01::createSimulation()
 {
     Simulation *simulation = new Simulation();
-    simulation->setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree,100 , 0.0*Units::degree, 2.0*Units::degree);
-    simulation->setBeamParameters(1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+    simulation->setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree,
+            100 , 0.0*Units::degree, 2.0*Units::degree);
+    simulation->setBeamParameters(1.0*Units::angstrom, 0.2*Units::degree,
+            0.0*Units::degree);
     simulation->setBeamIntensity(1e10);
     return simulation;
 }
diff --git a/Tests/FunctionalTests/TestFit/TestFit02/TestFit02.cpp b/Tests/FunctionalTests/TestFit/TestFit02/TestFit02.cpp
index c7642155a3b8d7f9364a9921881674db6adb4542..e7b7f3705aa6ba9ffb6fcac3c62ab4e52653d014 100644
--- a/Tests/FunctionalTests/TestFit/TestFit02/TestFit02.cpp
+++ b/Tests/FunctionalTests/TestFit/TestFit02/TestFit02.cpp
@@ -47,15 +47,24 @@ int TestFit02::run()
 
     // setting up fitting
     FitSuite *fitSuite = new FitSuite();
-    fitSuite->setMinimizer( MinimizerFactory::createMinimizer("Minuit2", "Combined") );
+    fitSuite->setMinimizer( MinimizerFactory::createMinimizer("Minuit2",
+            "Combined") );
     fitSuite->initPrint(10);
 
-    fitSuite->addFitParameter("*SampleBuilder/cylinder_height",  4*Units::nanometer, 0.01*Units::nanometer, AttLimits::lowerLimited(0.01) );
-    fitSuite->addFitParameter("*SampleBuilder/cylinder_radius",  6*Units::nanometer, 0.01*Units::nanometer, AttLimits::lowerLimited(0.01) );
-    fitSuite->addFitParameter("*SampleBuilder/prism3_half_side", 4*Units::nanometer, 0.01*Units::nanometer, AttLimits::lowerLimited(0.01) );
-    fitSuite->addFitParameter("*SampleBuilder/prism3_height",    6*Units::nanometer, 0.01*Units::nanometer, AttLimits::lowerLimited(0.01) );
-    fitSuite->addFitParameter("*SampleBuilder/cylinder_ratio", 0.2, 0.1, AttLimits::fixed());
-    //fitSuite->addFitParameter("*Normalizer/scale",    1, 0.01*Units::nanometer, AttLimits::limited(0.9,1.1) );
+    fitSuite->addFitParameter("*SampleBuilder/cylinder_height",
+            4*Units::nanometer, 0.01*Units::nanometer,
+            AttLimits::lowerLimited(0.01) );
+    fitSuite->addFitParameter("*SampleBuilder/cylinder_radius",
+            6*Units::nanometer, 0.01*Units::nanometer,
+            AttLimits::lowerLimited(0.01) );
+    fitSuite->addFitParameter("*SampleBuilder/prism3_half_side",
+            4*Units::nanometer, 0.01*Units::nanometer,
+            AttLimits::lowerLimited(0.01) );
+    fitSuite->addFitParameter("*SampleBuilder/prism3_height",
+            6*Units::nanometer, 0.01*Units::nanometer,
+            AttLimits::lowerLimited(0.01) );
+    fitSuite->addFitParameter("*SampleBuilder/cylinder_ratio", 0.2, 0.1,
+            AttLimits::fixed());
 
     ChiSquaredModule chiModule;
     chiModule.setChiSquaredFunction( SquaredFunctionWithSystematicError() );
@@ -71,7 +80,6 @@ int TestFit02::run()
     // ---------------------------------------------------------------
     // analysing fit results
     // ---------------------------------------------------------------
-    //fitSuite->getFitParameters()->getParameter("*SampleBuilder/cylinder_height")->getValue() << std::endl;
     std::vector<double > initialParameters;
     initialParameters.push_back(cylinder_height);
     initialParameters.push_back(cylinder_radius);
@@ -82,11 +90,13 @@ int TestFit02::run()
     const double threshold = 1.0e-02;
     bool isSuccess = true;
     for(size_t i=0; i<results.size(); ++i) {
-        double diff = std::fabs(results[i] - initialParameters[i])/initialParameters[i];
+        double diff = std::fabs(results[i] - initialParameters[i])/
+                initialParameters[i];
         if(diff > threshold) isSuccess=false;
     }
 
-    std::cout << m_test_name << " " << m_test_description << " " << (isSuccess ? "[OK]" : "[FAILED]") << std::endl;
+    std::cout << m_test_name << " " << m_test_description << " " <<
+            (isSuccess ? "[OK]" : "[FAILED]") << std::endl;
     return (isSuccess ? 0 : 1);
 }
 
@@ -95,8 +105,10 @@ int TestFit02::run()
 Simulation *TestFit02::createSimulation()
 {
     Simulation *simulation = new Simulation();
-    simulation->setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree,100 , 0.0*Units::degree, 2.0*Units::degree);
-    simulation->setBeamParameters(1.0*Units::angstrom, -0.2*Units::degree, 0.0*Units::degree);
+    simulation->setDetectorParameters(100, 0.0*Units::degree, 2.0*Units::degree,
+            100 , 0.0*Units::degree, 2.0*Units::degree);
+    simulation->setBeamParameters(1.0*Units::angstrom, 0.2*Units::degree,
+            0.0*Units::degree);
     return simulation;
 }
 
diff --git a/Tests/FunctionalTests/TestPyCore/isgisaxs01.py b/Tests/FunctionalTests/TestPyCore/isgisaxs01.py
index 6351ffc3e6ee2a2dc6ab6e93301a10379cd71b09..1d1612e848aefad8b2502acde4c94193f09364b3 100644
--- a/Tests/FunctionalTests/TestPyCore/isgisaxs01.py
+++ b/Tests/FunctionalTests/TestPyCore/isgisaxs01.py
@@ -40,7 +40,7 @@ def RunSimulation():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(100,-1.0*degree, 1.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
     simulation.setSample(multi_layer)
     simulation.runSimulation()
     ## intensity data
diff --git a/Tests/FunctionalTests/TestPyCore/isgisaxs02.py b/Tests/FunctionalTests/TestPyCore/isgisaxs02.py
index 4354731435d2c947364ed5b4d651bcd5c2d74713..a12939931ac9240131b4cd628912e871c1797d83 100644
--- a/Tests/FunctionalTests/TestPyCore/isgisaxs02.py
+++ b/Tests/FunctionalTests/TestPyCore/isgisaxs02.py
@@ -60,7 +60,7 @@ def RunSimulation():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(100, 0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
   
     simulation.setSample(multi_layer)
     simulation.runSimulation()
diff --git a/Tests/FunctionalTests/TestPyCore/isgisaxs03.py b/Tests/FunctionalTests/TestPyCore/isgisaxs03.py
index 316db1bf98fd54c97973116c8b37da3e451a2d48..410b667468dc6d7252ce0895c070b7e77612074e 100644
--- a/Tests/FunctionalTests/TestPyCore/isgisaxs03.py
+++ b/Tests/FunctionalTests/TestPyCore/isgisaxs03.py
@@ -38,7 +38,7 @@ def RunSimulationDWBA():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
     simulation.setSample(multi_layer)
     simulation.runSimulation()
     # intensity data
@@ -70,7 +70,7 @@ def RunSimulationBA():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
     simulation.setSample(multi_layer)
     simulation.runSimulation()
     return GetOutputData(simulation)
@@ -112,7 +112,7 @@ def RunSimulationBA_Size():
     # build and run experiment  
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
     simulation.setSample(multi_layer)
     simulation.runSimulation()
     return GetOutputData(simulation)
diff --git a/Tests/FunctionalTests/TestPyCore/isgisaxs04.py b/Tests/FunctionalTests/TestPyCore/isgisaxs04.py
index 398fcc36af764f488e2c2611f87860f7bab2e464..bb161e3c5d3ca634a76418bfbcc4d7f720483a08 100644
--- a/Tests/FunctionalTests/TestPyCore/isgisaxs04.py
+++ b/Tests/FunctionalTests/TestPyCore/isgisaxs04.py
@@ -36,7 +36,7 @@ def RunSimulation1():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
     simulation.setSample(multi_layer)
     simulation.runSimulation()
     ## intensity data
@@ -75,7 +75,7 @@ def RunSimulation2():
     #gsl_set_error_handler_off()
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
     simulation.setSample(multi_layer)
     simulation.runSimulation()
     return GetOutputData(simulation)
diff --git a/Tests/FunctionalTests/TestPyCore/isgisaxs06.py b/Tests/FunctionalTests/TestPyCore/isgisaxs06.py
index cc28d1beb349e0827a8c3ca23dd5e9778db2d04e..605be3d7855533e4ed180eeec81e469c4d0cde04 100644
--- a/Tests/FunctionalTests/TestPyCore/isgisaxs06.py
+++ b/Tests/FunctionalTests/TestPyCore/isgisaxs06.py
@@ -52,7 +52,7 @@ def RunSimulation_lattice():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
 
     sim_params= SimulationParameters()
     sim_params.me_framework = SimulationParameters.DWBA
@@ -110,7 +110,7 @@ def RunSimulation_centered():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
 
     sim_params= SimulationParameters()
     sim_params.me_framework = SimulationParameters.DWBA
@@ -163,7 +163,7 @@ def RunSimulation_rotated():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
 
     sim_params = SimulationParameters()
     sim_params.me_framework = SimulationParameters.DWBA
@@ -184,7 +184,7 @@ def RunSimulation_variants():
     # building simulation
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
     
     sim_params = SimulationParameters()
     sim_params.me_framework = SimulationParameters.DWBA
diff --git a/Tests/FunctionalTests/TestPyCore/isgisaxs08.py b/Tests/FunctionalTests/TestPyCore/isgisaxs08.py
index 4d4ca0fa028664761080e3813198e4b9e8be856d..0449a0669bd3ef5ab2f442465d070f0ff9344405 100644
--- a/Tests/FunctionalTests/TestPyCore/isgisaxs08.py
+++ b/Tests/FunctionalTests/TestPyCore/isgisaxs08.py
@@ -42,7 +42,7 @@ def RunSimulation1():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
     simulation.setSample(multi_layer)
     simulation.runSimulation()
     ## intensity data
@@ -80,7 +80,7 @@ def RunSimulation2():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
     simulation.setSample(multi_layer)
     simulation.runSimulation()
     return GetOutputData(simulation)
diff --git a/Tests/FunctionalTests/TestPyCore/isgisaxs09.py b/Tests/FunctionalTests/TestPyCore/isgisaxs09.py
index 817f32d5109b1b4c02c3043b4256e5def9b926fa..29f71aecbb514f9bdf77890b2501be70bf4bc412 100644
--- a/Tests/FunctionalTests/TestPyCore/isgisaxs09.py
+++ b/Tests/FunctionalTests/TestPyCore/isgisaxs09.py
@@ -36,7 +36,7 @@ def RunSimulation1():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
     simulation.setSample(multi_layer)
     simulation.runSimulation()
     ## intensity data
@@ -74,7 +74,7 @@ def RunSimulation2():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
     simulation.setSample(multi_layer)
     simulation.runSimulation()
     ## intensity data
diff --git a/Tests/FunctionalTests/TestPyCore/isgisaxs10.py b/Tests/FunctionalTests/TestPyCore/isgisaxs10.py
index e4e4049b9a66e35209b3425c535cbf8ba3114a66..c83888e98e9361d9af7c4b9ff728821b6db55b93 100644
--- a/Tests/FunctionalTests/TestPyCore/isgisaxs10.py
+++ b/Tests/FunctionalTests/TestPyCore/isgisaxs10.py
@@ -36,7 +36,7 @@ def RunSimulation():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
     simulation.setSample(multi_layer)
     simulation.runSimulation()
     return GetOutputData(simulation)
diff --git a/Tests/FunctionalTests/TestPyCore/isgisaxs11.py b/Tests/FunctionalTests/TestPyCore/isgisaxs11.py
index ffdb3ca3d49bcc100e06889bb603c4b90529933d..efa5ad14c6f3b09dfe3832121d599cac8b3bb1e1 100644
--- a/Tests/FunctionalTests/TestPyCore/isgisaxs11.py
+++ b/Tests/FunctionalTests/TestPyCore/isgisaxs11.py
@@ -41,7 +41,7 @@ def RunSimulation():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(100,0.0*degree, 2.0*degree, 100, 0.0*degree, 2.0*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
     simulation.setSample(multi_layer)
     simulation.runSimulation()
     ## intensity data
diff --git a/Tests/FunctionalTests/TestPyCore/isgisaxs15.py b/Tests/FunctionalTests/TestPyCore/isgisaxs15.py
index 5ead20f18c3a01aa7eaaa3448be5ccca778c5972..6fcae8df89ebedfe52ce28c46efcf24de3636e31 100644
--- a/Tests/FunctionalTests/TestPyCore/isgisaxs15.py
+++ b/Tests/FunctionalTests/TestPyCore/isgisaxs15.py
@@ -43,7 +43,7 @@ def RunSimulation():
     # build and run experiment
     simulation = Simulation()
     simulation.setDetectorParameters(150,0.05*degree, 1.5*degree, 150, 0.05*degree, 1.5*degree, True)
-    simulation.setBeamParameters(1.0*angstrom, -0.2*degree, 0.0*degree)
+    simulation.setBeamParameters(1.0*angstrom, 0.2*degree, 0.0*degree)
 
     sim_params = SimulationParameters()
     sim_params.me_if_approx = SimulationParameters.SSCA
diff --git a/Tests/FunctionalTests/TestPyCore/mesocrystal1.py b/Tests/FunctionalTests/TestPyCore/mesocrystal1.py
index d5650003dae8d27279d14836ec6f411dc39a84ab..c87d27eb8c35b0c78c74bc4bda76d099d7af0719 100644
--- a/Tests/FunctionalTests/TestPyCore/mesocrystal1.py
+++ b/Tests/FunctionalTests/TestPyCore/mesocrystal1.py
@@ -197,7 +197,7 @@ def GetDifference(data, reference):
 # create simulation
 def createSimulation():
     simulation = Simulation()
-    simulation.setBeamParameters(1.77*angstrom, -0.4*degree, 0.0*degree)
+    simulation.setBeamParameters(1.77*angstrom, 0.4*degree, 0.0*degree)
     simulation.setBeamIntensity(5.0090e+12)
     simulation.setDetectorResolutionFunction(ResolutionFunction2DSimple(0.0002, 0.0002))
     return simulation
diff --git a/Tests/UnitTests/TestCore/InstrumentTest.h b/Tests/UnitTests/TestCore/InstrumentTest.h
index 1821d7be9004495dfdbc5fbacc882a9a04d7a582..b5c9fc02bd1110af95cd46ae30c81344789aa88c 100644
--- a/Tests/UnitTests/TestCore/InstrumentTest.h
+++ b/Tests/UnitTests/TestCore/InstrumentTest.h
@@ -32,7 +32,7 @@ TEST_F(InstrumentTest, InstrumentInitialState)
 
 TEST_F(InstrumentTest, BeamManipulation)
 {
-    double lambda(1), alpha(1), phi(1);
+    double lambda(1), alpha(-1), phi(1);
     double k = 2.*M_PI/lambda;
     double x = k*std::cos(alpha) * std::cos(phi);
     double y = k*std::cos(alpha) * std::sin(phi);