diff --git a/App/src/StandardSamples.cpp b/App/src/StandardSamples.cpp
index e5010eb9232d068f596dd7bb2cbfea0621c144d9..8eeea50a6ca95e5aa44b9d6cbf8190ff2d1d240c 100644
--- a/App/src/StandardSamples.cpp
+++ b/App/src/StandardSamples.cpp
@@ -1,5 +1,5 @@
 // ************************************************************************** //
-//                                                                         
+//
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
 //! @file      App/src/StandardSamples.cpp
@@ -145,9 +145,6 @@ ISample *StandardSamples::SimpleMultilayer()
 
 //! Multilayer offspecular testcase
 
-//! 10x2 layers without cross correlation, analog of Artur's offspec1.py,
-//! to compare with 'MultilayerOffspecTestcase1b'
-
 ISample *StandardSamples::MultilayerOffspecTestcase1a()
 {
     const IMaterial *mAmbience =
@@ -200,9 +197,6 @@ ISample *StandardSamples::MultilayerOffspecTestcase1a()
 
 //! Multilayer offspecular tescase.
 
-//! 10x2 layers with cross correlation, analog of Artur's offspec2.py,
-//! to compare with 'MultilayerOffspecTestcase1a'
-
 ISample *StandardSamples::MultilayerOffspecTestcase1b()
 {
     MultiLayer *myOrigSample =
@@ -216,9 +210,6 @@ ISample *StandardSamples::MultilayerOffspecTestcase1b()
 
 //! Multilayer offspecular testcase.
 
-//! Air on substrate with roughness, analog of Artur's offspec3.py,
-//! to compare with 'MultilayerOffspecTestcase2b'
-
 ISample *StandardSamples::MultilayerOffspecTestcase2a()
 {
     const IMaterial *mAmbience =
@@ -252,9 +243,6 @@ ISample *StandardSamples::MultilayerOffspecTestcase2a()
 
 //! Multilayer offspecular testcase.
 
-//! Very thin air on substrate with roughness, analog of Artur's offspec4.py,
-//! to compare with 'MultilayerOffspecTestcase2a'.
-
 ISample *StandardSamples::MultilayerOffspecTestcase2b()
 {
     MultiLayer *myOrigSample =
@@ -267,523 +255,6 @@ ISample *StandardSamples::MultilayerOffspecTestcase2b()
     return mySample;
 }
 
-/* ************************************************************************* */
-// Functional test: Box
-/* *************************************************************************/
-//ISample *StandardSamples::FormFactors_Box()
-//{
-//    MultiLayer *p_multi_layer = new MultiLayer();
-//    complex_t n_air(1.0, 0.0);
-//    complex_t n_substrate(1.0-4e-6, 2e-8);
-//    complex_t n_particle(1.0-5e-4, 2e-8);
-//    const IMaterial *p_air_material = MaterialManager::getHomogeneousMaterial("Air", n_air);
-//    const IMaterial *p_substrate_material = MaterialManager::getHomogeneousMaterial("Substrate", n_substrate);
-//    Layer air_layer;
-//    air_layer.setMaterial(p_air_material);
-//    Layer substrate_layer;
-//    substrate_layer.setMaterial(p_substrate_material);
-//    ParticleDecoration particle_decoration(
-//                new Particle(n_particle, new FormFactorBox(5.0*Units::nanometer, 5.0*Units::nanometer, 5.0*Units::nanometer) ) );
-//
-//    particle_decoration.addInterferenceFunction(new InterferenceFunctionNone());
-//    LayerDecorator air_layer_decorator(air_layer, particle_decoration);
-//
-//    p_multi_layer->addLayer(air_layer_decorator);
-//    p_multi_layer->addLayer(substrate_layer);
-//    return p_multi_layer;
-//}
-//
-
-
-/* ************************************************************************* */
-// Functional test: Ellipsoid
-/* *************************************************************************/
-//ISample *StandardSamples::FormFactors_Ellipsoid()
-//{
-//    MultiLayer *p_multi_layer = new MultiLayer();
-//    complex_t n_air(1.0, 0.0);
-//    complex_t n_substrate(1.0-4e-6, 2e-8);
-//    complex_t n_particle(1.0-5e-4, 2e-8);
-//    const IMaterial *p_air_material = MaterialManager::getHomogeneousMaterial("Air", n_air);
-//    const IMaterial *p_substrate_material = MaterialManager::getHomogeneousMaterial("Substrate", n_substrate);
-//    Layer air_layer;
-//    air_layer.setMaterial(p_air_material);
-//    Layer substrate_layer;
-//    substrate_layer.setMaterial(p_substrate_material);
-//    ParticleDecoration particle_decoration(
-//                new Particle(n_particle, new FormFactorEllipsoid(4.0*Units::nanometer, 5.0*Units::nanometer, 6.0*Units::nanometer) ) );
-//
-//    particle_decoration.addInterferenceFunction(new InterferenceFunctionNone());
-//    LayerDecorator air_layer_decorator(air_layer, particle_decoration);
-//
-//    p_multi_layer->addLayer(air_layer_decorator);
-//    p_multi_layer->addLayer(substrate_layer);
-//    return p_multi_layer;
-//}
-
-
-
-/* ************************************************************************* */
-// Functional test: Prism6
-/* *************************************************************************/
-
-//ISample *StandardSamples::FormFactors_Prism6()
-//{
-//    MultiLayer *p_multi_layer = new MultiLayer();
-//    complex_t n_air(1.0, 0.0);
-//    complex_t n_substrate(1.0-5e-6, 2e-8);
-//    complex_t n_particle(1.0-6e-4, 2e-8);
-//    const IMaterial *p_air_material = MaterialManager::getHomogeneousMaterial("Air", n_air);
-//    const IMaterial *p_substrate_material = MaterialManager::getHomogeneousMaterial("Substrate", n_substrate);
-//    Layer air_layer;
-//    air_layer.setMaterial(p_air_material);
-//    Layer substrate_layer;
-//    substrate_layer.setMaterial(p_substrate_material);
-//    ParticleDecoration particle_decoration(
-//                new Particle(n_particle, new FormFactorPrism6(4.0*Units::nanometer, 5.0*Units::nanometer) ) );
-//
-//    particle_decoration.addInterferenceFunction(new InterferenceFunctionNone());
-//    LayerDecorator air_layer_decorator(air_layer, particle_decoration);
-//
-//    p_multi_layer->addLayer(air_layer_decorator);
-//    p_multi_layer->addLayer(substrate_layer);
-//    return p_multi_layer;
-//}
-
-
-/* ************************************************************************* */
-// Functional test: Full Sphere
-/* *************************************************************************/
-
-//ISample *StandardSamples::FormFactors_FullSphere()
-//{
-//    MultiLayer *p_multi_layer = new MultiLayer();
-//    complex_t n_air(1.0, 0.0);
-//    complex_t n_substrate(1.0-3e-6, 2e-8);
-//    complex_t n_particle(1.0-5e-4, 2e-8);
-//    const IMaterial *p_air_material = MaterialManager::getHomogeneousMaterial("Air", n_air);
-//    const IMaterial *p_substrate_material = MaterialManager::getHomogeneousMaterial("Substrate", n_substrate);
-//    Layer air_layer;
-//    air_layer.setMaterial(p_air_material);
-//    Layer substrate_layer;
-//    substrate_layer.setMaterial(p_substrate_material);
-//    ParticleDecoration particle_decoration(
-//                new Particle(n_particle, new FormFactorFullSphere(4.0*Units::nanometer) ) );
-//
-//    particle_decoration.addInterferenceFunction(new InterferenceFunctionNone());
-//    LayerDecorator air_layer_decorator(air_layer, particle_decoration);
-//
-//    p_multi_layer->addLayer(air_layer_decorator);
-//    p_multi_layer->addLayer(substrate_layer);
-//    return p_multi_layer;
-//}
-//
-//
-
-
-/* ************************************************************************* */
-// IsGISAXS1 functional test: cylinder and prism
-/* ************************************************************************* */
-//ISample *StandardSamples::IsGISAXS1_CylinderAndPrism()
-//{
-//    MultiLayer *p_multi_layer = new MultiLayer();
-//    complex_t n_air(1.0, 0.0);
-//    complex_t n_substrate(1.0-6e-6, 2e-8);
-//    complex_t n_particle(1.0-6e-4, 2e-8);
-//    const IMaterial *p_air_material = MaterialManager::getHomogeneousMaterial("Air", n_air);
-//    const IMaterial *p_substrate_material = MaterialManager::getHomogeneousMaterial("Substrate", n_substrate);
-//    Layer air_layer;
-//    air_layer.setMaterial(p_air_material);
-//    Layer substrate_layer;
-//    substrate_layer.setMaterial(p_substrate_material);
-//    ParticleDecoration particle_decoration;
-//    particle_decoration.addParticle(new Particle(n_particle, new FormFactorCylinder(5*Units::nanometer, 5*Units::nanometer)),0.0, 0.5);
-//    particle_decoration.addParticle(new Particle(n_particle, new FormFactorPrism3(5*Units::nanometer, 5*Units::nanometer)), 0.0, 0.5);
-//    particle_decoration.addInterferenceFunction(new InterferenceFunctionNone());
-//    LayerDecorator air_layer_decorator(air_layer, particle_decoration);
-
-//    p_multi_layer->addLayer(air_layer_decorator);
-//    p_multi_layer->addLayer(substrate_layer);
-//    return p_multi_layer;
-//}
-
-////! IsGISAXS ex#2: Mixture cylinder particles with different size distribution.
-
-//ISample *StandardSamples::IsGISAXS2_CylindersMixture()
-//{
-//    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);
-
-//    Layer air_layer;
-//    air_layer.setMaterial(p_air_material);
-
-//    ParticleDecoration particle_decoration;
-
-//    // preparing nano particles prototypes for seeding layer's particle_decoration
-//    double radius1 = 5*Units::nanometer;
-//    double radius2 = 10*Units::nanometer;
-//    double height1 = radius1;
-//    double height2 = radius2;
-//    FormFactorCylinder *p_ff_cylinder1 =
-//        new FormFactorCylinder(height1, radius1);
-//    Particle cylinder1(n_particle, p_ff_cylinder1 );
-
-//    FormFactorCylinder *p_ff_cylinder2 =
-//        new FormFactorCylinder(height2, radius2);
-//    Particle cylinder2(n_particle, p_ff_cylinder2 );
-
-//    // radius of nanoparticles will be sampled with gaussian probability
-//    int nbins=150;
-//    double sigma1 = radius1*0.2;
-//    double sigma2 = radius2*0.02;
-//    int nfwhm(3); // to have xmin=average-nfwhm*FWHM, xmax=average+nfwhm*FWHM (nfwhm = xR/2, where xR is what is defined in isgisaxs *.inp file)
-//    StochasticDoubleGaussian sg1(radius1, sigma1);
-//    StochasticSampledParameter par1(sg1,nbins, nfwhm);
-//    StochasticDoubleGaussian sg2(radius2, sigma2);
-//    StochasticSampledParameter par2(sg2,nbins, nfwhm);
-
-//    // building nano particles
-//    ParticleBuilder builder;
-//    builder.setPrototype(cylinder1,"/Particle/FormFactorCylinder/radius",
-//                         par1, 0.95);
-//    builder.plantParticles(particle_decoration);
-
-//    builder.setPrototype(cylinder2,"/Particle/FormFactorCylinder/radius",
-//                         par2, 0.05);
-//    builder.plantParticles(particle_decoration);
-
-//    particle_decoration.addInterferenceFunction(new InterferenceFunctionNone());
-
-//    // making layer holding all whose nano particles
-//    LayerDecorator air_layer_decorator(air_layer, particle_decoration);
-//    p_multi_layer->addLayer(air_layer_decorator);
-
-//    return p_multi_layer;
-//}
-
-//! IsGISAXS ex#3a: Cylinder on top of substrate.
-
-//ISample *StandardSamples::IsGISAXS3_CylinderDWBA()
-//{
-//    MultiLayer *p_multi_layer = new MultiLayer();
-//    complex_t n_air(1.0, 0.0);
-//    complex_t n_substrate(1.0-6e-6, 2e-8);
-//    complex_t n_particle(1.0-6e-4, 2e-8);
-//    const IMaterial *p_air_material =
-//        MaterialManager::getHomogeneousMaterial("Air", n_air);
-//    const IMaterial *p_substrate_material =
-//        MaterialManager::getHomogeneousMaterial("Substrate", n_substrate);
-//    Layer air_layer;
-//    air_layer.setMaterial(p_air_material);
-//    Layer substrate_layer;
-//    substrate_layer.setMaterial(p_substrate_material);
-//    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);
-//    p_multi_layer->addLayer(substrate_layer);
-//    return p_multi_layer;
-//}
-
-////! IsGISAXS ex#3b: Cylinder in the air.
-
-//ISample *StandardSamples::IsGISAXS3_CylinderBA()
-//{
-//    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);
-//    Layer air_layer;
-//    air_layer.setMaterial(p_air_material);
-//    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);
-//    return p_multi_layer;
-//}
-
-////! IsGISAXS ex#3c: Cylinder in the air with size distribution.
-
-//ISample *StandardSamples::IsGISAXS3_CylinderBASize()
-//{
-//    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);
-
-//    Layer air_layer;
-//    air_layer.setMaterial(p_air_material);
-
-//    ParticleDecoration particle_decoration;
-
-//    // preparing prototype of nano particle
-//    double radius = 5*Units::nanometer;
-//    double sigma = 0.2*radius;
-//    FormFactorCylinder *p_ff_cylinder = new FormFactorCylinder
-//        ( 5*Units::nanometer, radius);
-//    Particle nano_particle(n_particle, p_ff_cylinder);
-
-//    // radius of nanoparticles will be sampled with gaussian probability
-//    int nbins(100), nfwhm(2);
-//    StochasticDoubleGaussian sg(radius, sigma);
-//    StochasticSampledParameter par(sg, nbins, nfwhm);
-
-//    ParticleBuilder builder;
-//    builder.setPrototype
-//        (nano_particle, "/Particle/FormFactorCylinder/radius", par);
-//    builder.plantParticles(particle_decoration);
-
-//    particle_decoration.addInterferenceFunction(new InterferenceFunctionNone());
-
-//    LayerDecorator air_layer_decorator(air_layer, particle_decoration);
-//    p_multi_layer->addLayer(air_layer_decorator);
-
-//    return p_multi_layer;
-//}
-
-////! IsGISAXS ex#4a: Cylinders with 1DDL structure factor.
-
-//ISample *StandardSamples::IsGISAXS4_1DDL()
-//{
-//    MultiLayer *p_multi_layer = new MultiLayer();
-//    complex_t n_air(1.0, 0.0);
-//    complex_t n_substrate(1.0-6e-6, 2e-8);
-//    complex_t n_particle(1.0-6e-4, 2e-8);
-//    const IMaterial *p_air_material =
-//        MaterialManager::getHomogeneousMaterial("Air", n_air);
-//    const IMaterial *p_substrate_material =
-//        MaterialManager::getHomogeneousMaterial("Substrate", n_substrate);
-//    Layer air_layer;
-//    air_layer.setMaterial(p_air_material);
-//    Layer substrate_layer;
-//    substrate_layer.setMaterial(p_substrate_material);
-//    IInterferenceFunction *p_interference_function =
-//        new InterferenceFunction1DParaCrystal
-//        (20.0*Units::nanometer,7*Units::nanometer, 1e3*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);
-
-//    p_multi_layer->addLayer(air_layer_decorator);
-//    p_multi_layer->addLayer(substrate_layer);
-//    return p_multi_layer;
-//}
-
-//// IsGISAXS ex#4b: Cylinders with 2DDL structure factor.
-
-//ISample *StandardSamples::IsGISAXS4_2DDL()
-//{
-//    MultiLayer *p_multi_layer = new MultiLayer();
-//    complex_t n_air(1.0, 0.0);
-//    complex_t n_substrate(1.0-6e-6, 2e-8);
-//    complex_t n_particle(1.0-6e-4, 2e-8);
-//    const IMaterial *p_air_material =
-//        MaterialManager::getHomogeneousMaterial("Air", n_air);
-//    const IMaterial *p_substrate_material =
-//        MaterialManager::getHomogeneousMaterial("Substrate", n_substrate);
-//    Layer air_layer;
-//    air_layer.setMaterial(p_air_material);
-//    Layer substrate_layer;
-//    substrate_layer.setMaterial(p_substrate_material);
-//    InterferenceFunction2DParaCrystal *p_interference_function =
-//        InterferenceFunction2DParaCrystal::createHexagonal
-//        (20.0*Units::nanometer,
-//         0.0,
-//         20.0*Units::micrometer,
-//         20.0*Units::micrometer);
-//    FTDistribution2DCauchy pdf(1.0*Units::nanometer, 1.0*Units::nanometer);
-//    p_interference_function->setProbabilityDistributions(pdf, pdf);
-//    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);
-
-//    p_multi_layer->addLayer(air_layer_decorator);
-//    p_multi_layer->addLayer(substrate_layer);
-//    return p_multi_layer;
-//}
-
-//! IsGISAXS ex#6a: Cylinders with lattice interference function.
-
-//ISample *StandardSamples::IsGISAXS6_lattice()
-//{
-//    MultiLayer *p_multi_layer = new MultiLayer();
-//    complex_t n_air(1.0, 0.0);
-//    complex_t n_substrate(1.0-6e-6, 2e-8);
-//    complex_t n_particle(1.0-6e-4, 2e-8);
-//    const IMaterial *p_air_material =
-//        MaterialManager::getHomogeneousMaterial("Air", n_air);
-//    const IMaterial *p_substrate_material =
-//        MaterialManager::getHomogeneousMaterial("Substrate", n_substrate);
-//    Layer air_layer;
-//    air_layer.setMaterial(p_air_material);
-//    Layer substrate_layer;
-//    substrate_layer.setMaterial(p_substrate_material);
-//    Lattice2DIFParameters lattice_params;
-////            10.0*Units::nanometer,       // L1
-////            10.0*Units::nanometer,       // L2
-////            90.0*Units::degree,          // lattice angle
-////            0.0*Units::degree,           // lattice orientation
-////            20000.0*Units::nanometer,    // domain size 1
-////            20000.0*Units::nanometer,    // domain size 2
-////            300.0*Units::nanometer/2.0/M_PI, // correlation length 1
-////            100.0*Units::nanometer/2.0/M_PI  // correlation length 2
-//    lattice_params.m_length_1 = 10.0*Units::nanometer; // L1
-//    lattice_params.m_length_2 = 10.0*Units::nanometer; // L2
-//    lattice_params.m_angle = 90.0*Units::degree; // lattice angle
-//    lattice_params.m_xi = 0.0*Units::degree; // lattice orientation
-//    lattice_params.m_domain_size_1 = 20000.0*Units::nanometer; // domain size 1
-//    lattice_params.m_domain_size_2 =20000.0*Units::nanometer; // domain size 2
-//    lattice_params.m_corr_length_1 = 300.0*Units::nanometer/2.0/M_PI; // correlation length 1
-//    lattice_params.m_corr_length_2 = 100.0*Units::nanometer/2.0/M_PI;  // correlation length 2
-
-//    InterferenceFunction2DLattice *p_interference_function =
-//        new InterferenceFunction2DLattice(lattice_params);
-//    FTDistribution2DCauchy pdf(300.0*Units::nanometer/2.0/M_PI,
-//                               100.0*Units::nanometer/2.0/M_PI);
-//    p_interference_function->setProbabilityDistribution(pdf);
-
-//    ParticleDecoration particle_decoration;
-//    // particle
-//    FormFactorCylinder ff_cyl(5.0*Units::nanometer, 5.0*Units::nanometer);
-//    kvector_t position(0.0, 0.0, 0.0);
-//    PositionParticleInfo particle_info(
-//        new Particle(n_particle, ff_cyl.clone()), position, 1.0);
-//    particle_decoration.addParticleInfo(particle_info);
-
-//    particle_decoration.addInterferenceFunction(p_interference_function);
-//    LayerDecorator air_layer_decorator(air_layer, particle_decoration);
-
-//    p_multi_layer->addLayer(air_layer_decorator);
-//    p_multi_layer->addLayer(substrate_layer);
-//    return p_multi_layer;
-//}
-
-////! IsGISAXS ex#6b: Cylinders lattice centered.
-//ISample *StandardSamples::IsGISAXS6_centered()
-//{
-//    MultiLayer *p_multi_layer = new MultiLayer();
-//    complex_t n_air(1.0, 0.0);
-//    complex_t n_substrate(1.0-6e-6, 2e-8);
-//    complex_t n_particle(1.0-6e-4, 2e-8);
-//    const IMaterial *p_air_material =
-//        MaterialManager::getHomogeneousMaterial("Air", n_air);
-//    const IMaterial *p_substrate_material =
-//        MaterialManager::getHomogeneousMaterial("Substrate", n_substrate);
-//    Layer air_layer;
-//    air_layer.setMaterial(p_air_material);
-//    Layer substrate_layer;
-//    substrate_layer.setMaterial(p_substrate_material);
-//    Lattice2DIFParameters lattice_params;
-////            10.0*Units::nanometer,       // L1
-////            10.0*Units::nanometer,       // L2
-////            90.0*Units::degree,          // lattice angle
-////            0.0*Units::degree,           // lattice orientation
-////            20000.0*Units::nanometer,    // domain size 1
-////            20000.0*Units::nanometer,    // domain size 2
-////            300.0*Units::nanometer/2.0/M_PI, // correlation length 1
-////            100.0*Units::nanometer/2.0/M_PI  // correlation length 2
-//    lattice_params.m_length_1 = 10.0*Units::nanometer; // L1
-//    lattice_params.m_length_2 = 10.0*Units::nanometer; // L2
-//    lattice_params.m_angle = 90.0*Units::degree; // lattice angle
-//    lattice_params.m_xi = 0.0*Units::degree; // lattice orientation
-//    lattice_params.m_domain_size_1 = 20000.0*Units::nanometer; // domain size 1
-//    lattice_params.m_domain_size_2 =20000.0*Units::nanometer; // domain size 2
-//    lattice_params.m_corr_length_1 = 300.0*Units::nanometer/2.0/M_PI; // correlation length 1
-//    lattice_params.m_corr_length_2 = 100.0*Units::nanometer/2.0/M_PI;  // correlation length 2
-
-//    InterferenceFunction2DLattice *p_interference_function =
-//        new InterferenceFunction2DLattice(lattice_params);
-//    FTDistribution2DCauchy pdf(300.0*Units::nanometer/2.0/M_PI,
-//                               100.0*Units::nanometer/2.0/M_PI);
-//    p_interference_function->setProbabilityDistribution(pdf);
-
-//    ParticleDecoration particle_decoration;
-//    // particle 1
-//    FormFactorCylinder ff_cyl(5.0*Units::nanometer, 5.0*Units::nanometer);
-//    kvector_t position(0.0, 0.0, 0.0);
-//    PositionParticleInfo particle_info
-//        (new Particle(n_particle, ff_cyl.clone()), position, 1.0);
-//    particle_decoration.addParticleInfo(particle_info);
-//    // particle 2
-//    kvector_t position_2(5.0*Units::nanometer, 5.0*Units::nanometer, 0.0);
-//    particle_info.setPosition(position_2);
-//    particle_decoration.addParticleInfo(particle_info);
-
-//    particle_decoration.addInterferenceFunction(p_interference_function);
-//    LayerDecorator air_layer_decorator(air_layer, particle_decoration);
-
-//    p_multi_layer->addLayer(air_layer_decorator);
-//    p_multi_layer->addLayer(substrate_layer);
-//    return p_multi_layer;
-//}
-
-////! IsGISAXS ex#6c: Cylinders lattice rotated.
-
-//ISample *StandardSamples::IsGISAXS6_rotated()
-//{
-//    MultiLayer *p_multi_layer = new MultiLayer();
-//    complex_t n_air(1.0, 0.0);
-//    complex_t n_substrate(1.0-6e-6, 2e-8);
-//    complex_t n_particle(1.0-6e-4, 2e-8);
-//    const IMaterial *p_air_material =
-//        MaterialManager::getHomogeneousMaterial("Air", n_air);
-//    const IMaterial *p_substrate_material =
-//        MaterialManager::getHomogeneousMaterial("Substrate", n_substrate);
-//    Layer air_layer;
-//    air_layer.setMaterial(p_air_material);
-//    Layer substrate_layer;
-//    substrate_layer.setMaterial(p_substrate_material);
-//    Lattice2DIFParameters lattice_params;
-////            10.0*Units::nanometer,       // L1
-////            10.0*Units::nanometer,       // L2
-////            90.0*Units::degree,          // lattice angle
-////            30.0*Units::degree,           // lattice orientation
-////            20000.0*Units::nanometer,    // domain size 1
-////            20000.0*Units::nanometer,    // domain size 2
-////            300.0*Units::nanometer/2.0/M_PI, // correlation length 1
-////            100.0*Units::nanometer/2.0/M_PI  // correlation length 2
-//    lattice_params.m_length_1 = 10.0*Units::nanometer; // L1
-//    lattice_params.m_length_2 = 10.0*Units::nanometer; // L2
-//    lattice_params.m_angle = 90.0*Units::degree; // lattice angle
-//    lattice_params.m_xi = 30.0*Units::degree; // lattice orientation
-//    lattice_params.m_domain_size_1 = 20000.0*Units::nanometer; // domain size 1
-//    lattice_params.m_domain_size_2 =20000.0*Units::nanometer; // domain size 2
-//    lattice_params.m_corr_length_1 = 300.0*Units::nanometer/2.0/M_PI; // correlation length 1
-//    lattice_params.m_corr_length_2 = 100.0*Units::nanometer/2.0/M_PI;  // correlation length 2
-
-//    InterferenceFunction2DLattice *p_interference_function = new InterferenceFunction2DLattice(lattice_params);
-//    FTDistribution2DCauchy pdf(300.0*Units::nanometer/2.0/M_PI, 100.0*Units::nanometer/2.0/M_PI);
-//    pdf.setGamma(30.0*Units::degree);
-//    p_interference_function->setProbabilityDistribution(pdf);
-
-//    ParticleDecoration particle_decoration;
-//    // particle
-//    FormFactorCylinder ff_cyl(5.0*Units::nanometer, 5.0*Units::nanometer);
-//    kvector_t position(0.0, 0.0, 0.0);
-//    PositionParticleInfo particle_info( new Particle(n_particle, ff_cyl.clone()), position, 1.0);
-//    particle_decoration.addParticleInfo(particle_info);
-
-//    particle_decoration.addInterferenceFunction(p_interference_function);
-//    LayerDecorator air_layer_decorator(air_layer, particle_decoration);
-
-//    p_multi_layer->addLayer(air_layer_decorator);
-//    p_multi_layer->addLayer(substrate_layer);
-//    return p_multi_layer;
-//}
-
 // IsGISAXS ex#7: Particle mixture from morphology file.
 
 ISample *StandardSamples::IsGISAXS7_morphology()
@@ -972,72 +443,6 @@ ISample *StandardSamples::IsGISAXS8_2DDL_lattice2()
     return p_multi_layer;
 }
 
-//! IsGISAXS ex#9a: Pyramid.
-
-//ISample *StandardSamples::IsGISAXS9_Pyramid()
-//{
-//    MultiLayer *p_multi_layer = new MultiLayer();
-//    complex_t n_air(1.0, 0.0);
-//    complex_t n_substrate(1.0-6e-6, 2e-8);
-//    complex_t n_particle(1.0-6e-4, 2e-8);
-//    const IMaterial *p_air_material =
-//        MaterialManager::getHomogeneousMaterial("Air", n_air);
-//    const IMaterial *p_substrate_material =
-//        MaterialManager::getHomogeneousMaterial("Substrate", n_substrate);
-//    Layer air_layer;
-//    air_layer.setMaterial(p_air_material);
-//    Layer substrate_layer;
-//    substrate_layer.setMaterial(p_substrate_material);
-//    ParticleDecoration particle_decoration(
-//                new Particle(n_particle, new FormFactorPyramid(5*Units::nanometer, 5*Units::nanometer, Units::deg2rad(54.73 ) ) ) );
-//    particle_decoration.addInterferenceFunction(new InterferenceFunctionNone());
-//    LayerDecorator air_layer_decorator(air_layer, particle_decoration);
-
-//    p_multi_layer->addLayer(air_layer_decorator);
-//    p_multi_layer->addLayer(substrate_layer);
-//    return p_multi_layer;
-//}
-
-////! IsGISAXS ex#9b: Rotated pyramid.
-
-//ISample *StandardSamples::IsGISAXS9_RotatedPyramid()
-//{
-//    const double angle_around_z = 45.*Units::degree;
-//    MultiLayer *p_multi_layer = new MultiLayer();
-//    complex_t n_air(1.0, 0.0);
-//    complex_t n_substrate(1.0-6e-6, 2e-8);
-//    complex_t n_particle(1.0-6e-4, 2e-8);
-//    const IMaterial *p_air_material =
-//        MaterialManager::getHomogeneousMaterial("Air", n_air);
-//    const IMaterial *p_substrate_material =
-//        MaterialManager::getHomogeneousMaterial("Substrate", n_substrate);
-//    Layer air_layer;
-//    air_layer.setMaterial(p_air_material);
-//    Layer substrate_layer;
-//    substrate_layer.setMaterial(p_substrate_material);
-
-//    Particle *pyramid =
-//        new Particle(n_particle,
-//                     new FormFactorPyramid(5*Units::nanometer,
-//                                           5*Units::nanometer,
-//                                           Units::deg2rad(54.73)) );
-
-//    Geometry::PTransform3D transform(new Geometry::RotateZ_3D(angle_around_z));
-
-//    ParticleDecoration particle_decoration;
-
-//    particle_decoration.addParticle(pyramid, transform);
-//    particle_decoration.addInterferenceFunction(new InterferenceFunctionNone());
-
-//    LayerDecorator air_layer_decorator(air_layer, particle_decoration);
-
-//    p_multi_layer->addLayer(air_layer_decorator);
-//    p_multi_layer->addLayer(substrate_layer);
-//    return p_multi_layer;
-//}
-
-//! IsGISAXS ex#10: Cylinders with interference.
-
 ISample *StandardSamples::IsGISAXS10_CylindersParacrystal1D()
 {
     MultiLayer *p_multi_layer = new MultiLayer();
@@ -1115,10 +520,7 @@ ISample *StandardSamples::IsGISAXS14_LayeredSpheresOnGradedInterface()
     ParticleDecoration particle_decoration
         (new Particle(n_particle, new FormFactorSphere
                       (5*Units::nanometer, 5.*2.0*Units::nanometer)));
-    //ParticleDecoration particle_decoration(new Particle(n_particle, new FormFactorFullSphere(5.0*Units::nanometer)));
     particle_decoration.addInterferenceFunction(p_interference_function);
-    //particle_decoration.addInterferenceFunction(new InterferenceFunctionNone());
-    //    particle_decoration.setTotalParticleSurfaceDensity(1.0/(20.0*Units::nanometer*20.0*Units::nanometer));
     LayerDecorator air_layer_decorator(air_layer, particle_decoration);
 
     p_multi_layer->addLayer(air_layer_decorator);
@@ -1158,7 +560,6 @@ ISample *StandardSamples::IsGISAXS15_SSCA()
     int nbr_replacements =
         p_parameters->fixRatioBetweenParameters("height", "radius", 1.0);
     std::cout << "Number of replacements: " << nbr_replacements << std::endl;
-//    std::cout << *p_parameters << std::endl;
 
     particle_decoration.addInterferenceFunction(p_interference_function);
     LayerDecorator air_layer_decorator(air_layer, particle_decoration);
@@ -1188,11 +589,7 @@ ISample *StandardSamples::MesoCrystal1()
     pos_vector.push_back(position_1);
     pos_vector.push_back(position_2);
     LatticeBasis basis(particle, pos_vector);
-    //lat.setSelectionRule(new SimpleSelectionRule(-1, 1, 1, 3));
     Crystal npc(basis, lat);
-//    double relative_sigma_np_radius = 0.3;
-//    double dw_factor = relative_sigma_np_radius*relative_sigma_np_radius*nanoparticle_radius*nanoparticle_radius/6.0;
-//    npc.setDWFactor(dw_factor);
 
     MesoCrystal meso(npc.clone(), new FormFactorCylinder
                      (0.2*Units::micrometer, 300*Units::nanometer));
@@ -1212,8 +609,6 @@ ISample *StandardSamples::MesoCrystal1()
     air_layer.setMaterial(p_air_material);
     Layer substrate_layer;
     substrate_layer.setMaterial(p_substrate_material);
-//    IInterferenceFunction *p_interference_function =
-//         new InterferenceFunctionNone();
     IInterferenceFunction *p_interference_function =
         new InterferenceFunction1DParaCrystal
         (800.0*Units::nanometer, 50*Units::nanometer, 1e7*Units::nanometer);
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 36cb52d24a3d96d1fc4c5024a39e860ed86e4d6e..c421b61af8a5b800d07404eb411eb9ebe2ce7d5c 100644
--- a/App/src/TestIsGISAXS12.cpp
+++ b/App/src/TestIsGISAXS12.cpp
@@ -1,5 +1,5 @@
 // ************************************************************************** //
-//                                                                         
+//
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
 //! @file      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);
 }
 
 
@@ -477,9 +477,9 @@ ISample *TestIsGISAXS12::TestSampleBuilder::buildSample() const
 
     complex_t n_particle(1.0-6e-4, 2e-8);
     const IMaterial *air_material =
-        MaterialManager::getHomogeneousMaterial("Air", 1.0, 0.0);
+        MaterialManager::getHomogeneousMaterial("Air", 0.0, 0.0);
     const IMaterial *substrate_material =
-        MaterialManager::getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8);
+        MaterialManager::getHomogeneousMaterial("Substrate", 6e-6, 2e-8);
 
     Layer air_layer(air_material);
 
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 d09f3e5de06b0c421cfba567b3fd9732db483a1a..a48b86f57168f1c6facc0f6f27cdf8e7d83ec809 100644
--- a/App/src/TestIsGISAXS5.cpp
+++ b/App/src/TestIsGISAXS5.cpp
@@ -1,5 +1,5 @@
 // ************************************************************************** //
-//                                                                         
+//
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
 //! @file      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);
 }
 
 /* ************************************************************************* */
