diff --git a/App/src/TestBugs.cpp b/App/src/TestBugs.cpp index 3b1d0d5c0cbea5ac98de9ffbbcbf68be1bb15e4e..de3842d0c6aed989b94ee673e6c12decfd0ac5da 100644 --- a/App/src/TestBugs.cpp +++ b/App/src/TestBugs.cpp @@ -31,7 +31,7 @@ void TestBugs::test_item339() FormFactorTruncatedSphere sphere_ff(8.0*Units::nanometer, 8.0*Units::nanometer); - Particle *particle = new Particle(mParticle, sphere_ff); + Particle particle(mParticle, sphere_ff); InterferenceFunction2DParaCrystal *interf = InterferenceFunction2DParaCrystal::createHexagonal(20.0*Units::nanometer, diff --git a/App/src/TestDetectorResolution.cpp b/App/src/TestDetectorResolution.cpp index 2042c3032d2b9520c4efd54a0296e45e6596e3e0..f7a70f66b8035dbb8b394af4042cb86db920ee78 100644 --- a/App/src/TestDetectorResolution.cpp +++ b/App/src/TestDetectorResolution.cpp @@ -68,10 +68,9 @@ void TestDetectorResolution::initializeSample() 1e7*Units::nanometer); FTDistribution1DGauss pdf(7*Units::nanometer); p_interference_function->setProbabilityDistribution(pdf); - ParticleLayout particle_layout( - new Particle(particle_material, - FormFactorCylinder(5*Units::nanometer, - 5*Units::nanometer))); + Particle particle(particle_material, FormFactorCylinder(5*Units::nanometer, + 5*Units::nanometer)); + ParticleLayout particle_layout(particle); particle_layout.addInterferenceFunction(p_interference_function); air_layer.addLayout(particle_layout); diff --git a/App/src/TestFittingModule1.cpp b/App/src/TestFittingModule1.cpp index 43e7a912e08ad398fa02b95791513be438344176..06d87ff1fe06ab1b05372787d8e47c71c74d9ac7 100644 --- a/App/src/TestFittingModule1.cpp +++ b/App/src/TestFittingModule1.cpp @@ -125,8 +125,9 @@ void TestFittingModule1::initializeSample1() Layer air_layer; air_layer.setMaterial(air_material); - ParticleLayout particle_layout( new Particle(particle_material, - FormFactorCylinder(5*Units::nanometer, 5*Units::nanometer))); + Particle particle(particle_material, FormFactorCylinder( + 5*Units::nanometer, 5*Units::nanometer)); + ParticleLayout particle_layout(particle); particle_layout.addInterferenceFunction(new InterferenceFunctionNone()); air_layer.addLayout(particle_layout); @@ -170,8 +171,12 @@ void TestFittingModule1::initializeSample2() Layer substrate_layer; substrate_layer.setMaterial(substrate_material); ParticleLayout particle_layout; - particle_layout.addParticle(new Particle(particle_material, FormFactorCylinder(cylinder_radius, cylinder_height)),0.0, 0.2); - particle_layout.addParticle(new Particle(particle_material, FormFactorPrism3(prism3_length, prism3_height)), 0.0, 0.8); + Particle particle1(particle_material, FormFactorCylinder( + cylinder_radius, cylinder_height) ); + Particle particle2(particle_material, FormFactorPrism3( + prism3_length, prism3_height) ); + particle_layout.addParticle(particle1, 0.0, 0.2); + particle_layout.addParticle(particle2, 0.0, 0.8); particle_layout.addInterferenceFunction(new InterferenceFunctionNone()); air_layer.addLayout(particle_layout); diff --git a/App/src/TestFittingModule2.cpp b/App/src/TestFittingModule2.cpp index ee6171d5100c8d0f0186879e5e3e1a0582685e8b..3d45915c9b681a587690487a86e767b44980aea8 100644 --- a/App/src/TestFittingModule2.cpp +++ b/App/src/TestFittingModule2.cpp @@ -386,17 +386,12 @@ ISample *TestFittingModule2::SampleBuilder::buildSample() const Layer substrate_layer; substrate_layer.setMaterial(substrate_material); ParticleLayout particle_layout; - particle_layout.addParticle( - new Particle(particle_material, - FormFactorCylinder(m_cylinder_radius, - m_cylinder_height)), - 0.0, m_cylinder_ratio); - particle_layout.addParticle( - new Particle(particle_material, - FormFactorPrism3(m_prism3_length, - m_prism3_height - )), - 0.0, 1.0 - m_cylinder_ratio); + Particle particle1(particle_material, FormFactorCylinder( + m_cylinder_radius, m_cylinder_height) ); + Particle particle2(particle_material, FormFactorPrism3( + m_prism3_length, m_prism3_height) ); + particle_layout.addParticle(particle1, 0.0, m_cylinder_ratio); + particle_layout.addParticle(particle2, 0.0, 1.0 - m_cylinder_ratio); particle_layout.addInterferenceFunction(new InterferenceFunctionNone()); air_layer.addLayout(particle_layout); diff --git a/App/src/TestFittingModule3.cpp b/App/src/TestFittingModule3.cpp index 1d2db2db00a333327eab87f1c95ae5829d426684..87eb0bd4c36c800e7655a026d516273f20008973 100644 --- a/App/src/TestFittingModule3.cpp +++ b/App/src/TestFittingModule3.cpp @@ -125,9 +125,13 @@ void TestFittingModule3::initializeSample() air_layer.setMaterial(air_material); Layer substrate_layer; substrate_layer.setMaterial(substrate_material); + Particle particle1(particle_material, FormFactorCylinder( + cylinder_radius, cylinder_height) ); + Particle particle2(particle_material, FormFactorPrism3( + prism3_length, prism3_height) ); ParticleLayout particle_layout; - particle_layout.addParticle(new Particle(particle_material, FormFactorCylinder(cylinder_radius, cylinder_height)),0.0, 0.2); - particle_layout.addParticle(new Particle(particle_material, FormFactorPrism3(prism3_length, prism3_height)), 0.0, 0.8); + particle_layout.addParticle(particle1,0.0, 0.2); + particle_layout.addParticle(particle2, 0.0, 0.8); particle_layout.addInterferenceFunction(new InterferenceFunctionNone()); air_layer.addLayout(particle_layout); diff --git a/App/src/TestFittingModule4.cpp b/App/src/TestFittingModule4.cpp index c5737883b23e8fb574bc6d04db618ccc095fa79d..952a87dabebe72de12d5d5823e351a9c687b824e 100644 --- a/App/src/TestFittingModule4.cpp +++ b/App/src/TestFittingModule4.cpp @@ -140,8 +140,9 @@ void TestFittingModule4::initializeSample() Layer air_layer; air_layer.setMaterial(air_material); - ParticleLayout particle_layout( new Particle(particle_material, - FormFactorCylinder(5*Units::nanometer, 5*Units::nanometer))); + Particle particle(particle_material, FormFactorCylinder( + 5*Units::nanometer, 5*Units::nanometer) ); + ParticleLayout particle_layout(particle); air_layer.addLayout(particle_layout); diff --git a/App/src/TestFormFactors.cpp b/App/src/TestFormFactors.cpp index 206dac8ef2724b96d43aa452b9fcb16a3c5c4451..c2fb5be9c2b0d0a0d29df9d3709860f607a9fec2 100644 --- a/App/src/TestFormFactors.cpp +++ b/App/src/TestFormFactors.cpp @@ -136,8 +136,8 @@ void TestFormFactors::run_isgisaxs_simulation(IFormFactor *p_form_factor) air_layer.setMaterial(air_material); mp_form_factor=p_form_factor; - ParticleLayout particle_layout( new Particle(particle_material, - *mp_form_factor)); + Particle particle(particle_material, *mp_form_factor); + ParticleLayout particle_layout(particle); particle_layout.addInterferenceFunction(new InterferenceFunctionNone()); air_layer.addLayout(particle_layout); multi_layer.addLayer(air_layer); diff --git a/App/src/TestMiscellaneous.cpp b/App/src/TestMiscellaneous.cpp index ae2b9ebc7d599302822efd70cfed97e922afc42e..b048b61ea74ec01a731d7f1e7b0ba3f566bc579f 100644 --- a/App/src/TestMiscellaneous.cpp +++ b/App/src/TestMiscellaneous.cpp @@ -510,9 +510,9 @@ void TestMiscellaneous::test_SampleGeometry() HomogeneousMaterial particle_material("Particle", n_particle); Layer air_layer(air_material); - ParticleLayout particle_layout - (new Particle(particle_material, FormFactorFullSphere - (5*Units::nanometer))); + Particle particle(particle_material, FormFactorFullSphere( + 5*Units::nanometer) ); + ParticleLayout particle_layout(particle); air_layer.addLayout(particle_layout); diff --git a/App/src/TestPolarizedMeso.cpp b/App/src/TestPolarizedMeso.cpp index 8d33a320e6e41872bab98718691761a4b48c9e85..0cc00170bd315478fd7ec9e0dfdb7c4c12bd29e2 100644 --- a/App/src/TestPolarizedMeso.cpp +++ b/App/src/TestPolarizedMeso.cpp @@ -20,6 +20,7 @@ #include "InterferenceFunctionNone.h" #include "FormFactors.h" #include "MesoCrystal.h" +#include <boost/scoped_ptr.hpp> TestPolarizedMeso::TestPolarizedMeso() @@ -106,10 +107,10 @@ MultiLayer* TestPolarizedMeso::createSample() const Geometry::Transform3D::createRotateZ(phi_start + i*phi_step); double meso_size = m_meso_width + j*m_meso_size_steps; FormFactorBox ff_box(meso_size, meso_size, meso_size); - particle_layout.addParticle( - createMeso(m_lattice_length_a, m_lattice_length_c, - particle_material, m_nanoparticle_size, &ff_box), - transform); + boost::scoped_ptr<MesoCrystal> meso(createMeso( + m_lattice_length_a, m_lattice_length_c, + particle_material, m_nanoparticle_size, &ff_box) ); + particle_layout.addParticle(*meso, transform); } } diff --git a/Core/PythonAPI/src/ParticleLayout.pypp.cpp b/Core/PythonAPI/src/ParticleLayout.pypp.cpp index 5d8887fec7646ffa3fb05bc4ccd991147a1118b5..8eac39eedf1cf86a23a29cd15b3e633befe09f87 100644 --- a/Core/PythonAPI/src/ParticleLayout.pypp.cpp +++ b/Core/PythonAPI/src/ParticleLayout.pypp.cpp @@ -319,7 +319,7 @@ void register_ParticleLayout_class(){ ParticleLayout_exposer.def( "addParticle" , addParticle_function_type( &::ParticleLayout::addParticle ) - , ( bp::arg("p_particle"), bp::arg("transform"), bp::arg("depth")=0, bp::arg("abundance")=1.0e+0 ) ); + , ( bp::arg("p_particle"), bp::arg("transform"), bp::arg("depth")=0.0, bp::arg("abundance")=1.0e+0 ) ); } { //::ParticleLayout::addParticle diff --git a/Core/Samples/inc/ParticleLayout.h b/Core/Samples/inc/ParticleLayout.h index cc3ed23cce858c345db9e1f3b86e75a246010f52..e6880e7d7bf6aaa6234e9bd0cd7455eabbe383d3 100644 --- a/Core/Samples/inc/ParticleLayout.h +++ b/Core/Samples/inc/ParticleLayout.h @@ -29,8 +29,6 @@ class BA_CORE_API_ ParticleLayout : public ILayout { public: ParticleLayout(); - ParticleLayout( - Particle* p_particle, double depth=0., double abundance=1.); ParticleLayout( const Particle& p_particle, double depth=0., double abundance=1.); @@ -45,19 +43,13 @@ public: virtual void accept(ISampleVisitor *visitor) const { visitor->visit(this); } //! Adds generic particle - void addParticle( - Particle *p_particle, const Geometry::Transform3D& transform, - double depth=0, double abundance=1.0); - void addParticle( const Particle& p_particle, const Geometry::Transform3D& transform, - double depth=0, double abundance=1.0); - - //! Adds particle without rotation - void addParticle(Particle *p_particle, double depth=0.0, double abundance=1.0); + double depth=0.0, double abundance=1.0); //! Adds particle without rotation - void addParticle(const Particle& particle, double depth=0.0, double abundance=1.0); + void addParticle(const Particle& particle, double depth=0.0, + double abundance=1.0); //! Adds particle info void addParticleInfo(const ParticleInfo& info); diff --git a/Core/Samples/src/ParticleLayout.cpp b/Core/Samples/src/ParticleLayout.cpp index 43b8efdc7e97cb3ceb920eb98acb99ae3aeb360c..2332ad1fa40eb04cb486778f7b75ce5a46539a2f 100644 --- a/Core/Samples/src/ParticleLayout.cpp +++ b/Core/Samples/src/ParticleLayout.cpp @@ -28,20 +28,12 @@ ParticleLayout::ParticleLayout() setName("ParticleLayout"); } -ParticleLayout::ParticleLayout( - Particle* p_particle, double depth, double abundance) -: m_total_abundance(0.0) -{ - setName("ParticleLayout"); - addParticle(p_particle, depth, abundance); -} - ParticleLayout::ParticleLayout( const Particle& p_particle, double depth, double abundance) : m_total_abundance(0.0) { setName("ParticleLayout"); - addParticle(p_particle.clone(), depth, abundance); + addParticle(p_particle, depth, abundance); } ParticleLayout::~ParticleLayout() @@ -86,20 +78,6 @@ ParticleLayout* ParticleLayout::cloneInvertB() const return p_new; } -//! Adds generic particle, *-version. -void ParticleLayout::addParticle( - Particle* p_particle, const Geometry::Transform3D& transform, - double depth, double abundance) -{ - if(!abundance) { - throw LogicErrorException("ParticleLayout::addParticle() ->" - " Error! Abundance can't be equal to 0.0"); - } - p_particle->setTransformation(transform); - addAndRegisterParticleInfo( - new ParticleInfo(p_particle, depth, abundance)); -} - //! Adds generic particle, &-version. void ParticleLayout::addParticle( const Particle& p_particle, const Geometry::Transform3D& transform, @@ -115,15 +93,6 @@ void ParticleLayout::addParticle( new ParticleInfo(p_particle_clone, depth, abundance)); } -//! Adds particle without rotation, *-version. -void ParticleLayout::addParticle( - Particle* p_particle, - double depth, double abundance) -{ - addAndRegisterParticleInfo( - new ParticleInfo(p_particle, depth, abundance)); -} - //! Adds particle without rotation, &-version. void ParticleLayout::addParticle( const Particle& p_particle, diff --git a/Core/StandardSamples/IsGISAXS03Builder.cpp b/Core/StandardSamples/IsGISAXS03Builder.cpp index b69ea5661312dc2c5b65aefbf7ea698ab5e4ea47..6d6b966f97af50ae38cfdc8d73b39230e1335d1c 100644 --- a/Core/StandardSamples/IsGISAXS03Builder.cpp +++ b/Core/StandardSamples/IsGISAXS03Builder.cpp @@ -56,7 +56,8 @@ ISample *IsGISAXS03DWBABuilder::buildSample() const FormFactorCylinder ff_cylinder(m_radius, m_height); - ParticleLayout particle_layout( new Particle(particle_material,ff_cylinder)); + Particle particle(particle_material, ff_cylinder); + ParticleLayout particle_layout(particle); particle_layout.addInterferenceFunction(new InterferenceFunctionNone()); air_layer.addLayout(particle_layout); diff --git a/Core/StandardSamples/IsGISAXS04Builder.cpp b/Core/StandardSamples/IsGISAXS04Builder.cpp index b39404225f9cb1c20b61f5bd51623149e01be8bf..1dab26359bf4a4bc85a05aa3223c2558f3a3c8a8 100644 --- a/Core/StandardSamples/IsGISAXS04Builder.cpp +++ b/Core/StandardSamples/IsGISAXS04Builder.cpp @@ -61,8 +61,8 @@ ISample *IsGISAXS04Para1DBuilder::buildSample() const p_interference_function->setProbabilityDistribution(pdf); FormFactorCylinder ff_cylinder(m_cylinder_radius, m_cylinder_height); - ParticleLayout particle_layout( new Particle( - particle_material, ff_cylinder ) ); + Particle particle(particle_material, ff_cylinder); + ParticleLayout particle_layout(particle); particle_layout.addInterferenceFunction(p_interference_function); air_layer.addLayout(particle_layout); diff --git a/Core/StandardSamples/IsGISAXS06Builder.cpp b/Core/StandardSamples/IsGISAXS06Builder.cpp index 6a18f1a30e413133fc9008d0b1360d751f7ee096..50189d9cbe6d59bbedc191c33b98f0b3f89ee3a0 100644 --- a/Core/StandardSamples/IsGISAXS06Builder.cpp +++ b/Core/StandardSamples/IsGISAXS06Builder.cpp @@ -49,8 +49,8 @@ ISample *IsGISAXS06Lattice1Builder::buildSample() const // particles ParticleLayout particle_layout; FormFactorCylinder ff_cyl(5.0*Units::nanometer, 5.0*Units::nanometer); - particle_layout.addParticle( - new Particle(particle_material, ff_cyl), 0.0, 1.0); + Particle particle(particle_material, ff_cyl); + particle_layout.addParticle(particle, 0.0, 1.0); particle_layout.addInterferenceFunction(p_interference_function); diff --git a/Core/StandardSamples/IsGISAXS08Builder.cpp b/Core/StandardSamples/IsGISAXS08Builder.cpp index c98af63518194684a5bcbea11d8f0330b54d2fde..fa37bdee3439522314db768df0a5a410c718d57e 100644 --- a/Core/StandardSamples/IsGISAXS08Builder.cpp +++ b/Core/StandardSamples/IsGISAXS08Builder.cpp @@ -48,7 +48,8 @@ ISample *IsGISAXS08ABuilder::buildSample() const FormFactorCylinder ff_cylinder(5.0*Units::nanometer, 5.0*Units::nanometer); - ParticleLayout particle_layout( new Particle(particle_material, ff_cylinder)); + Particle particle(particle_material, ff_cylinder); + ParticleLayout particle_layout(particle); particle_layout.addInterferenceFunction(p_interference_function); air_layer.addLayout(particle_layout); @@ -90,7 +91,8 @@ ISample *IsGISAXS08BBuilder::buildSample() const FormFactorCylinder ff_cylinder(5*Units::nanometer, 5*Units::nanometer); - ParticleLayout particle_layout( new Particle(particle_material,ff_cylinder)); + Particle particle(particle_material, ff_cylinder); + ParticleLayout particle_layout(particle); particle_layout.addInterferenceFunction(p_interference_function); air_layer.addLayout(particle_layout); diff --git a/Core/StandardSamples/IsGISAXS09Builder.cpp b/Core/StandardSamples/IsGISAXS09Builder.cpp index bae8eb71ae389844044c170fc2b814209bc3cd07..633f50f8760877ce6a00b89cf6e5e68f1f43b8fe 100644 --- a/Core/StandardSamples/IsGISAXS09Builder.cpp +++ b/Core/StandardSamples/IsGISAXS09Builder.cpp @@ -56,7 +56,8 @@ ISample *IsGISAXS09ABuilder::buildSample() const FormFactorPyramid ff_pyramid(m_length, m_height, m_alpha); - ParticleLayout particle_layout(new Particle(particle_material, ff_pyramid )); + Particle particle(particle_material, ff_pyramid); + ParticleLayout particle_layout(particle); particle_layout.addInterferenceFunction(new InterferenceFunctionNone()); @@ -105,7 +106,7 @@ ISample *IsGISAXS09BBuilder::buildSample() const FormFactorPyramid ff_pyramid(m_length, m_height, m_alpha); - Particle *pyramid = new Particle(particle_material, ff_pyramid); + Particle pyramid(particle_material, ff_pyramid); Geometry::Transform3D transform = Geometry::Transform3D::createRotateZ(m_zangle); diff --git a/Core/StandardSamples/IsGISAXS10Builder.cpp b/Core/StandardSamples/IsGISAXS10Builder.cpp index ae89ec0094cee42e181e83942f5919b355784c10..8ebaae427ae17595a4fac194fc4013bcd1d1c9b2 100644 --- a/Core/StandardSamples/IsGISAXS10Builder.cpp +++ b/Core/StandardSamples/IsGISAXS10Builder.cpp @@ -55,7 +55,8 @@ ISample *IsGISAXS10Builder::buildSample() const p_interference_function->setProbabilityDistribution(pdf); FormFactorCylinder ff_cylinder(m_cylinder_radius, m_cylinder_height); - ParticleLayout particle_layout(new Particle(particle_material, ff_cylinder)); + Particle particle(particle_material, ff_cylinder); + ParticleLayout particle_layout(particle); particle_layout.addInterferenceFunction(p_interference_function); air_layer.addLayout(particle_layout); diff --git a/Core/StandardSamples/IsGISAXS11Builder.cpp b/Core/StandardSamples/IsGISAXS11Builder.cpp index c2e640ce002a708ded4af8468e5756ac21ae46a8..0e0df0b3b9f1f81d33d7924ae721928bd303510f 100644 --- a/Core/StandardSamples/IsGISAXS11Builder.cpp +++ b/Core/StandardSamples/IsGISAXS11Builder.cpp @@ -49,7 +49,7 @@ ISample *IsGISAXS11Builder::buildSample() const kvector_t core_position(0.0, 0.0, 0.0); ParticleCoreShell particle(shell_particle, core_particle, core_position); - ParticleLayout particle_layout(particle.clone()); + ParticleLayout particle_layout(particle); particle_layout.addInterferenceFunction(new InterferenceFunctionNone()); air_layer.addLayout(particle_layout); diff --git a/Core/StandardSamples/MesoCrystal01Builder.cpp b/Core/StandardSamples/MesoCrystal01Builder.cpp index a8a517a72b52117a52aa4733991402e8de7bf203..d3c762362cd808e562191b0ee8e220fb7b472841 100644 --- a/Core/StandardSamples/MesoCrystal01Builder.cpp +++ b/Core/StandardSamples/MesoCrystal01Builder.cpp @@ -24,6 +24,7 @@ #include "Units.h" #include "Materials.h" #include "FormFactorSphereGaussianRadius.h" +#include <boost/scoped_ptr.hpp> MesoCrystal01Builder::MesoCrystal01Builder() @@ -108,11 +109,10 @@ ISample* MesoCrystal01Builder::buildSample() const Geometry::Transform3D::createRotateZ(phi_start + i*phi_step); // Geometry::Transform3D transform2 = // Geometry::Transform3D::createRotateY(alpha_start + j*alpha_step); - particle_layout.addParticle( - createMesoCrystal( - m_lattice_length_a, m_lattice_length_c, - n_particle_adapted, &ff_meso), - transform, m_meso_height); + boost::scoped_ptr<MesoCrystal> meso(createMesoCrystal( + m_lattice_length_a, m_lattice_length_c, + n_particle_adapted, &ff_meso) ); + particle_layout.addParticle(*meso, transform, m_meso_height); } } diff --git a/Core/StandardSamples/PolarizedDWBAMagCylindersBuilder.cpp b/Core/StandardSamples/PolarizedDWBAMagCylindersBuilder.cpp index d4c27927b8066d08b6984a828bb973de8b164578..501a296dbd105a1add7ff90572495de27712f092 100644 --- a/Core/StandardSamples/PolarizedDWBAMagCylindersBuilder.cpp +++ b/Core/StandardSamples/PolarizedDWBAMagCylindersBuilder.cpp @@ -45,7 +45,7 @@ void PolarizedDWBAMagCylinders1Builder::init_parameters() ISample *PolarizedDWBAMagCylinders1Builder::buildSample() const { - MultiLayer *multi_layer = new MultiLayer(); + MultiLayer *multi_layer = new MultiLayer(); HomogeneousMaterial air_material("Air", 0.0, 0.0); HomogeneousMaterial substrate_material("Substrate", 6e-6, 2e-8); @@ -57,9 +57,8 @@ ISample *PolarizedDWBAMagCylinders1Builder::buildSample() const FormFactorCylinder ff_cylinder(m_cylinder_radius, m_cylinder_height); - ParticleLayout particle_layout( - new Particle(particle_material, - ff_cylinder)); + Particle particle(particle_material, ff_cylinder); + ParticleLayout particle_layout(particle); particle_layout.addInterferenceFunction(new InterferenceFunctionNone()); @@ -103,8 +102,8 @@ ISample *PolarizedDWBAMagCylinders2Builder::buildSample() const FormFactorCylinder ff_cylinder(m_cylinder_radius, m_cylinder_height); - ParticleLayout particle_layout( - new Particle(particle_material,ff_cylinder)); + Particle particle(particle_material, ff_cylinder); + ParticleLayout particle_layout(particle); particle_layout.addInterferenceFunction(new InterferenceFunctionNone()); diff --git a/Core/Tools/src/ParameterPool.cpp b/Core/Tools/src/ParameterPool.cpp index fae936bf86eac3e067321edd8574c5e0dde98f03..bd2c981f9f0cf7d3fe99f9c89be59ccb16c4c2af 100644 --- a/Core/Tools/src/ParameterPool.cpp +++ b/Core/Tools/src/ParameterPool.cpp @@ -105,8 +105,6 @@ bool ParameterPool::setParameterValue(const std::string& name, double value) { parameter_t x = getParameter(name); if( x.isNull() ) { -// msglog(MSG::FATAL) << "ParameterPool::setParameterValue() -> Error. No parameter with name '" << name << "'"; -// throw LogicErrorException("ParameterPool::setParameterValue() -> Error. No such parameter"); throw LogicErrorException("ParameterPool::getMatchedParameters() -> Error! " + get_error_message(name)); } x.setValue(value); diff --git a/Tests/FunctionalTests/TestCore/FormFactors/TestFormFactors.cpp b/Tests/FunctionalTests/TestCore/FormFactors/TestFormFactors.cpp index bab5e00e622c2feeacff5302d7d3faaa3d9177fe..f11d08f939fd87ea6648829f83fbf64c2c41c01a 100644 --- a/Tests/FunctionalTests/TestCore/FormFactors/TestFormFactors.cpp +++ b/Tests/FunctionalTests/TestCore/FormFactors/TestFormFactors.cpp @@ -24,8 +24,8 @@ OutputData<double> *run_simulation(IFormFactor *form_factor) Layer air_layer; air_layer.setMaterial(air_material); - ParticleLayout particle_layout( new Particle(particle_material, - *form_factor)); + Particle particle(particle_material, *form_factor); + ParticleLayout particle_layout(particle); particle_layout.addInterferenceFunction(new InterferenceFunctionNone()); air_layer.addLayout(particle_layout); multi_layer.addLayer(air_layer); diff --git a/Tests/FunctionalTests/TestFit/TestFit01/TestFit01.cpp b/Tests/FunctionalTests/TestFit/TestFit01/TestFit01.cpp index f68631cdee261345032bc1eb0affdf1183c73f62..bf96f49c2537710457052b2439e3729cef281aac 100644 --- a/Tests/FunctionalTests/TestFit/TestFit01/TestFit01.cpp +++ b/Tests/FunctionalTests/TestFit/TestFit01/TestFit01.cpp @@ -118,7 +118,8 @@ ISample *TestFit01::buildSample() FormFactorCylinder ff_cylinder(m_cylinder_radius, m_cylinder_height); - ParticleLayout particle_layout( new Particle(particle_material, ff_cylinder)); + Particle particle(particle_material, ff_cylinder); + ParticleLayout particle_layout(particle); particle_layout.addInterferenceFunction(new InterferenceFunctionNone()); air_layer.addLayout(particle_layout); diff --git a/Tests/FunctionalTests/TestFit/TestFit02/SampleBuilder.cpp b/Tests/FunctionalTests/TestFit/TestFit02/SampleBuilder.cpp index 9bd6fc21cf53af643b22d4775cd05d1db525b0e7..34e57b78cbd7d80243c46105f9c1ec0f9bd8a8f6 100644 --- a/Tests/FunctionalTests/TestFit/TestFit02/SampleBuilder.cpp +++ b/Tests/FunctionalTests/TestFit/TestFit02/SampleBuilder.cpp @@ -53,8 +53,10 @@ ISample *SampleBuilder::buildSample() const FormFactorCylinder ff_cylinder(m_cylinder_radius, m_cylinder_height); FormFactorPrism3 ff_prism3(m_prism3_length, m_prism3_height); - particle_layout.addParticle(new Particle(particle_material, ff_cylinder),0.0, m_cylinder_ratio); - particle_layout.addParticle(new Particle(particle_material, ff_prism3), 0.0, 1.0 - m_cylinder_ratio); + Particle particle_cyl(particle_material, ff_cylinder); + Particle particle_prism3(particle_material, ff_prism3); + particle_layout.addParticle(particle_cyl, 0.0, m_cylinder_ratio); + particle_layout.addParticle(particle_prism3, 0.0, 1.0 - m_cylinder_ratio); particle_layout.addInterferenceFunction(new InterferenceFunctionNone()); air_layer.addLayout(particle_layout); diff --git a/Tests/UnitTests/TestCore/ParticleLayoutTest.h b/Tests/UnitTests/TestCore/ParticleLayoutTest.h index d34fbe80fe3e1939c6098c9087b82f4a666e8ad8..831226ae935eef8bd7958aade9049c150844d78c 100644 --- a/Tests/UnitTests/TestCore/ParticleLayoutTest.h +++ b/Tests/UnitTests/TestCore/ParticleLayoutTest.h @@ -46,7 +46,7 @@ TEST_F(ParticleLayoutTest, ParticleLayoutInitByValue) TEST_F(ParticleLayoutTest, ParticleLayoutInitByRef) { HomogeneousMaterial mat("Stone",0,0); - Particle * particle = new Particle(mat); + Particle particle(mat); ParticleLayout particleDecoration(particle, 3.0, -2.0); @@ -102,13 +102,13 @@ TEST_F(ParticleLayoutTest, ParticleLayoutAddParticle) Particle particle1(mat1); HomogeneousMaterial mat2("Stone",0,0); - Particle * particle2 = new Particle(mat2); + Particle particle2(mat2); HomogeneousMaterial mat3("wood",0,0); Particle particle3(mat3); HomogeneousMaterial mat4("silica",0,0); - Particle * particle4 = new Particle(mat4); + Particle particle4(mat4); Geometry::Transform3D transform3 = Geometry::Transform3D::createRotateY(45.*Units::degree); @@ -165,13 +165,13 @@ TEST_F(ParticleLayoutTest, ParticleLayoutAbundanceFraction) Particle particle1(mat1); HomogeneousMaterial mat2("Stone",0,0); - Particle * particle2 = new Particle(mat2); + Particle particle2(mat2); HomogeneousMaterial mat3("wood",0,0); Particle particle3(mat3); HomogeneousMaterial mat4("silica",0,0); - Particle * particle4 = new Particle(mat4); + Particle particle4(mat4); Geometry::Transform3D transform3 = Geometry::Transform3D::createRotateY(45.*Units::degree); @@ -209,13 +209,13 @@ TEST_F(ParticleLayoutTest, ParticleLayoutClone) Particle particle1(mat1); HomogeneousMaterial mat2 ("Stone",0,0); - Particle * particle2 = new Particle(mat2); + Particle particle2(mat2); HomogeneousMaterial mat3("wood",0,0); Particle particle3(mat3); HomogeneousMaterial mat4("silica",0,0); - Particle * particle4 = new Particle(mat4); + Particle particle4(mat4); Geometry::Transform3D transform3 = Geometry::Transform3D::createRotateY(45.*Units::degree); @@ -304,13 +304,13 @@ TEST_F(ParticleLayoutTest, ParticleLayoutCloneInvertB) Particle particle1(mat1); HomogeneousMaterial mat2("Stone",0,0); - Particle * particle2 = new Particle(mat2); + Particle particle2(mat2); HomogeneousMaterial mat3("wood",0,0); Particle particle3(mat3); HomogeneousMaterial mat4("silica",0,0); - Particle * particle4 = new Particle(mat4); + Particle particle4(mat4); Geometry::Transform3D transform3 = Geometry::Transform3D::createRotateY(45.*Units::degree);