diff --git a/App/src/StandardSamples.cpp b/App/src/StandardSamples.cpp index eb2a958f2a0203671fc525a757a128f229270880..41537a3696dca16c985eac0a96f61f569cc3905b 100644 --- a/App/src/StandardSamples.cpp +++ b/App/src/StandardSamples.cpp @@ -5,7 +5,7 @@ #include "Particle.h" #include "FormFactors.h" #include "Transform3D.h" -#include "NanoParticleDecoration.h" +#include "ParticleDecoration.h" #include "InterferenceFunctionNone.h" #include "LayerDecorator.h" #include "Lattice.h" @@ -249,7 +249,7 @@ ISample *StandardSamples::IsGISAXS1_CylinderAndPrism() air_layer.setMaterial(p_air_material); Layer substrate_layer; substrate_layer.setMaterial(p_substrate_material); - NanoParticleDecoration particle_decoration; + 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()); @@ -274,7 +274,7 @@ ISample *StandardSamples::IsGISAXS2_CylindersMixture() Layer air_layer; air_layer.setMaterial(p_air_material); - NanoParticleDecoration particle_decoration; + ParticleDecoration particle_decoration; // preparing nano particles prototypes for seeding layer's particle_decoration double radius1 = 5*Units::nanometer; @@ -328,7 +328,7 @@ ISample *StandardSamples::IsGISAXS3_CylinderDWBA() air_layer.setMaterial(p_air_material); Layer substrate_layer; substrate_layer.setMaterial(p_substrate_material); - NanoParticleDecoration 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); @@ -346,7 +346,7 @@ ISample *StandardSamples::IsGISAXS3_CylinderBA() const IMaterial *p_air_material = MaterialManager::instance().addHomogeneousMaterial("Air", n_air); Layer air_layer; air_layer.setMaterial(p_air_material); - NanoParticleDecoration 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); @@ -364,7 +364,7 @@ ISample *StandardSamples::IsGISAXS3_CylinderBASize() Layer air_layer; air_layer.setMaterial(p_air_material); - NanoParticleDecoration particle_decoration; + ParticleDecoration particle_decoration; // preparing prototype of nano particle double radius = 5*Units::nanometer; @@ -404,7 +404,7 @@ ISample *StandardSamples::IsGISAXS9_Pyramid() air_layer.setMaterial(p_air_material); Layer substrate_layer; substrate_layer.setMaterial(p_substrate_material); - NanoParticleDecoration particle_decoration( + 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); @@ -437,7 +437,7 @@ ISample *StandardSamples::IsGISAXS9_RotatedPyramid() Geometry::Transform3D *transform = new Geometry::Transform3D(); *transform = Geometry::RotateZ3D(angle_around_z); - NanoParticleDecoration particle_decoration; + ParticleDecoration particle_decoration; particle_decoration.addParticle(pyramid, transform); particle_decoration.addInterferenceFunction(new InterferenceFunctionNone()); @@ -466,7 +466,7 @@ ISample *StandardSamples::IsGISAXS10_CylindersParacrystal1D() Layer substrate_layer; substrate_layer.setMaterial(p_substrate_material); IInterferenceFunction *p_interference_funtion = new InterferenceFunction1DParaCrystal(20.0*Units::nanometer,7*Units::nanometer, 1e7*Units::nanometer); - NanoParticleDecoration 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_funtion); // particle_decoration.setTotalParticleSurfaceDensity(1.0/(20.0*Units::nanometer*20.0*Units::nanometer)); LayerDecorator air_layer_decorator(air_layer, particle_decoration); @@ -515,7 +515,7 @@ ISample *StandardSamples::MesoCrystal1() // IInterferenceFunction *p_interference_funtion = new InterferenceFunctionNone(); IInterferenceFunction *p_interference_funtion = new InterferenceFunction1DParaCrystal(800.0*Units::nanometer, 50*Units::nanometer, 1e7*Units::nanometer); - NanoParticleDecoration particle_decoration(meso.clone(), 0.0, 0.5); + ParticleDecoration particle_decoration(meso.clone(), 0.0, 0.5); particle_decoration.addParticle(meso2.clone(), 0.0, 0.5); particle_decoration.addInterferenceFunction(p_interference_funtion); LayerDecorator air_layer_decorator(air_layer, particle_decoration); @@ -558,7 +558,7 @@ ISample *StandardSamples::MesoCrystal2() Layer substrate_layer; substrate_layer.setMaterial(p_substrate_material); IInterferenceFunction *p_interference_funtion = new InterferenceFunctionNone(); - NanoParticleDecoration particle_decoration; + ParticleDecoration particle_decoration; // double nanoparticle_radius = 5.4*Units::nanometer; diff --git a/App/src/TestDetectorResolution.cpp b/App/src/TestDetectorResolution.cpp index c2afe933a02e1299e45c192a94259773143500dd..e78553e4bfeb50a6895f2f2678e64ab8f984f1b5 100644 --- a/App/src/TestDetectorResolution.cpp +++ b/App/src/TestDetectorResolution.cpp @@ -7,7 +7,7 @@ #include "MultiLayer.h" #include "MaterialManager.h" #include "LayerDecorator.h" -#include "NanoParticleDecoration.h" +#include "ParticleDecoration.h" #include "MathFunctions.h" namespace @@ -64,7 +64,7 @@ void TestDetectorResolution::initializeSample() substrate_layer.setMaterial(p_substrate_material); IInterferenceFunction *p_interference_funtion = new InterferenceFunction1DParaCrystal(20.0*Units::nanometer, 7*Units::nanometer, 1e7*Units::nanometer); - NanoParticleDecoration particle_decoration( + ParticleDecoration particle_decoration( new Particle(n_particle, new FormFactorCylinder(5*Units::nanometer, 5*Units::nanometer))); particle_decoration.addInterferenceFunction(p_interference_funtion); LayerDecorator air_layer_decorator(air_layer, particle_decoration); diff --git a/App/src/TestFittingModule.cpp b/App/src/TestFittingModule.cpp index 6f3c75bcd1cf8c24c51480a294ba44f12f060222..0503dc210b4103bc1319793dc9eea4e00dd8f6ad 100644 --- a/App/src/TestFittingModule.cpp +++ b/App/src/TestFittingModule.cpp @@ -6,7 +6,7 @@ #include "MultiLayer.h" #include "MaterialManager.h" #include "InterferenceFunction1DParaCrystal.h" -#include "NanoParticleDecoration.h" +#include "ParticleDecoration.h" #include "LayerDecorator.h" #include "Particle.h" #include "FormFactors.h" @@ -103,7 +103,7 @@ void TestFittingModule::initializeSample() substrate_layer.setMaterial(p_substrate_material); IInterferenceFunction *p_interference_funtion = new InterferenceFunction1DParaCrystal(20.0*Units::nanometer, 7*Units::nanometer, 1e7*Units::nanometer); - NanoParticleDecoration particle_decoration( + ParticleDecoration particle_decoration( new Particle(n_particle, new FormFactorCylinder(5*Units::nanometer, 5*Units::nanometer)), 0*Units::nanometer, 1.0); particle_decoration.addInterferenceFunction(p_interference_funtion); diff --git a/App/src/TestMesoCrystal.cpp b/App/src/TestMesoCrystal.cpp index e7521d382ff82848bb43408c00c65cdcf6ac9c7d..8aa711f792b8cbf732d1a1b8555c937782755ce2 100644 --- a/App/src/TestMesoCrystal.cpp +++ b/App/src/TestMesoCrystal.cpp @@ -6,7 +6,7 @@ #include "MultiLayer.h" #include "MaterialManager.h" #include "LayerDecorator.h" -#include "NanoParticleDecoration.h" +#include "ParticleDecoration.h" #include "MesoCrystal.h" #include "NanoParticleCrystal.h" #include "FormFactors.h" @@ -94,7 +94,7 @@ void TestMesoCrystal::initializeSample() Layer substrate_layer; substrate_layer.setMaterial(p_substrate_material); IInterferenceFunction *p_interference_funtion = new InterferenceFunctionNone(); - NanoParticleDecoration particle_decoration; + ParticleDecoration particle_decoration; size_t n_phi_rotation_steps = 241; size_t n_alpha_rotation_steps = 7; double phi_step = 2.0*M_PI/3.0/n_phi_rotation_steps; diff --git a/App/src/TestRootTree.cpp b/App/src/TestRootTree.cpp index e808f8d2166e694dcd72d42c28ff26df0e163acf..7220d8eef25d2c75936a4a183a6cb48ffdcc12d4 100644 --- a/App/src/TestRootTree.cpp +++ b/App/src/TestRootTree.cpp @@ -1,7 +1,7 @@ #include "TestRootTree.h" #include "MultiLayer.h" #include "MaterialManager.h" -#include "NanoParticleDecoration.h" +#include "ParticleDecoration.h" #include "Particle.h" #include "LayerDecorator.h" #include "GISASExperiment.h" @@ -392,7 +392,7 @@ void TestRootTree::initializeMesoCrystal(double meso_alpha, double meso_phi, dou Layer substrate_layer; substrate_layer.setMaterial(p_substrate_material); IInterferenceFunction *p_interference_funtion = new InterferenceFunctionNone(); - NanoParticleDecoration particle_decoration; + ParticleDecoration particle_decoration; double R = nanopart_radius; Geometry::RotateZ3D transform1(meso_phi); diff --git a/Core/Algorithms/src/LayerDecoratorDWBASimulation.cpp b/Core/Algorithms/src/LayerDecoratorDWBASimulation.cpp index f07b23824aa7b39f7509d769bba309698745b0e1..b8bbee3b0f373616b111a4bb9fdc28ea1a1ef0e0 100644 --- a/Core/Algorithms/src/LayerDecoratorDWBASimulation.cpp +++ b/Core/Algorithms/src/LayerDecoratorDWBASimulation.cpp @@ -31,7 +31,7 @@ void LayerDecoratorDWBASimulation::run() m_dwba_intensity.resetIndex(); double lambda = 2.0*M_PI/m_ki.mag().real(); complex_t k_iz = -mp_kz_function->evaluate(-m_alpha_i); - const NanoParticleDecoration *p_decoration = mp_layer_decorator->getDecoration(); + const ParticleDecoration *p_decoration = mp_layer_decorator->getDecoration(); complex_t n_layer = mp_layer_decorator->getRefractiveIndex(); size_t number_of_particles = p_decoration->getNumberOfParticles(); std::vector<IFormFactor *> form_factors; diff --git a/Core/Core.pro b/Core/Core.pro index 6e11201c5dc739b7c7903c37f536de6efb10c483..9e6b4b33d2eca9351b08b9d8f9ea7525f9cbc9ef 100644 --- a/Core/Core.pro +++ b/Core/Core.pro @@ -74,7 +74,7 @@ SOURCES += \ Samples/src/NanoParticleBuilder.cpp \ Samples/src/NanoParticleCrystal.cpp \ Samples/src/NanoParticleCrystalFormFactor.cpp \ - Samples/src/NanoParticleDecoration.cpp \ + Samples/src/ParticleDecoration.cpp \ Samples/src/ParticleInfo.cpp \ Samples/src/ParameterPool.cpp \ Samples/src/WeightedFormFactor.cpp \ @@ -175,7 +175,7 @@ HEADERS += \ Samples/inc/NanoParticleBuilder.h \ Samples/inc/NanoParticleCrystal.h \ Samples/inc/NanoParticleCrystalFormFactor.h \ - Samples/inc/NanoParticleDecoration.h \ + Samples/inc/ParticleDecoration.h \ Samples/inc/ParticleInfo.h \ Samples/inc/ParameterPool.h \ Samples/inc/WeightedFormFactor.h \ diff --git a/Core/PythonAPI/src/PythonInterface_classes_1.cpp b/Core/PythonAPI/src/PythonInterface_classes_1.cpp index 28cecc6d5c1385484557c76e079a6587ee68479f..8056a73557365f2ae8470b0caa26a37369f9ba01 100644 --- a/Core/PythonAPI/src/PythonInterface_classes_1.cpp +++ b/Core/PythonAPI/src/PythonInterface_classes_1.cpp @@ -28,7 +28,7 @@ #include "MultiLayer.h" #include "Particle.h" #include "NanoParticleCrystal.h" -#include "NanoParticleDecoration.h" +#include "ParticleDecoration.h" #include "OpticalFresnel.h" #include "ParameterPool.h" #include "PythonOutputData.h" diff --git a/Core/PythonAPI/src/PythonInterface_classes_2.cpp b/Core/PythonAPI/src/PythonInterface_classes_2.cpp index 7992c7d966dd685951a7f79810dee6a8006ae85f..6f07004c9172f2b748d099f4d24d11186813e829 100644 --- a/Core/PythonAPI/src/PythonInterface_classes_2.cpp +++ b/Core/PythonAPI/src/PythonInterface_classes_2.cpp @@ -27,7 +27,7 @@ #include "MultiLayer.h" #include "Particle.h" #include "NanoParticleCrystal.h" -#include "NanoParticleDecoration.h" +#include "ParticleDecoration.h" #include "OpticalFresnel.h" #include "ParameterPool.h" #include "PythonOutputData.h" diff --git a/Core/PythonAPI/src/PythonInterface_classes_3.cpp b/Core/PythonAPI/src/PythonInterface_classes_3.cpp index a8048bdbfcc327f4afb67d82a4ab970afd52d1d1..64fc2dfa490eba9c7f2d1f67dd76e61687c642c5 100644 --- a/Core/PythonAPI/src/PythonInterface_classes_3.cpp +++ b/Core/PythonAPI/src/PythonInterface_classes_3.cpp @@ -27,7 +27,7 @@ #include "MultiLayer.h" #include "Particle.h" #include "NanoParticleCrystal.h" -#include "NanoParticleDecoration.h" +#include "ParticleDecoration.h" #include "OpticalFresnel.h" #include "ParameterPool.h" #include "PythonOutputData.h" @@ -249,7 +249,7 @@ struct LayerDecorator_wrapper : LayerDecorator, bp::wrapper< LayerDecorator > { } - LayerDecorator_wrapper(::Layer const & layer, ::NanoParticleDecoration const & decoration ) + LayerDecorator_wrapper(::Layer const & layer, ::ParticleDecoration const & decoration ) : LayerDecorator( boost::ref(layer), boost::ref(decoration) ) , bp::wrapper< LayerDecorator >(){ // constructor @@ -491,11 +491,11 @@ struct NanoParticleCrystal_wrapper : NanoParticleCrystal, bp::wrapper< NanoParti }; -struct NanoParticleDecoration_wrapper : NanoParticleDecoration, bp::wrapper< NanoParticleDecoration > { +struct NanoParticleDecoration_wrapper : ParticleDecoration, bp::wrapper< ParticleDecoration > { NanoParticleDecoration_wrapper( ) - : NanoParticleDecoration( ) - , bp::wrapper< NanoParticleDecoration >(){ + : ParticleDecoration( ) + , bp::wrapper< ParticleDecoration >(){ // null constructor } @@ -645,7 +645,7 @@ void register_classes_3(){ bp::class_< LayerDecorator_wrapper, bp::bases< Layer > >( "LayerDecorator", bp::init< Layer const & >(( bp::arg("layer") )) ) .def( bp::init< LayerDecorator const & >(( bp::arg("layer") )) ) - .def( bp::init< Layer const &, NanoParticleDecoration const & >(( bp::arg("layer"), bp::arg("decoration") )) ) + .def( bp::init< Layer const &, ParticleDecoration const & >(( bp::arg("layer"), bp::arg("decoration") )) ) .def( "createParameterTree" , (::ParameterPool * ( ::ISample::* )( ) )(&::ISample::createParameterTree) @@ -848,19 +848,19 @@ void register_classes_3(){ bp::class_< NanoParticleDecoration_wrapper, boost::noncopyable >( "NanoParticleDecoration", bp::init< >() ) .def( "addInterferenceFunction" - , (void ( ::NanoParticleDecoration::* )( ::IInterferenceFunction const & ) )( &::NanoParticleDecoration::addInterferenceFunction ) + , (void ( ::ParticleDecoration::* )( ::IInterferenceFunction const & ) )( &::ParticleDecoration::addInterferenceFunction ) , ( bp::arg("interference_function") ) ) .def( "addNanoParticle" - , (void ( ::NanoParticleDecoration::* )( ::Particle const &,::Geometry::Transform3D const &,double,double ) )( &::NanoParticleDecoration::addParticle ) + , (void ( ::ParticleDecoration::* )( ::Particle const &,::Geometry::Transform3D const &,double,double ) )( &::ParticleDecoration::addParticle ) , ( bp::arg("p_particle"), bp::arg("transform"), bp::arg("depth")=0, bp::arg("abundance")=1.0e+0 ) ) .def( "addNanoParticle" - , (void ( ::NanoParticleDecoration::* )( ::Particle const &,double,double ) )( &::NanoParticleDecoration::addParticle ) + , (void ( ::ParticleDecoration::* )( ::Particle const &,double,double ) )( &::ParticleDecoration::addParticle ) , ( bp::arg("p_particle"), bp::arg("depth")=0.0, bp::arg("abundance")=1.0e+0 ) ) .def( "setTotalParticleSurfaceDensity" - , (void ( ::NanoParticleDecoration::* )( double ) )( &::NanoParticleDecoration::setTotalParticleSurfaceDensity ) + , (void ( ::ParticleDecoration::* )( double ) )( &::ParticleDecoration::setTotalParticleSurfaceDensity ) , ( bp::arg("surface_density") ) ) .def( "createParameterTree" diff --git a/Core/PythonAPI/src/PythonInterface_free_functions.cpp b/Core/PythonAPI/src/PythonInterface_free_functions.cpp index b8efd45d78a25fe7851f2e5dc88f132eb60651ca..82f36440a6e5c6feb43886ba47eeafa7db67879b 100644 --- a/Core/PythonAPI/src/PythonInterface_free_functions.cpp +++ b/Core/PythonAPI/src/PythonInterface_free_functions.cpp @@ -27,7 +27,7 @@ #include "MultiLayer.h" #include "Particle.h" #include "NanoParticleCrystal.h" -#include "NanoParticleDecoration.h" +#include "ParticleDecoration.h" #include "OpticalFresnel.h" #include "ParameterPool.h" #include "PythonOutputData.h" diff --git a/Core/PythonAPI/src/PythonInterface_global_variables.cpp b/Core/PythonAPI/src/PythonInterface_global_variables.cpp index 51a0f8e3e0b184dbbd4f3730677747770a7d8310..4001bcafebd731964b679840d2f80d2cccd4fcc8 100644 --- a/Core/PythonAPI/src/PythonInterface_global_variables.cpp +++ b/Core/PythonAPI/src/PythonInterface_global_variables.cpp @@ -27,7 +27,7 @@ #include "MultiLayer.h" #include "Particle.h" #include "NanoParticleCrystal.h" -#include "NanoParticleDecoration.h" +#include "ParticleDecoration.h" #include "OpticalFresnel.h" #include "ParameterPool.h" #include "PythonOutputData.h" diff --git a/Core/Samples/inc/LayerDecorator.h b/Core/Samples/inc/LayerDecorator.h index b95012ee9322119c54769908788f093bbca03c20..a2280121db0a5913e39d2364b3b7b954b8dedde6 100644 --- a/Core/Samples/inc/LayerDecorator.h +++ b/Core/Samples/inc/LayerDecorator.h @@ -15,15 +15,15 @@ //! @date Jun 22, 2012 #include "Layer.h" -#include "NanoParticleDecoration.h" +#include "ParticleDecoration.h" #include "LayerDecoratorDWBASimulation.h" class LayerDecorator : public Layer { public: LayerDecorator(const Layer &layer); + LayerDecorator(const Layer &layer, const ParticleDecoration &decoration); LayerDecorator(const LayerDecorator &layer); - LayerDecorator(const Layer &layer, const NanoParticleDecoration &decoration); virtual ~LayerDecorator(); /// make layer's clone @@ -62,8 +62,8 @@ public: virtual void init_parameters(); const Layer* getDecoratedLayer() const { return mp_decorated_layer; } - const NanoParticleDecoration* getDecoration() const { return mp_decoration; } - void setDecoration(NanoParticleDecoration* mpDecoration) { mp_decoration = mpDecoration; } + const ParticleDecoration* getDecoration() const { return mp_decoration; } + void setDecoration(ParticleDecoration* mpDecoration) { mp_decoration = mpDecoration; } virtual bool hasDWBASimulation() const { return true; } @@ -76,7 +76,7 @@ public: protected: Layer *mp_decorated_layer; - NanoParticleDecoration *mp_decoration; + ParticleDecoration *mp_decoration; private: //! copy constructor and assignment operator are hidden since there is a clone method diff --git a/Core/Samples/inc/NanoParticleBuilder.h b/Core/Samples/inc/NanoParticleBuilder.h index 66a12bfd229b620506d04c90398ea45baba32a8c..6fe36539c02e2a964c8d34b184e8df67e894a2ed 100644 --- a/Core/Samples/inc/NanoParticleBuilder.h +++ b/Core/Samples/inc/NanoParticleBuilder.h @@ -1,5 +1,5 @@ -#ifndef NANOPARTICLEBUILDER_H -#define NANOPARTICLEBUILDER_H +#ifndef PARTICLEBUILDER_H +#define PARTICLEBUILDER_H // ******************************************************************** // * The BornAgain project * // * Simulation of neutron and x-ray scattering at grazing incidence * @@ -16,15 +16,15 @@ #include "Particle.h" #include "IStochasticParameter.h" -#include "NanoParticleDecoration.h" +#include "ParticleDecoration.h" //- ------------------------------------------------------------------- //! @class NanoParticleBuilder -//! @brief To build set of nanoparticles with similar properties +//! @brief To build set of particles with similar properties //! -//! currently produces nano particles but probably can produce directly -//! NanoParticleInfo, or even ISample +//! currently produces particles but probably can produce directly +//! ParticleInfo, or even ISample //- ------------------------------------------------------------------- class NanoParticleBuilder { @@ -33,14 +33,14 @@ public: virtual ~NanoParticleBuilder(); //! set prototype for nano particle production - //! @param particle prototype of nano particle + //! @param particle prototype of particle //! @param name parameter name in the parameter pool of given prototype //! @param parameter variation type //! @param scale global scale factor for probabilities void setPrototype(const Particle &particle, std::string name, const StochasticParameter<double> ¶m, double scale=1.0); //! plant nano particles in given decoration - void plantNanoParticles(NanoParticleDecoration &decor); + void plantNanoParticles(ParticleDecoration &decor); private: Particle *m_prototype; //!< prototype of the particle, all particles will be cloned from it @@ -50,4 +50,4 @@ private: }; -#endif // NANOPARTICLEBUILDER_H +#endif // PARTICLEBUILDER_H diff --git a/Core/Samples/inc/NanoParticleDecoration.h b/Core/Samples/inc/ParticleDecoration.h similarity index 85% rename from Core/Samples/inc/NanoParticleDecoration.h rename to Core/Samples/inc/ParticleDecoration.h index c7acfeaacb061fb635812e8d00d746f97997dfdb..1c3ba966290241c93706a6fe345716dcc3a520cc 100644 --- a/Core/Samples/inc/NanoParticleDecoration.h +++ b/Core/Samples/inc/ParticleDecoration.h @@ -1,5 +1,5 @@ -#ifndef NANOPARTICLEDECORATION_H -#define NANOPARTICLEDECORATION_H +#ifndef PARTICLEDECORATION_H +#define PARTICLEDECORATION_H // ******************************************************************** // * The BornAgain project * // * Simulation of neutron and x-ray scattering at grazing incidence * @@ -9,7 +9,7 @@ // * eget quam orci. Quisque porta varius dui, quis posuere nibh * // * mollis quis. Mauris commodo rhoncus porttitor. * // ******************************************************************** -//! @file NanoParticleDecoration.h +//! @file ParticleDecoration.h //! @brief Definition of NanoParticleDecoration //! @author Scientific Computing Group at FRM II //! @date 23.05.2012 @@ -22,18 +22,18 @@ #include "Transform3D.h" //- ------------------------------------------------------------------- -//! @class NanoParticleDecoration -//! @brief Definition of decorator class that adds nano particles to ISample objects +//! @class ParticleDecoration +//! @brief Definition of decorator class that adds particles to ISample objects //- ------------------------------------------------------------------- -class NanoParticleDecoration : public IDecoration +class ParticleDecoration : public IDecoration { public: - NanoParticleDecoration(); - NanoParticleDecoration(Particle *p_particle, double depth=0.0, double abundance=1.0); - virtual ~NanoParticleDecoration(); + ParticleDecoration(); + ParticleDecoration(Particle *p_particle, double depth=0.0, double abundance=1.0); + virtual ~ParticleDecoration(); /// Clone decoration - virtual NanoParticleDecoration *clone() const; + virtual ParticleDecoration *clone() const; /// add nano particle giving depth and transformation @@ -76,8 +76,8 @@ public: private: /// copy constructor and assignment operator are hidden since there is a clone method - NanoParticleDecoration(const NanoParticleDecoration &); - NanoParticleDecoration &operator=(const NanoParticleDecoration &); + ParticleDecoration(const ParticleDecoration &); + ParticleDecoration &operator=(const ParticleDecoration &); //! adding nano particle information with simultaneous registration in parent class void addAndRegisterParticleInfo(ParticleInfo *child) @@ -104,4 +104,4 @@ private: }; -#endif // NANOPARTICLEDECORATION_H +#endif // PARTICLEDECORATION_H diff --git a/Core/Samples/src/LayerDecorator.cpp b/Core/Samples/src/LayerDecorator.cpp index 5ebef72d89a63b04b086f3dd3de89b3c7be5249f..e976bf8737951702755a4b9b5b1a6f71a5978c0f 100644 --- a/Core/Samples/src/LayerDecorator.cpp +++ b/Core/Samples/src/LayerDecorator.cpp @@ -7,7 +7,7 @@ LayerDecorator::LayerDecorator(const Layer &layer) } LayerDecorator::LayerDecorator(const Layer &layer, - const NanoParticleDecoration &decoration) + const ParticleDecoration &decoration) : mp_decorated_layer(layer.clone()) , mp_decoration(decoration.clone()) { diff --git a/Core/Samples/src/NanoParticleBuilder.cpp b/Core/Samples/src/NanoParticleBuilder.cpp index d8d7a1d48d7ffc766d61775a19a28bbf94240228..c210591896d5c81abccc28584ab6d8e9c6423169 100644 --- a/Core/Samples/src/NanoParticleBuilder.cpp +++ b/Core/Samples/src/NanoParticleBuilder.cpp @@ -1,5 +1,5 @@ #include "NanoParticleBuilder.h" -#include "NanoParticleDecoration.h" +#include "ParticleDecoration.h" #include "Numeric.h" #include "StochasticSampledParameter.h" @@ -36,7 +36,7 @@ void NanoParticleBuilder::setPrototype(const Particle &particle, std::string nam /* ************************************************************************* */ // plant nano particles in given decoration /* ************************************************************************* */ -void NanoParticleBuilder::plantNanoParticles(NanoParticleDecoration &decor) +void NanoParticleBuilder::plantNanoParticles(ParticleDecoration &decor) { if( !m_prototype ) throw NullPointerException("NanoParticleBuilder::plantNanoParticle() -> Error. No prototype is defined"); diff --git a/Core/Samples/src/NanoParticleDecoration.cpp b/Core/Samples/src/ParticleDecoration.cpp similarity index 76% rename from Core/Samples/src/NanoParticleDecoration.cpp rename to Core/Samples/src/ParticleDecoration.cpp index c1feac0d3d27160872ac574f45979613e1ec848a..13c207de9f203e8d4c73f4367f32f4ac583a4311 100644 --- a/Core/Samples/src/NanoParticleDecoration.cpp +++ b/Core/Samples/src/ParticleDecoration.cpp @@ -1,17 +1,17 @@ -#include "NanoParticleDecoration.h" +#include "ParticleDecoration.h" #include "InterferenceFunctionNone.h" #include "DecouplingApproximationStrategy.h" #include "LocalMonodisperseApproximationStrategy.h" /* ************************************************************************* */ -NanoParticleDecoration::NanoParticleDecoration() +ParticleDecoration::ParticleDecoration() : m_total_abundance(0.0) , m_total_particle_surface_density(1.0) { setName("NanoParticleDecoration"); } -NanoParticleDecoration::NanoParticleDecoration(Particle* p_particle, double depth, double abundance) +ParticleDecoration::ParticleDecoration(Particle* p_particle, double depth, double abundance) : m_total_abundance(0.0) , m_total_particle_surface_density(1.0) { @@ -19,7 +19,7 @@ NanoParticleDecoration::NanoParticleDecoration(Particle* p_particle, double dept addParticle(p_particle, 0, depth, abundance); } -NanoParticleDecoration::~NanoParticleDecoration() +ParticleDecoration::~ParticleDecoration() { for (size_t i=0; i<m_particles.size(); ++i) { delete m_particles[i]; @@ -31,9 +31,9 @@ NanoParticleDecoration::~NanoParticleDecoration() } -NanoParticleDecoration* NanoParticleDecoration::clone() const +ParticleDecoration* ParticleDecoration::clone() const { - NanoParticleDecoration *p_new = new NanoParticleDecoration(); + ParticleDecoration *p_new = new ParticleDecoration(); p_new->setName(getName()); for (size_t i=0; i<m_particles.size(); ++i) { @@ -54,26 +54,26 @@ NanoParticleDecoration* NanoParticleDecoration::clone() const /* ************************************************************************* */ // add nano particle /* ************************************************************************* */ -void NanoParticleDecoration::addParticle(Particle* p_particle, +void ParticleDecoration::addParticle(Particle* p_particle, double depth, double abundance) { addParticle(p_particle, 0, depth, abundance); } -void NanoParticleDecoration::addParticle(const Particle &p_particle, +void ParticleDecoration::addParticle(const Particle &p_particle, double depth, double abundance) { addParticle(p_particle.clone(), 0, depth, abundance); } -void NanoParticleDecoration::addParticle(const Particle &p_particle, +void ParticleDecoration::addParticle(const Particle &p_particle, const Geometry::Transform3D &transform, double depth, double abundance) { addParticle(p_particle.clone(), new Geometry::Transform3D(transform), depth, abundance); } // main function to add nano particle -void NanoParticleDecoration::addParticle(Particle* p_particle, +void ParticleDecoration::addParticle(Particle* p_particle, Geometry::Transform3D *transform, double depth, double abundance) { addAndRegisterParticleInfo( new ParticleInfo(p_particle, transform, depth, abundance) ); @@ -82,7 +82,7 @@ void NanoParticleDecoration::addParticle(Particle* p_particle, /* ************************************************************************* */ // add nano particle info /* ************************************************************************* */ -void NanoParticleDecoration::addParticleInfo(const ParticleInfo &info) +void ParticleDecoration::addParticleInfo(const ParticleInfo &info) { addAndRegisterParticleInfo( info.clone() ); } @@ -90,7 +90,7 @@ void NanoParticleDecoration::addParticleInfo(const ParticleInfo &info) /* ************************************************************************* */ // get nano particle info /* ************************************************************************* */ -const ParticleInfo* NanoParticleDecoration::getParticleInfo(size_t index) const +const ParticleInfo* ParticleDecoration::getParticleInfo(size_t index) const { if (index<m_particles.size()) { return m_particles[index]; @@ -98,7 +98,7 @@ const ParticleInfo* NanoParticleDecoration::getParticleInfo(size_t index) const throw OutOfBoundsException("Not so many interference functions in this decoration."); } -double NanoParticleDecoration::getAbundanceFractionOfParticle(size_t index) const +double ParticleDecoration::getAbundanceFractionOfParticle(size_t index) const { return getParticleInfo(index)->getAbundance()/m_total_abundance; } @@ -107,17 +107,17 @@ double NanoParticleDecoration::getAbundanceFractionOfParticle(size_t index) cons /* ************************************************************************* */ // add interference functions /* ************************************************************************* */ -void NanoParticleDecoration::addInterferenceFunction(IInterferenceFunction* p_interference_function) +void ParticleDecoration::addInterferenceFunction(IInterferenceFunction* p_interference_function) { addAndRegisterInterferenceFunction(p_interference_function); } -void NanoParticleDecoration::addInterferenceFunction(const IInterferenceFunction &interference_function) +void ParticleDecoration::addInterferenceFunction(const IInterferenceFunction &interference_function) { addAndRegisterInterferenceFunction(interference_function.clone()); } -const IInterferenceFunction* NanoParticleDecoration::getInterferenceFunction(size_t index) const +const IInterferenceFunction* ParticleDecoration::getInterferenceFunction(size_t index) const { if (index<m_interference_functions.size()) { return m_interference_functions[index]; @@ -129,7 +129,7 @@ const IInterferenceFunction* NanoParticleDecoration::getInterferenceFunction(siz /* ************************************************************************* */ // create strategy /* ************************************************************************* */ -IInterferenceFunctionStrategy* NanoParticleDecoration::createStrategy( +IInterferenceFunctionStrategy* ParticleDecoration::createStrategy( const std::vector<IFormFactor*>& form_factors) const { std::vector<double> fractions;