@@ -278,8 +278,8 @@ ISample *TestIsGISAXS5::SampleBuilder::buildSample() const
     MultiLayer *p_multi_layer = new MultiLayer();
 
     complex_t n_particle(1.0-6e-4, 2e-8);
-    const IMaterial *air_material = MaterialManager::getHomogeneousMaterial("Air", 1.0, 0.0);
-    const IMaterial *substrate_material = MaterialManager::getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8);
+    const IMaterial *air_material = MaterialManager::getHomogeneousMaterial("Air", 0.0, 0.0);
+    const IMaterial *substrate_material = MaterialManager::getHomogeneousMaterial("Substrate", 6e-6, 2e-8);
 
     Layer air_layer(air_material);
     double height = m_height_aspect_ratio*m_particle_radius;
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/Core/Samples/inc/HomogeneousMagneticMaterial.h b/Core/Samples/inc/HomogeneousMagneticMaterial.h
index 2e7d89d8b8f1c2528a74a76aba25e19dd71b2607..7709384693629396a834f52216f60c4712b0f081 100644
--- a/Core/Samples/inc/HomogeneousMagneticMaterial.h
+++ b/Core/Samples/inc/HomogeneousMagneticMaterial.h
@@ -31,6 +31,13 @@ public:
                                 const complex_t& refractive_index,
                                 const kvector_t& magnetic_field);
 
