diff --git a/App/src/TestMesoCrystal1.cpp b/App/src/TestMesoCrystal1.cpp index 91218d31f6e251e4c6c6f675579abdfece923614..cb8dee64c73a06ac180040075122e0fb3de00ec9 100644 --- a/App/src/TestMesoCrystal1.cpp +++ b/App/src/TestMesoCrystal1.cpp @@ -47,7 +47,6 @@ void TestMesoCrystal1::execute() simulation->runSimulation(); simulation->normalize(); - /* OutputData<double> *data = simulation->getIntensityData(); TCanvas *c1 = DrawHelper::createAndRegisterCanvas("sim_meso_crystal", @@ -69,7 +68,6 @@ void TestMesoCrystal1::execute() OutputDataIOFactory::writeIntensityData(*data,"test_mesocrystal1.txt"); delete data; - */ delete simulation; delete reference; diff --git a/Core/FormFactors/src/FormFactorCrystal.cpp b/Core/FormFactors/src/FormFactorCrystal.cpp index 63df3f83a8378762e822d1078f906fa037e2bc6a..f3fc484413f0029541aa7ba253105dee9b677c03 100644 --- a/Core/FormFactors/src/FormFactorCrystal.cpp +++ b/Core/FormFactors/src/FormFactorCrystal.cpp @@ -23,6 +23,8 @@ FormFactorCrystal::FormFactorCrystal( , m_wavevector_scattering_factor(wavevector_scattering_factor) , mp_ambient_material(p_material) , m_max_rec_length(0.0) +, mP_transform(0) +, mP_inverse_transform(0) { setName("FormFactorCrystal"); mp_lattice_basis = p_crystal.createBasis(); diff --git a/Core/PythonAPI/src/PythonModule.cpp b/Core/PythonAPI/src/PythonModule.cpp index 2a51f8fc11d3a17e47f24080793ba887aba5daa5..0a727595928494a0260be19c78802c3e97777611 100644 --- a/Core/PythonAPI/src/PythonModule.cpp +++ b/Core/PythonAPI/src/PythonModule.cpp @@ -114,6 +114,7 @@ BOOST_PYTHON_MODULE(libBornAgainCore){ register_Beam_class(); register_Bin1D_class(); register_Bin1DCVector_class(); + register_ITransform3D_class(); register_ICloneable_class(); register_ISample_class(); register_ICompositeSample_class(); @@ -144,7 +145,6 @@ BOOST_PYTHON_MODULE(libBornAgainCore){ register_FormFactorSphereGaussianRadius_class(); register_kvector_t_class(); register_cvector_t_class(); - register_ITransform3D_class(); register_RotateY_3D_class(); register_RotateZ_3D_class(); register_IMaterial_class(); diff --git a/Core/Samples/inc/Crystal.h b/Core/Samples/inc/Crystal.h index 57d080b750668728101c7a9fe2dc0b4493ce52ef..81a9a7ed3be33f5a376a4e5bd29e26a85908fa57 100644 --- a/Core/Samples/inc/Crystal.h +++ b/Core/Samples/inc/Crystal.h @@ -44,7 +44,7 @@ public: const IFormFactor& meso_crystal_form_factor, const IMaterial *p_ambient_material, complex_t wavevector_scattering_factor, - const Geometry::ITransform3D& transform) const; + const Geometry::ITransform3D *transform = 0) const; Lattice getLattice() const { return m_lattice; } LatticeBasis *createBasis() const { return mp_lattice_basis->clone(); } diff --git a/Core/Samples/inc/IClusteredParticles.h b/Core/Samples/inc/IClusteredParticles.h index 827815f4873864145da16dc711fcb5fc9db8d78b..137bf6b634ce55328df56c3196c6843720d761e4 100644 --- a/Core/Samples/inc/IClusteredParticles.h +++ b/Core/Samples/inc/IClusteredParticles.h @@ -60,7 +60,7 @@ public: const IFormFactor& meso_crystal_form_factor, const IMaterial *p_ambient_material, complex_t wavevector_scattering_factor, - const Geometry::ITransform3D& transform) const + const Geometry::ITransform3D *transform = 0) const { (void)meso_crystal_form_factor; (void)p_ambient_material; diff --git a/Core/Samples/src/Crystal.cpp b/Core/Samples/src/Crystal.cpp index 69380704aad1efbd1186417d299275889e16e8c6..bcce8cc773ca9be8a80fa8361e65748eba2aca88 100644 --- a/Core/Samples/src/Crystal.cpp +++ b/Core/Samples/src/Crystal.cpp @@ -53,14 +53,14 @@ IFormFactor* Crystal::createTotalFormFactor( const IFormFactor& meso_crystal_form_factor, const IMaterial *p_ambient_material, complex_t wavevector_scattering_factor, - const Geometry::ITransform3D& P_transform) const + const Geometry::ITransform3D *P_transform) const { FormFactorCrystal *p_ff_crystal = new FormFactorCrystal(*this, meso_crystal_form_factor, p_ambient_material, wavevector_scattering_factor); -// if (P_transform.get()) { - p_ff_crystal->setTransformation(P_transform); -// } + if (P_transform) { + p_ff_crystal->setTransformation(*P_transform); + } if (m_dw_factor>0.0) { return new FormFactorDecoratorDebyeWaller(p_ff_crystal, m_dw_factor); } diff --git a/Core/Samples/src/MesoCrystal.cpp b/Core/Samples/src/MesoCrystal.cpp index 870b7581d030f1a18eb8584714878e7cd87a7f90..412457e6bdf3c856ce972b8f7946b6e6a868fdd3 100644 --- a/Core/Samples/src/MesoCrystal.cpp +++ b/Core/Samples/src/MesoCrystal.cpp @@ -72,7 +72,7 @@ IFormFactor* MesoCrystal::createFormFactor( { return mp_particle_structure->createTotalFormFactor( *mp_meso_form_factor, mp_ambient_material, - wavevector_scattering_factor, *mP_transform.get()); + wavevector_scattering_factor, mP_transform.get()); } void MesoCrystal::setSimpleFormFactor(IFormFactor* p_form_factor) diff --git a/dev-tools/log/perf_history.txt b/dev-tools/log/perf_history.txt index 0edb6a5f2bc0b288d790e50b2b19dccd8f7b12c0..48251733844ee7538f39255dacab01e52fb3744e 100644 --- a/dev-tools/log/perf_history.txt +++ b/dev-tools/log/perf_history.txt @@ -288,3 +288,7 @@ # after removing "alpha_f", "phi_f" 2013-11-25 15:42:38 | jcnsopc73 | macosx64, 2800 MHz | 21.978 | 22.9885 | 1.47059 | 740741 | 2013-11-25 15:42:46 | jcnsopc73 | macosx64, 2800 MHz | 22.2222 | 22.7273 | 1.41844 | 800000 | + +# after getting rid of shared_ptr in ITransformation3D +2013-11-26 17:20:01 | jcnsopc73 | macosx64, 2800 MHz | 23.8095 | 23.8095 | 1.48148 | 800000 | +2013-11-26 17:20:51 | jcnsopc73 | macosx64, 2800 MHz | 23.5294 | 23.5294 | 1.48148 | 769231 |