diff --git a/Core/Samples/src/MaterialManager.cpp b/Core/Samples/src/MaterialManager.cpp index 6ab618451483b57c4587d1f4b5b4c8ac1876e6f8..cea706ce4da9656c340207a44b5382f667c821ae 100644 --- a/Core/Samples/src/MaterialManager.cpp +++ b/Core/Samples/src/MaterialManager.cpp @@ -68,7 +68,7 @@ const IMaterial *MaterialManager::this_getHomogeneousMaterial( HomogeneousMaterial *non_const_mat = const_cast<HomogeneousMaterial *>(old); non_const_mat->setRefractiveIndex(refractive_index); - msglog(MSG::WARNING) << "MaterialManager::addHomogeneousMaterial()" << + msglog(MSG::ERROR) << "MaterialManager::addHomogeneousMaterial()" << "-> Redefining refractive index for material '" << name << "'"; } return mat; diff --git a/Examples/python/ex001_CylindersAndPrisms/CylindersAndPrisms.py b/Examples/python/ex001_CylindersAndPrisms/CylindersAndPrisms.py index 3dc904bc4fd5bf616bdde9b14e8d79cafefb3d01..024eb901bca21ff8512fd1f60f77834819b0110a 100644 --- a/Examples/python/ex001_CylindersAndPrisms/CylindersAndPrisms.py +++ b/Examples/python/ex001_CylindersAndPrisms/CylindersAndPrisms.py @@ -18,17 +18,19 @@ def RunSimulation(): # defining materials mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 ) mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 ) + mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 ) + # collection of particles - n_particle = complex(1.0-6e-4, 2e-8) cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer) - cylinder = Particle(n_particle, cylinder_ff) + cylinder = Particle(mParticle, cylinder_ff) prism_ff = FormFactorPrism3(5*nanometer, 5*nanometer) - prism = Particle(n_particle, prism_ff) + prism = Particle(mParticle, prism_ff) particle_decoration = ParticleDecoration() particle_decoration.addParticle(cylinder, 0.0, 0.5) particle_decoration.addParticle(prism, 0.0, 0.5) interference = InterferenceFunctionNone() particle_decoration.addInterferenceFunction(interference) + # air layer with particles and substrate form multi layer air_layer = Layer(mAmbience) air_layer.setDecoration(particle_decoration) diff --git a/Examples/python/ex002_CylindersWithSizeDistribution/CylindersWithSizeDistribution.py b/Examples/python/ex002_CylindersWithSizeDistribution/CylindersWithSizeDistribution.py index 8f4000f5da0004c20ba60c0744c063327c62d171..5b6c2c582c6977694a3ffbc3e43f9e75bf0a5592 100644 --- a/Examples/python/ex002_CylindersWithSizeDistribution/CylindersWithSizeDistribution.py +++ b/Examples/python/ex002_CylindersWithSizeDistribution/CylindersWithSizeDistribution.py @@ -16,16 +16,17 @@ from utils.show2d import PlotNumpyArray def RunSimulation(): # defining materials mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 ) + mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 ) + # collection of particles - n_particle = complex(1.0-6e-4, 2e-8) radius1 = 5.0*nanometer radius2 = 10.0*nanometer height1 = radius1 height2 = radius2 cylinder_ff1 = FormFactorCylinder(height1, radius1) - cylinder1 = Particle(n_particle, cylinder_ff1) + cylinder1 = Particle(mParticle, cylinder_ff1) cylinder_ff2 = FormFactorCylinder(height2, radius2) - cylinder2 = Particle(n_particle, cylinder_ff2) + cylinder2 = Particle(mParticle, cylinder_ff2) nbins = 150 sigma1 = radius1*0.2 sigma2 = radius2*0.02 diff --git a/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInBA.py b/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInBA.py index 5f323babfb4add4aa4f5370e072d54bd2e126a5c..aa6acf2dbde9d881f6dfe49cce124cd479fc4e80 100644 --- a/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInBA.py +++ b/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInBA.py @@ -19,10 +19,11 @@ def RunSimulation(): # defining materials mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 ) mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 ) + mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 ) + # collection of particles - n_particle = complex(1.0-6e-4, 2e-8) cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer) - cylinder = Particle(n_particle, cylinder_ff) + cylinder = Particle(mParticle, cylinder_ff) particle_decoration = ParticleDecoration() particle_decoration.addParticle(cylinder, 0.0, 1.0) interference = InterferenceFunctionNone() diff --git a/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInBASize.py b/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInBASize.py index 8f09efd5d78bc47a663e5ec741f8d31f6a00461f..427ffa637330e8b8af11b493d0182a276495974a 100644 --- a/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInBASize.py +++ b/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInBASize.py @@ -19,16 +19,16 @@ def RunSimulation(): # defining materials mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 ) mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 ) + mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 ) multi_layer = MultiLayer() - n_particle = complex(1.0-6e-4, 2e-8) cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer) particle_decoration = ParticleDecoration() # preparing prototype of nano particle radius = 5*nanometer sigma = 0.2*radius - nano_particle = Particle(n_particle, cylinder_ff) + nano_particle = Particle(mParticle, cylinder_ff) # radius of nanoparticles will be sampled with gaussian probability nbins = 100 nfwhm = 2 diff --git a/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInDWBA.py b/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInDWBA.py index b9820a6b1171967a814ea7c765e3ed8a82f6e8ef..03408d5dda7d274c77e1fb02574d3c283ac1fb9d 100644 --- a/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInDWBA.py +++ b/Examples/python/ex003_CylinderFormfactor/CylinderFormfactorInDWBA.py @@ -20,10 +20,12 @@ def RunSimulation(): # defining materials mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 ) mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 ) + mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 ) + # collection of particles n_particle = complex(1.0-6e-4, 2e-8) cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer) - cylinder = Particle(n_particle, cylinder_ff) + cylinder = Particle(mParticle, cylinder_ff) particle_decoration = ParticleDecoration() particle_decoration.addParticle(cylinder, 0.0, 1.0) interference = InterferenceFunctionNone() diff --git a/Examples/python/ex004_CylindersParaCrystal/CylindersParaCrystal_1DDL.py b/Examples/python/ex004_CylindersParaCrystal/CylindersParaCrystal_1DDL.py index fb13f47931ad32ef9f1996edf80acdb8d280bfce..7697469d72a0168129f0f6658997fbb5dfff49ad 100644 --- a/Examples/python/ex004_CylindersParaCrystal/CylindersParaCrystal_1DDL.py +++ b/Examples/python/ex004_CylindersParaCrystal/CylindersParaCrystal_1DDL.py @@ -18,10 +18,11 @@ def RunSimulation(): # defining materials mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 ) mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 ) + mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 ) + # collection of particles - n_particle = complex(1.0-6e-4, 2e-8) cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer) - cylinder = Particle(n_particle, cylinder_ff) + cylinder = Particle(mParticle, cylinder_ff) interference = InterferenceFunction1DParaCrystal(20.0*nanometer,7*nanometer, 1e3*nanometer) particle_decoration = ParticleDecoration() particle_decoration.addParticle(cylinder, 0.0, 1.0) diff --git a/Examples/python/ex004_CylindersParaCrystal/CylindersParaCrystal_2DDL.py b/Examples/python/ex004_CylindersParaCrystal/CylindersParaCrystal_2DDL.py index 2cab1a776f25577e063a62fa1d9fb8a784a937b3..37b687ab5d69d69715b940a4545a85e854891fa0 100644 --- a/Examples/python/ex004_CylindersParaCrystal/CylindersParaCrystal_2DDL.py +++ b/Examples/python/ex004_CylindersParaCrystal/CylindersParaCrystal_2DDL.py @@ -18,11 +18,12 @@ def RunSimulation(): # defining materials mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 ) mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 ) + mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 ) + # collection of particles - n_particle = complex(1.0-6e-4, 2e-8) cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer) - cylinder = Particle(n_particle, cylinder_ff) + cylinder = Particle(mParticle, cylinder_ff) interference = InterferenceFunction2DParaCrystal.createHexagonal(20.0*nanometer, 0.0,20.0*micrometer, 20.0*micrometer) pdf = FTDistribution2DCauchy(1.0*nanometer, 1.0*nanometer) diff --git a/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder1.py b/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder1.py index dc7099565110f0e45a95b5a70c007c3c77841e48..57edeb33dcfb56464c28a20771f50849df93c217 100644 --- a/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder1.py +++ b/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder1.py @@ -19,6 +19,8 @@ def RunSimulation(): # defining materials mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 ) mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 ) + mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 ) + # collection of particles lattice_params = Lattice2DIFParameters() lattice_params.m_length_1 = 10.0*nanometer @@ -36,7 +38,7 @@ def RunSimulation(): n_particle = complex(1.0-6e-4, 2e-8) cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer) - cylinder = Particle(n_particle, cylinder_ff.clone()) + cylinder = Particle(mParticle, cylinder_ff.clone()) position = kvector_t(0.0, 0.0, 0.0) particle_decoration = ParticleDecoration() particle_info = PositionParticleInfo(cylinder, position, 1.0) diff --git a/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder2.py b/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder2.py index 15fe033d9ac8e9b006199220c18da033ad8d1183..cd3d743fddfc91282163a6f6a3810f65567d406c 100644 --- a/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder2.py +++ b/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder2.py @@ -19,6 +19,8 @@ def RunSimulation(): # defining materials mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 ) mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 ) + mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 ) + # collection of particles lattice_params = Lattice2DIFParameters() lattice_params.m_length_1 = 10.0*nanometer @@ -33,12 +35,11 @@ def RunSimulation(): pdf = FTDistribution2DCauchy(300.0*nanometer/2.0/M_PI, 100.0*nanometer/2.0/M_PI) interference.setProbabilityDistribution(pdf) - n_particle = complex(1.0-6e-4, 2e-8) particle_decoration = ParticleDecoration() position = kvector_t(0.0, 0.0, 0.0) # particle 1 cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer) - cylinder = Particle(n_particle, cylinder_ff) + cylinder = Particle(mParticle, cylinder_ff) position = kvector_t(0.0, 0.0, 0.0) particle_info = PositionParticleInfo(cylinder, position, 1.0) particle_decoration.addParticleInfo(particle_info) diff --git a/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder3.py b/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder3.py index 189df50280b97a9d0f6b473d16f216aa1f6502f7..3c4d38b637bc39df43e17c50e2449687151f5c69 100644 --- a/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder3.py +++ b/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder3.py @@ -19,6 +19,8 @@ def RunSimulation(): # defining materials mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 ) mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 ) + mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 ) + # collection of particles lattice_params = Lattice2DIFParameters() lattice_params.m_length_1 = 10.0*nanometer @@ -34,9 +36,8 @@ def RunSimulation(): pdf.setGamma(30.0*degree) interference.setProbabilityDistribution(pdf) - n_particle = complex(1.0-6e-4, 2e-8) cylinder_ff = FormFactorCylinder(5*nanometer, 5*nanometer) - cylinder = Particle(n_particle, cylinder_ff) + cylinder = Particle(mParticle, cylinder_ff) position = kvector_t(0.0, 0.0, 0.0) particle_decoration = ParticleDecoration() particle_info = PositionParticleInfo(cylinder, position, 1.0) diff --git a/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder4.py b/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder4.py index baa13cad49b95a979eb52bda1fe1a0b513a35375..a0b9b23f8843df94a6db95a990f588189ae543bc 100644 --- a/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder4.py +++ b/Examples/python/ex006_LatticeWithDisorder/LatticeWithDisorder4.py @@ -51,9 +51,10 @@ 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", 0.0, 0.0 ) mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 ) + mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 ) + air_layer = Layer(mAmbience) substrate_layer = Layer(mSubstrate) @@ -74,7 +75,7 @@ def buildSample(xi_value): # particle ff_cyl = FormFactorCylinder(5.0*nanometer, 5.0*nanometer) position = kvector_t(0.0, 0.0, 0.0) - cylinder = Particle(n_particle, ff_cyl.clone()) + cylinder = Particle(mParticle, ff_cyl.clone()) particle_info = PositionParticleInfo( cylinder, position, 1.0) particle_decoration.addParticleInfo(particle_info) particle_decoration.addInterferenceFunction(p_interference_function) diff --git a/Examples/python/ex009_RotatedPyramids/Pyramids.py b/Examples/python/ex009_RotatedPyramids/Pyramids.py index 7a1bf2494405f1cb0c1f6778cc2cee7b6b0af79e..37bda6d81ee9d4da7da9b4996bae558b5f454090 100644 --- a/Examples/python/ex009_RotatedPyramids/Pyramids.py +++ b/Examples/python/ex009_RotatedPyramids/Pyramids.py @@ -18,10 +18,11 @@ def RunSimulation(): # defining materials mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 ) mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 ) + mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 ) + # collection of particles - n_particle = complex(1.0-6e-4, 2e-8) pyramid_ff = FormFactorPyramid(5*nanometer, 5*nanometer, deg2rad(54.73 ) ) - pyramid = Particle(n_particle, pyramid_ff) + pyramid = Particle(mParticle, pyramid_ff) interference = InterferenceFunctionNone() particle_decoration = ParticleDecoration() particle_decoration.addParticle(pyramid, 0.0, 1.0) diff --git a/Examples/python/ex009_RotatedPyramids/RotatedPyramids.py b/Examples/python/ex009_RotatedPyramids/RotatedPyramids.py index 74054b5895ceb728f548289d6817a3049d583b39..565e0a3945946c18273697ecf149cde5c2a52201 100644 --- a/Examples/python/ex009_RotatedPyramids/RotatedPyramids.py +++ b/Examples/python/ex009_RotatedPyramids/RotatedPyramids.py @@ -17,10 +17,11 @@ def RunSimulation(): # defining materials mAmbience = MaterialManager.getHomogeneousMaterial("Air", 0.0, 0.0 ) mSubstrate = MaterialManager.getHomogeneousMaterial("Substrate", 6e-6, 2e-8 ) + mParticle = MaterialManager.getHomogeneousMaterial("Particle", 6e-4, 2e-8 ) + # collection of particles - n_particle = complex(1.0-6e-4, 2e-8) pyramid_ff = FormFactorPyramid(5*nanometer, 5*nanometer, deg2rad(54.73 ) ) - pyramid = Particle(n_particle, pyramid_ff) + pyramid = Particle(mParticle, pyramid_ff) interference = InterferenceFunctionNone() angle_around_z = 45.*degree #rotatez3d = RotateZ3D(angle_around_z) diff --git a/Tests/UnitTests/TestCore/ParticleTest.h b/Tests/UnitTests/TestCore/ParticleTest.h index 9b78fb93eeda0cd7056f9b354315588467af98e2..a14d3163133606227425cfa3aab0f21cc84fbd58 100644 --- a/Tests/UnitTests/TestCore/ParticleTest.h +++ b/Tests/UnitTests/TestCore/ParticleTest.h @@ -73,8 +73,6 @@ TEST_F(ParticleTest, ParticleConstructors) delete p3; delete p4; - - } diff --git a/dev-tools/python-bindings/MakePyCore.py b/dev-tools/python-bindings/MakePyCore.py index d6105dbf00bd0149f1eaef53a89b344cd53beecf..674544cafbbcd0cea8e0770a8ccdb096a54d048b 100644 --- a/dev-tools/python-bindings/MakePyCore.py +++ b/dev-tools/python-bindings/MakePyCore.py @@ -210,6 +210,8 @@ def ManualClassTunings(mb): # including back methods which have been excluded by our pointer policy for fun in cl.member_functions(): if fun.name == "setMaterial":fun.include() + for fun in cl.member_functions(): + print "XXX", fun cl.constructors().include() # including back constructors with pointers # cl = mb.class_("Simulation")