+    //! Constructs a material with _name_, refractive_index parameters and
+    //! _magnetic_field_
+    HomogeneousMagneticMaterial(const std::string& name,
+                                double refractive_index_delta,
+                                double refractive_index_beta,
+                                const kvector_t& magnetic_field);
+
     //! Get the magnetic field (in Tesla)
     kvector_t getMagneticField() const { return m_magnetic_field; }
 
diff --git a/Core/Samples/inc/HomogeneousMaterial.h b/Core/Samples/inc/HomogeneousMaterial.h
index ff1d89edc235772e8c4bd405cbf12a5036cc65e3..fef46754b910c15b4db9a5a9716de1f9ae326df6 100644
--- a/Core/Samples/inc/HomogeneousMaterial.h
+++ b/Core/Samples/inc/HomogeneousMaterial.h
@@ -19,7 +19,7 @@
 #include "IMaterial.h"
 #include "Types.h"
 
-//! A homogeneous material with refraction index.
+//! A homogeneous material with a refractive index.
 
 class HomogeneousMaterial : public IMaterial
 {
@@ -29,13 +29,14 @@ class HomogeneousMaterial : public IMaterial
                         const complex_t& refractive_index)
         : IMaterial(name), m_refractive_index(refractive_index) {}
 
-    //! Constructs a material with _name_ and refractive_index.
+    //! Constructs a material with _name_ and refractive_index parameters
+    //! delta and beta (n = 1 - delta + i*beta).
     HomogeneousMaterial(const std::string& name,
-                        double refractive_index_real,
-                        double refractive_index_imag )
+                        double refractive_index_delta,
+                        double refractive_index_beta)
         : IMaterial(name),
-        m_refractive_index(complex_t(refractive_index_real,
-                                     refractive_index_imag)) {}
+        m_refractive_index(complex_t(1.0-refractive_index_delta,
+                                     refractive_index_beta)) {}
 
     virtual ~HomogeneousMaterial() {}
 
diff --git a/Core/Samples/inc/MaterialManager.h b/Core/Samples/inc/MaterialManager.h
index d1905f30ee478167de89429588a8359c1792c573..7ec7854806936277ec7e92fa10dc2d9d2d691266 100644
--- a/Core/Samples/inc/MaterialManager.h
+++ b/Core/Samples/inc/MaterialManager.h
@@ -50,10 +50,10 @@ class BA_CORE_API_ MaterialManager: public ISingleton<MaterialManager>
     //! Adds material to database.
     static const IMaterial *getHomogeneousMaterial(
         const std::string& name,
-        double refractive_index_real,
-        double refractive_index_imag)
+        double refractive_index_delta,
+        double refractive_index_beta)
     { return instance().this_getHomogeneousMaterial(
-            name, refractive_index_real, refractive_index_imag); }
+            name, refractive_index_delta, refractive_index_beta); }
 
     //! returns number of materials
     static int getNumberOfMaterials() { return instance().this_getNumberOfMaterials(); }
@@ -96,7 +96,7 @@ class BA_CORE_API_ MaterialManager: public ISingleton<MaterialManager>
         const std::string& name, const complex_t& refractive_index);
     const IMaterial *this_getHomogeneousMaterial(
         const std::string& name,
-        double refractive_index_real, double refractive_index_imag);
+        double refractive_index_delta, double refractive_index_beta);
     int this_getNumberOfMaterials() const { return (int)m_materials.size(); }
 
     void check_refractive_index(const complex_t &index);
diff --git a/Core/Samples/src/HomogeneousMagneticMaterial.cpp b/Core/Samples/src/HomogeneousMagneticMaterial.cpp
index 107363fbbd2928ad821a036ce5e0dc64dce9a658..14ae68748004ac47c42091a52c3d0a256e7cbd23 100644
--- a/Core/Samples/src/HomogeneousMagneticMaterial.cpp
+++ b/Core/Samples/src/HomogeneousMagneticMaterial.cpp
@@ -27,6 +27,15 @@ HomogeneousMagneticMaterial::HomogeneousMagneticMaterial(
     initializePrivateMemebers();
 }
 
+HomogeneousMagneticMaterial::HomogeneousMagneticMaterial(
+        const std::string& name, double refractive_index_delta,
+        double refractive_index_beta, const kvector_t& magnetic_field)
+: HomogeneousMaterial(name, refractive_index_delta, refractive_index_beta)
+, m_magnetic_field(magnetic_field)
+{
+    initializePrivateMemebers();
+}
+
 Eigen::Matrix2cd HomogeneousMagneticMaterial::getScatteringMatrix(
         const kvector_t& k) const
 {
diff --git a/Core/Samples/src/MaterialManager.cpp b/Core/Samples/src/MaterialManager.cpp
index 0d537f0518e7e8f0d50ca0981c4e83ad4e7817f4..6ab618451483b57c4587d1f4b5b4c8ac1876e6f8 100644
--- a/Core/Samples/src/MaterialManager.cpp
+++ b/Core/Samples/src/MaterialManager.cpp
@@ -83,11 +83,11 @@ const IMaterial *MaterialManager::this_getHomogeneousMaterial(
 
 const IMaterial *MaterialManager::this_getHomogeneousMaterial(
     const std::string& name,
-    double refractive_index_real,
-    double refractive_index_imag)
+    double refractive_index_delta,
+    double refractive_index_beta)
 {
     return getHomogeneousMaterial(
-        name, complex_t(refractive_index_real, refractive_index_imag));
+        name, complex_t(1.0-refractive_index_delta, refractive_index_beta));
 }
 
 //! Dump this to stream.
diff --git a/Core/StandardSamples/IsGISAXS01Builder.cpp b/Core/StandardSamples/IsGISAXS01Builder.cpp
index 813599b03164ab0bc22bb6065343d43f3319db05..f30e3d97622a99203017d7e5cc470277823f5449 100644
--- a/Core/StandardSamples/IsGISAXS01Builder.cpp
+++ b/Core/StandardSamples/IsGISAXS01Builder.cpp
@@ -34,9 +34,9 @@ ISample *IsGISAXS01Builder::buildSample() const
 {
     MultiLayer *multi_layer = new MultiLayer();
     const IMaterial *p_air_material =
-            MaterialManager::getHomogeneousMaterial("Air", 1., 0.);
+            MaterialManager::getHomogeneousMaterial("Air", 0., 0.);
     const IMaterial *p_substrate_material =
-            MaterialManager::getHomogeneousMaterial("Substrate", 1-6e-6, 2e-8);
+            MaterialManager::getHomogeneousMaterial("Substrate", 6e-6, 2e-8);
     Layer air_layer;
     air_layer.setMaterial(p_air_material);
     Layer substrate_layer;
diff --git a/Core/StandardSamples/IsGISAXS02Builder.cpp b/Core/StandardSamples/IsGISAXS02Builder.cpp
index 49f9d7047c60f1681984efdbc732c78a48b7ad5c..8a139788dc71ca23ec12e2df9b6899f3959623e8 100644
--- a/Core/StandardSamples/IsGISAXS02Builder.cpp
+++ b/Core/StandardSamples/IsGISAXS02Builder.cpp
@@ -41,7 +41,7 @@ ISample *IsGISAXS02Builder::buildSample() const
 {
     MultiLayer *multi_layer = new MultiLayer();
 
-    const IMaterial *p_air_material = MaterialManager::getHomogeneousMaterial("Air", 1.0, 0.0);
+    const IMaterial *p_air_material = MaterialManager::getHomogeneousMaterial("Air", 0.0, 0.0);
     Layer air_layer;
     air_layer.setMaterial(p_air_material);
 
diff --git a/Core/StandardSamples/IsGISAXS03Builder.cpp b/Core/StandardSamples/IsGISAXS03Builder.cpp
index 3538fde234f70999b85c48a352326388adcca33e..524ad7b48f5619e3aa0a27863b96503c6f42e2c6 100644
--- a/Core/StandardSamples/IsGISAXS03Builder.cpp
+++ b/Core/StandardSamples/IsGISAXS03Builder.cpp
@@ -35,8 +35,10 @@ ISample *IsGISAXS03DWBABuilder::buildSample() const
 {
     MultiLayer *multi_layer = new MultiLayer();
 
-    const IMaterial *p_air_material = MaterialManager::getHomogeneousMaterial("Air", 1.0, 0.0);
-    const IMaterial *p_substrate_material = MaterialManager::getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8);
+    const IMaterial *p_air_material =
+            MaterialManager::getHomogeneousMaterial("Air", 0.0, 0.0);
+    const IMaterial *p_substrate_material =
+            MaterialManager::getHomogeneousMaterial("Substrate", 6e-6, 2e-8);
     Layer air_layer;
     air_layer.setMaterial(p_air_material);
     Layer substrate_layer;
@@ -76,8 +78,10 @@ ISample *IsGISAXS03BABuilder::buildSample() const
 {
     MultiLayer *multi_layer = new MultiLayer();
 
-    const IMaterial *p_air_material = MaterialManager::getHomogeneousMaterial("Air", 1.0, 0.0);
-    const IMaterial *p_substrate_material = MaterialManager::getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8);
+    const IMaterial *p_air_material =
+            MaterialManager::getHomogeneousMaterial("Air", 0.0, 0.0);
+    const IMaterial *p_substrate_material =
+            MaterialManager::getHomogeneousMaterial("Substrate", 6e-6, 2e-8);
     Layer air_layer;
     air_layer.setMaterial(p_air_material);
     Layer substrate_layer;
@@ -115,8 +119,10 @@ ISample *IsGISAXS03BASizeBuilder::buildSample() const
 {
     MultiLayer *multi_layer = new MultiLayer();
 
-    const IMaterial *p_air_material = MaterialManager::getHomogeneousMaterial("Air", 1.0, 0.0);
-    const IMaterial *p_substrate_material = MaterialManager::getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8);
+    const IMaterial *p_air_material =
+            MaterialManager::getHomogeneousMaterial("Air", 0.0, 0.0);
+    const IMaterial *p_substrate_material =
+            MaterialManager::getHomogeneousMaterial("Substrate", 6e-6, 2e-8);
     Layer air_layer;
     air_layer.setMaterial(p_air_material);
     Layer substrate_layer;
diff --git a/Core/StandardSamples/IsGISAXS04Builder.cpp b/Core/StandardSamples/IsGISAXS04Builder.cpp
index ddf9dfa0e6ef72f39b5b924497e55f7ace7fdadc..e72f88d16441990ac80fafd70a1e2a72daeb6cd4 100644
--- a/Core/StandardSamples/IsGISAXS04Builder.cpp
+++ b/Core/StandardSamples/IsGISAXS04Builder.cpp
@@ -34,8 +34,10 @@ ISample *IsGISAXS04Para1DBuilder::buildSample() const
     MultiLayer *multi_layer = new MultiLayer();
 
     complex_t n_particle(1.0-6e-4, 2e-8);
-    const IMaterial *p_air_material = MaterialManager::getHomogeneousMaterial("Air", 1.0, 0.0);
-    const IMaterial *p_substrate_material = MaterialManager::getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8);
+    const IMaterial *p_air_material =
+            MaterialManager::getHomogeneousMaterial("Air", 0.0, 0.0);
+    const IMaterial *p_substrate_material =
+            MaterialManager::getHomogeneousMaterial("Substrate", 6e-6, 2e-8);
     Layer air_layer;
     air_layer.setMaterial(p_air_material);
     Layer substrate_layer;
@@ -84,8 +86,10 @@ ISample *IsGISAXS04Para2DBuilder::buildSample() const
     MultiLayer *multi_layer = new MultiLayer();
 
     complex_t n_particle(1.0-6e-4, 2e-8);
-    const IMaterial *p_air_material = MaterialManager::getHomogeneousMaterial("Air", 1.0, 0.0);
-    const IMaterial *p_substrate_material = MaterialManager::getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8);
+    const IMaterial *p_air_material =
+            MaterialManager::getHomogeneousMaterial("Air", 0.0, 0.0);
+    const IMaterial *p_substrate_material =
+            MaterialManager::getHomogeneousMaterial("Substrate", 6e-6, 2e-8);
     Layer air_layer;
     air_layer.setMaterial(p_air_material);
     Layer substrate_layer;
diff --git a/Core/StandardSamples/IsGISAXS06Builder.cpp b/Core/StandardSamples/IsGISAXS06Builder.cpp
index 86803ae4c0bdf12b9f1a03e065df48be3685a793..4fc51f8676b4bd5208e94bf4b82b4425bded1f7d 100644
--- a/Core/StandardSamples/IsGISAXS06Builder.cpp
+++ b/Core/StandardSamples/IsGISAXS06Builder.cpp
@@ -23,9 +23,9 @@ ISample *IsGISAXS06Lattice1Builder::buildSample() const
 
     complex_t n_particle(1.0-6e-4, 2e-8);
     const IMaterial *p_air_material =
-         MaterialManager::getHomogeneousMaterial("Air", 1.0, 0.0);
+         MaterialManager::getHomogeneousMaterial("Air", 0.0, 0.0);
     const IMaterial *p_substrate_material =
-         MaterialManager::getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8);
+         MaterialManager::getHomogeneousMaterial("Substrate", 6e-6, 2e-8);
     Layer air_layer;
     air_layer.setMaterial(p_air_material);
     Layer substrate_layer;
@@ -76,9 +76,9 @@ ISample *IsGISAXS06Lattice2Builder::buildSample() const
 
     complex_t n_particle(1.0-6e-4, 2e-8);
     const IMaterial *p_air_material =
-         MaterialManager::getHomogeneousMaterial("Air",  1.0, 0.0);
+         MaterialManager::getHomogeneousMaterial("Air", 0.0, 0.0);
     const IMaterial *p_substrate_material =
-         MaterialManager::getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8);
+         MaterialManager::getHomogeneousMaterial("Substrate", 6e-6, 2e-8);
     Layer air_layer;
     air_layer.setMaterial(p_air_material);
     Layer substrate_layer;
@@ -131,9 +131,9 @@ ISample *IsGISAXS06Lattice3Builder::buildSample() const
 
     complex_t n_particle(1.0-6e-4, 2e-8);
     const IMaterial *p_air_material =
-        MaterialManager::getHomogeneousMaterial("Air", 1.0, 0.0);
+        MaterialManager::getHomogeneousMaterial("Air", 0.0, 0.0);
     const IMaterial *p_substrate_material =
-        MaterialManager::getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8);
+        MaterialManager::getHomogeneousMaterial("Substrate", 6e-6, 2e-8);
     Layer air_layer;
     air_layer.setMaterial(p_air_material);
     Layer substrate_layer;
@@ -196,9 +196,9 @@ ISample *IsGISAXS06Lattice4Builder::buildSample() const
     MultiLayer *p_multi_layer = new MultiLayer();
     complex_t n_particle(1.0-6e-4, 2e-8);
     const IMaterial *p_air_material =
-         MaterialManager::getHomogeneousMaterial("Air", 1.0,0.0);
+         MaterialManager::getHomogeneousMaterial("Air", 0.0, 0.0);
     const IMaterial *p_substrate_material =
-         MaterialManager::getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8);
+         MaterialManager::getHomogeneousMaterial("Substrate", 6e-6, 2e-8);
     Layer air_layer;
     air_layer.setMaterial(p_air_material);
     Layer substrate_layer;
diff --git a/Core/StandardSamples/IsGISAXS09Builder.cpp b/Core/StandardSamples/IsGISAXS09Builder.cpp
index 304d12696b04835001fc74b783cb7e86d830a980..961615b36fa0c60a7c37dfb2bc8b8d9c04c57438 100644
--- a/Core/StandardSamples/IsGISAXS09Builder.cpp
+++ b/Core/StandardSamples/IsGISAXS09Builder.cpp
@@ -35,9 +35,9 @@ ISample *IsGISAXS09Builder::buildSample() const
     MultiLayer *multi_layer = new MultiLayer();
 
     const IMaterial *p_air_material =
-        MaterialManager::getHomogeneousMaterial("Air", 1.0, 0.0);
+        MaterialManager::getHomogeneousMaterial("Air", 0.0, 0.0);
     const IMaterial *p_substrate_material =
-        MaterialManager::getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8);
+        MaterialManager::getHomogeneousMaterial("Substrate", 6e-6, 2e-8);
     Layer air_layer;
     air_layer.setMaterial(p_air_material);
     Layer substrate_layer;
@@ -86,9 +86,9 @@ ISample *IsGISAXS09RotatedBuilder::buildSample() const
     MultiLayer *multi_layer = new MultiLayer();
 
     const IMaterial *p_air_material =
-        MaterialManager::getHomogeneousMaterial("Air", 1.0, 0.0);
+        MaterialManager::getHomogeneousMaterial("Air", 0.0, 0.0);
     const IMaterial *p_substrate_material =
-        MaterialManager::getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8);
+        MaterialManager::getHomogeneousMaterial("Substrate", 6e-6, 2e-8);
     Layer air_layer;
     air_layer.setMaterial(p_air_material);
     Layer substrate_layer;
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/GUI/coregui/Views/Components/SampleDesigner/MaterialBrowser.cpp b/GUI/coregui/Views/Components/SampleDesigner/MaterialBrowser.cpp
index 7c3bc39e49ed262ab30c7c34adfa8c1fef231d88..2c26e23de03cf77108fd0d45bd1cb0fafcb717c8 100644
--- a/GUI/coregui/Views/Components/SampleDesigner/MaterialBrowser.cpp
+++ b/GUI/coregui/Views/Components/SampleDesigner/MaterialBrowser.cpp
@@ -16,9 +16,9 @@ MaterialBrowser::MaterialBrowser(QWidget *parent)
     m_instance = this;
 
     // adding few default materials
-    MaterialManager::getHomogeneousMaterial("Air", 1., 0.);
-    MaterialManager::getHomogeneousMaterial("Substrate", 1-6e-6, 2e-8);
-    MaterialManager::getHomogeneousMaterial("Default", 1., 0.);
+    MaterialManager::getHomogeneousMaterial("Air", 0., 0.);
+    MaterialManager::getHomogeneousMaterial("Substrate", 6e-6, 2e-8);
+    MaterialManager::getHomogeneousMaterial("Default", 0., 0.);
 
     m_browserModel = new MaterialBrowserModel(0);
 }
diff --git a/GUI/coregui/Views/Components/SampleDesigner/MaterialBrowserView.cpp b/GUI/coregui/Views/Components/SampleDesigner/MaterialBrowserView.cpp
index 789d412ecbe945b06cc0f8361007e4491fd5c946..95f6cee4668c83ba77cea046b2bcd0774e72c172 100644
--- a/GUI/coregui/Views/Components/SampleDesigner/MaterialBrowserView.cpp
+++ b/GUI/coregui/Views/Components/SampleDesigner/MaterialBrowserView.cpp
@@ -126,7 +126,7 @@ void MaterialBrowserView::addMaterial()
 {
     QString name = QString("unnamed%1").arg(m_IndexOfUnnamed);
     std::cout << "MaterialBrowserView::addMaterial() -> " << name.toStdString() << std::endl;
-    MaterialManager::instance().getHomogeneousMaterial(name.toStdString(), 1.0, 0.0);
+    MaterialManager::instance().getHomogeneousMaterial(name.toStdString(), 0.0, 0.0);
     m_tableModel->UpdateMaterials();
     m_tableView->scrollToBottom();
 
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/IsGISAXS07/IsGISAXS07.cpp b/Tests/FunctionalTests/TestCore/IsGISAXS07/IsGISAXS07.cpp
index 22cbdc33a9d8c192ab3d662a4150295df9d8ad0d..926c2c723a7a1ca6f8bfaae60d1a79bac9b65c75 100644
--- a/Tests/FunctionalTests/TestCore/IsGISAXS07/IsGISAXS07.cpp
+++ b/Tests/FunctionalTests/TestCore/IsGISAXS07/IsGISAXS07.cpp
@@ -24,7 +24,7 @@ void FunctionalTests::IsGISAXS07::run()
 {
     // building sample
     MultiLayer multi_layer;
-    const IMaterial *p_air_material = MaterialManager::getHomogeneousMaterial("Air", 1.0, 0.0);
+    const IMaterial *p_air_material = MaterialManager::getHomogeneousMaterial("Air", 0.0, 0.0);
     Layer air_layer;
     air_layer.setMaterial(p_air_material);
 
diff --git a/Tests/FunctionalTests/TestCore/IsGISAXS08/IsGISAXS08.cpp b/Tests/FunctionalTests/TestCore/IsGISAXS08/IsGISAXS08.cpp
index 5bd36b4ef1b68fd440c64159ad9082b4c2142390..e285ff511b413650f2f9507eb6aca51bbba0abcb 100644
--- a/Tests/FunctionalTests/TestCore/IsGISAXS08/IsGISAXS08.cpp
+++ b/Tests/FunctionalTests/TestCore/IsGISAXS08/IsGISAXS08.cpp
@@ -34,19 +34,25 @@ void FunctionalTests::IsGISAXS08::run2DDL()
     // building sample
     MultiLayer multi_layer;
     complex_t n_particle(1.0-6e-4, 2e-8);
-    const IMaterial *p_air_material = MaterialManager::getHomogeneousMaterial("Air", 1.0, 0.0);
-    const IMaterial *p_substrate_material = MaterialManager::getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8);
+    const IMaterial *p_air_material =
+            MaterialManager::getHomogeneousMaterial("Air", 0.0, 0.0);
+    const IMaterial *p_substrate_material =
+            MaterialManager::getHomogeneousMaterial("Substrate", 6e-6, 2e-8);
     Layer air_layer;
     air_layer.setMaterial(p_air_material);
     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);
 
@@ -55,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
@@ -71,19 +79,25 @@ void FunctionalTests::IsGISAXS08::run2DDL2()
     // building sample
     MultiLayer multi_layer;
     complex_t n_particle(1.0-6e-4, 2e-8);
-    const IMaterial *p_air_material = MaterialManager::getHomogeneousMaterial("Air", 1.0, 0.0);
-    const IMaterial *p_substrate_material = MaterialManager::getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8);
+    const IMaterial *p_air_material =
+            MaterialManager::getHomogeneousMaterial("Air", 0.0, 0.0);
+    const IMaterial *p_substrate_material =
+            MaterialManager::getHomogeneousMaterial("Substrate", 6e-6, 2e-8);
     Layer air_layer;
     air_layer.setMaterial(p_air_material);
     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);
 
@@ -92,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);
@@ -105,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
@@ -119,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);
 }
 
@@ -135,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 3491d3b6db7abf0d277e2f8bb4ae6ae8cade8333..461fea1c6e3a71ad1271adba29b1067904050bee 100644
--- a/Tests/FunctionalTests/TestCore/IsGISAXS10/IsGISAXS10.cpp
+++ b/Tests/FunctionalTests/TestCore/IsGISAXS10/IsGISAXS10.cpp
@@ -25,16 +25,21 @@ void FunctionalTests::IsGISAXS10::run()
 {
     // building sample
     MultiLayer multi_layer;
-    const IMaterial *p_air_material = MaterialManager::getHomogeneousMaterial("Air10", 1.0, 0.0);
-    const IMaterial *p_substrate_material = MaterialManager::getHomogeneousMaterial("Substrate10", 1.0-5e-6, 2e-8);
+    const IMaterial *p_air_material =
+            MaterialManager::getHomogeneousMaterial("Air10", 0.0, 0.0);
+    const IMaterial *p_substrate_material =
+            MaterialManager::getHomogeneousMaterial("Substrate10", 5e-6, 2e-8);
     Layer air_layer;
     air_layer.setMaterial(p_air_material);
     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);
@@ -44,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
@@ -68,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();
@@ -76,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);
 }
 
@@ -85,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 64fe362b94fb5fcd8bc5bf6720ad4f9417e0b585..6eacd5a005806a64197fd9c77089948b22ad51c1 100644
--- a/Tests/FunctionalTests/TestCore/IsGISAXS11/IsGISAXS11.cpp
+++ b/Tests/FunctionalTests/TestCore/IsGISAXS11/IsGISAXS11.cpp
@@ -29,14 +29,17 @@ void FunctionalTests::IsGISAXS11::run()
     // building sample
     MultiLayer multi_layer;
 
-    const IMaterial *p_air_material = MaterialManager::getHomogeneousMaterial("Air", 1.0, 0.0);
+    const IMaterial *p_air_material =
+            MaterialManager::getHomogeneousMaterial("Air", 0.0, 0.0);
     Layer air_layer;
     air_layer.setMaterial(p_air_material);
 
     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());
@@ -47,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
@@ -71,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();
@@ -79,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);
 }
 
@@ -88,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 1f5c6edb2a0368263dfdf7552766f2249c704367..67adc58d08e621ba59a7cea74e61546f8bc7ebc1 100644
--- a/Tests/FunctionalTests/TestCore/IsGISAXS15/IsGISAXS15.cpp
+++ b/Tests/FunctionalTests/TestCore/IsGISAXS15/IsGISAXS15.cpp
@@ -29,23 +29,26 @@ void FunctionalTests::IsGISAXS15::run()
     // building sample
     MultiLayer multi_layer;
     complex_t n_particle(1.0-6e-4, 2e-8);
-    const IMaterial *p_air_material = MaterialManager::getHomogeneousMaterial("Air", 1.0, 0.0);
+    const IMaterial *p_air_material =
+            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);
@@ -54,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);
@@ -81,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();
@@ -89,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);
 }
 
@@ -98,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 ed06f7e1ba7ce4eeb3db5ceeb512d18b64be3745..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;
@@ -112,10 +126,12 @@ bool TestFit01::run_fitting(const std::string &minimizer_name, const std::string
 ISample *TestFit01::buildSample()
 {
     MultiLayer *multi_layer = new MultiLayer();
-    const IMaterial *air_material = MaterialManager::getHomogeneousMaterial("Air", 1.0, 0.0);
+    const IMaterial *air_material =
+            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);
@@ -127,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/SampleBuilder.cpp b/Tests/FunctionalTests/TestFit/TestFit02/SampleBuilder.cpp
index 067d42e973514686e93f17caea4fa501f5854cfb..1317e42b505fc8f5f9172a201408ec4334627dcb 100644
--- a/Tests/FunctionalTests/TestFit/TestFit02/SampleBuilder.cpp
+++ b/Tests/FunctionalTests/TestFit/TestFit02/SampleBuilder.cpp
@@ -42,8 +42,10 @@ void SampleBuilder::init_parameters()
 ISample *SampleBuilder::buildSample() const
 {
     MultiLayer *multi_layer = new MultiLayer();
-    const IMaterial *air_material = MaterialManager::getHomogeneousMaterial("Air", 1.0, 0.0);
-    const IMaterial *substrate_material = MaterialManager::getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8);
+    const IMaterial *air_material =
+            MaterialManager::getHomogeneousMaterial("Air", 0.0, 0.0);
+    const IMaterial *substrate_material =
+            MaterialManager::getHomogeneousMaterial("Substrate", 6e-6, 2e-8);
     Layer air_layer(air_material);
     Layer substrate_layer(substrate_material);
 
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 97562a98960e1bb9e776cdd1c23267ab9e9c96f7..1d1612e848aefad8b2502acde4c94193f09364b3 100644
--- a/Tests/FunctionalTests/TestPyCore/isgisaxs01.py
+++ b/Tests/FunctionalTests/TestPyCore/isgisaxs01.py
@@ -16,8 +16,8 @@ from libBornAgainCore import *
 # ----------------------------------
 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/Tests/FunctionalTests/TestPyCore/isgisaxs02.py b/Tests/FunctionalTests/TestPyCore/isgisaxs02.py
index 8742eb660d9f4f78c2c4959555fd60e4b9791e4c..a12939931ac9240131b4cd628912e871c1797d83 100644
--- a/Tests/FunctionalTests/TestPyCore/isgisaxs02.py
+++ b/Tests/FunctionalTests/TestPyCore/isgisaxs02.py
@@ -17,9 +17,9 @@ from libBornAgainCore import *
 # ----------------------------------
 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)
+    n_particle = complex(6e-4, 2e-8)
     radius1 = 5.0*nanometer
     radius2 = 10.0*nanometer
     height1 = radius1
@@ -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 727349846b71ea0118a210622c3844ba5d7abf9c..410b667468dc6d7252ce0895c070b7e77612074e 100644
--- a/Tests/FunctionalTests/TestPyCore/isgisaxs03.py
+++ b/Tests/FunctionalTests/TestPyCore/isgisaxs03.py
@@ -16,8 +16,8 @@ from libBornAgainCore import *
 def RunSimulationDWBA():
     
     # 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)
@@ -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
@@ -50,8 +50,8 @@ def RunSimulationDWBA():
 # ----------------------------------
 def RunSimulationBA():
      # 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)
@@ -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)
@@ -81,8 +81,8 @@ def RunSimulationBA():
 # ----------------------------------
 def RunSimulationBA_Size():
     # 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()
 
@@ -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 30d996b68f609c994e0136fde6ff02c2eff4978a..bb161e3c5d3ca634a76418bfbcc4d7f720483a08 100644
--- a/Tests/FunctionalTests/TestPyCore/isgisaxs04.py
+++ b/Tests/FunctionalTests/TestPyCore/isgisaxs04.py
@@ -15,8 +15,8 @@ from libBornAgainCore import *
 # ----------------------------------
 def RunSimulation1():
     # 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)
@@ -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
@@ -48,8 +48,8 @@ def RunSimulation1():
 # ----------------------------------
 def RunSimulation2():
 #    # 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)
     
@@ -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 03c698f52ab7cd3f810bd860d5086a9b0fe362cd..605be3d7855533e4ed180eeec81e469c4d0cde04 100644
--- a/Tests/FunctionalTests/TestPyCore/isgisaxs06.py
+++ b/Tests/FunctionalTests/TestPyCore/isgisaxs06.py
@@ -17,8 +17,8 @@ M_PI = numpy.pi
 # ----------------------------------
 def RunSimulation_lattice():
 # 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_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
@@ -70,8 +70,8 @@ def RunSimulation_lattice():
 # ----------------------------------
 def RunSimulation_centered():
     # 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
@@ -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
@@ -128,8 +128,8 @@ def RunSimulation_centered():
 # ----------------------------------
 def RunSimulation_rotated():
 # 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
@@ -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
@@ -216,8 +216,8 @@ def RunSimulation_variants():
 # 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/Tests/FunctionalTests/TestPyCore/isgisaxs07.py b/Tests/FunctionalTests/TestPyCore/isgisaxs07.py
index 4f2b1d5ff6def5ef42d2d64556618dec9b40f8a7..384f43118b0f27d1cb5fb495cc210e7cb652884c 100644
--- a/Tests/FunctionalTests/TestPyCore/isgisaxs07.py
+++ b/Tests/FunctionalTests/TestPyCore/isgisaxs07.py
@@ -16,7 +16,7 @@ from libBornAgainCore import *
 # ----------------------------------
 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)   
     particle_decoration = ParticleDecoration()
diff --git a/Tests/FunctionalTests/TestPyCore/isgisaxs08.py b/Tests/FunctionalTests/TestPyCore/isgisaxs08.py
index 91e561e2d32531cbd0a8ee802d8f4f03a1c1186c..0449a0669bd3ef5ab2f442465d070f0ff9344405 100644
--- a/Tests/FunctionalTests/TestPyCore/isgisaxs08.py
+++ b/Tests/FunctionalTests/TestPyCore/isgisaxs08.py
@@ -16,8 +16,8 @@ M_PI = numpy.pi
 # ----------------------------------
 def RunSimulation1():
     # 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)
@@ -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
@@ -54,8 +54,8 @@ def RunSimulation1():
 # ----------------------------------
 def RunSimulation2():
     # 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)
@@ -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 2692b76cb885fe6096b711136e2ed795dff317e7..29f71aecbb514f9bdf77890b2501be70bf4bc412 100644
--- a/Tests/FunctionalTests/TestPyCore/isgisaxs09.py
+++ b/Tests/FunctionalTests/TestPyCore/isgisaxs09.py
@@ -15,8 +15,8 @@ from libBornAgainCore import *
 # ----------------------------------
 def RunSimulation1():
     # 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 ) )
@@ -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
@@ -48,8 +48,8 @@ def RunSimulation1():
 # ----------------------------------
 def RunSimulation2():
    # 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 ) )
@@ -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 a5dc5835583e6d604b757473628c3a7513bf80ad..c83888e98e9361d9af7c4b9ff728821b6db55b93 100644
--- a/Tests/FunctionalTests/TestPyCore/isgisaxs10.py
+++ b/Tests/FunctionalTests/TestPyCore/isgisaxs10.py
@@ -16,8 +16,8 @@ from libBornAgainCore import *
 # ----------------------------------
 def RunSimulation():
     # defining materials
-    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 1.0, 0.0 )
-    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 1.0-5e-6, 2e-8 )
+    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
+    mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 5e-6, 2e-8 )
     # collection of particles
     n_particle = complex(1.0-5e-5, 2e-8)
     cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer)
@@ -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 68b61315b025ea8171c07803e179bac73bb25027..efa5ad14c6f3b09dfe3832121d599cac8b3bb1e1 100644
--- a/Tests/FunctionalTests/TestPyCore/isgisaxs11.py
+++ b/Tests/FunctionalTests/TestPyCore/isgisaxs11.py
@@ -16,7 +16,7 @@ from libBornAgainCore import *
 # ----------------------------------
 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_shell = complex(1.0-1e-4, 2e-8)
@@ -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 2c7f223fccfd68d7443d0b40eefd16abf212bf88..6fcae8df89ebedfe52ce28c46efcf24de3636e31 100644
--- a/Tests/FunctionalTests/TestPyCore/isgisaxs15.py
+++ b/Tests/FunctionalTests/TestPyCore/isgisaxs15.py
@@ -15,7 +15,7 @@ from libBornAgainCore import *
 # ----------------------------------
 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)
@@ -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/FunctionalTests/TestPyFit/testfit01.py b/Tests/FunctionalTests/TestPyFit/testfit01.py
index f0e2306d3f0aee013866bfea7db303aced6cd6fe..c3ad27e7f266f40c575633748b9ea6558db9ae33 100644
--- a/Tests/FunctionalTests/TestPyFit/testfit01.py
+++ b/Tests/FunctionalTests/TestPyFit/testfit01.py
@@ -109,7 +109,7 @@ def buildSample():
     particle_decoration.addParticle(cylinder)
     particle_decoration.addInterferenceFunction(interference)
 
-    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 1.0, 0.0 )
+    mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 )
     air_layer = Layer(mAmbience)
     air_layer_decorator = LayerDecorator(air_layer, particle_decoration)
     multi_layer = MultiLayer()
diff --git a/Tests/FunctionalTests/TestPyFit/testfit02.py b/Tests/FunctionalTests/TestPyFit/testfit02.py
index fa749b2c19a4458ddc83de409c36c846b7987a77..3e14d7767eae5f045efd92a9b49d95f6145e10cb 100644
--- a/Tests/FunctionalTests/TestPyFit/testfit02.py
+++ b/Tests/FunctionalTests/TestPyFit/testfit02.py
@@ -122,8 +122,8 @@ class MySampleBuilder(ISampleBuilder):
     # constructs the sample for current values of parameters
     def buildSample(self):
       multi_layer = MultiLayer()
-      air_material = MaterialManager.getHomogeneousMaterial("Air", 1.0, 0.0)
-      substrate_material = MaterialManager.getHomogeneousMaterial("Substrate", 1.0-6e-6, 2e-8)
+      air_material = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0)
+      substrate_material = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8)
       air_layer = Layer(air_material)
       substrate_layer = Layer(substrate_material)
 
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);
diff --git a/ThirdParty/gtest/gtest-1.6.0/src/gtest-internal-inl.h b/ThirdParty/gtest/gtest-1.6.0/src/gtest-internal-inl.h
index 28e8ecd85b738cfbe9760eb3e72bc9e94c6fd76f..dd9347eb41b56e8ea0024d5a6916a4d2961cbc66 100644
--- a/ThirdParty/gtest/gtest-1.6.0/src/gtest-internal-inl.h
+++ b/ThirdParty/gtest/gtest-1.6.0/src/gtest-internal-inl.h
@@ -203,7 +203,7 @@ class GTestFlagSaver {
   bool list_tests_;
   String output_;
   bool print_time_;
-  bool pretty_;
+//  bool pretty_;
   internal::Int32 random_seed_;
   internal::Int32 repeat_;
   bool shuffle_;