diff --git a/Core/PythonAPI/src/ParticleDistribution.pypp.cpp b/Core/PythonAPI/src/ParticleDistribution.pypp.cpp index 098552835147d60fb04ae3641934bb6d90a1dd4e..83ba92f448874033026f8f230bb6b937ce243159 100644 --- a/Core/PythonAPI/src/ParticleDistribution.pypp.cpp +++ b/Core/PythonAPI/src/ParticleDistribution.pypp.cpp @@ -369,6 +369,16 @@ void register_ParticleDistribution_class(){ "getParameterDistribution" , getParameterDistribution_function_type( &::ParticleDistribution::getParameterDistribution ) ); + } + { //::ParticleDistribution::getParticle + + typedef ::IParticle const * ( ::ParticleDistribution::*getParticle_function_type)( ) const; + + ParticleDistribution_exposer.def( + "getParticle" + , getParticle_function_type( &::ParticleDistribution::getParticle ) + , bp::return_value_policy< bp::reference_existing_object >() ); + } { //::ParticleDistribution::setAmbientMaterial diff --git a/Core/PythonAPI/src/PythonInterface_global_variables.pypp.cpp b/Core/PythonAPI/src/PythonInterface_global_variables.pypp.cpp index dd4f7cd2569bce32b8c86e466300d1d7bb335911..ee941ecde939e6a355f3fc3d73cf57f76365901a 100644 --- a/Core/PythonAPI/src/PythonInterface_global_variables.pypp.cpp +++ b/Core/PythonAPI/src/PythonInterface_global_variables.pypp.cpp @@ -34,6 +34,8 @@ void register_global_variables(){ bp::scope().attr("PID2") = Units::PID2; + bp::scope().attr("PID4") = Units::PID4; + bp::scope().attr("PI_SQR") = Units::PI_SQR; bp::scope().attr("angstrom") = Units::angstrom; diff --git a/Core/PythonAPI/src/PythonModule.cpp b/Core/PythonAPI/src/PythonModule.cpp index 9fb4fd79131ff4cf69466ce4fcf046029d3ef6c6..7ca468238bece5c517a5e02a985903310ba70c82 100644 --- a/Core/PythonAPI/src/PythonModule.cpp +++ b/Core/PythonAPI/src/PythonModule.cpp @@ -10,134 +10,134 @@ GCC_DIAG_ON(missing-field-initializers) #define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION #define PY_ARRAY_UNIQUE_SYMBOL BORNAGAIN_PYTHONAPI_ARRAY #include "numpy/arrayobject.h" -#include "FormFactorFullSphere.pypp.h" -#include "Lattice.pypp.h" -#include "FormFactorInfLongBox.pypp.h" -#include "Layer.pypp.h" -#include "FormFactorHemiEllipsoid.pypp.h" -#include "FormFactorPrism3.pypp.h" +#include "FormFactorFullSpheroid.pypp.h" +#include "DistributionGate.pypp.h" +#include "SimpleSelectionRule.pypp.h" +#include "RealParameterWrapper.pypp.h" +#include "vdouble1d_t.pypp.h" #include "SimulationParameters.pypp.h" -#include "FormFactorInfLongRipple1.pypp.h" -#include "FTDistribution1DVoigt.pypp.h" -#include "FormFactorRipple1.pypp.h" -#include "ParticleInfo.pypp.h" -#include "ICompositeSample.pypp.h" -#include "OffSpecSimulation.pypp.h" -#include "IResolutionFunction2D.pypp.h" -#include "vector_kvector_t.pypp.h" -#include "FTDistribution1DGate.pypp.h" -#include "FormFactorRipple2.pypp.h" -#include "FTDistribution2DVoigt.pypp.h" -#include "IFormFactorBorn.pypp.h" -#include "FormFactorPyramid.pypp.h" -#include "ISample.pypp.h" +#include "ThreadInfo.pypp.h" +#include "InterferenceFunction2DLattice.pypp.h" +#include "LayerInterface.pypp.h" #include "ILayout.pypp.h" +#include "FormFactorCone6.pypp.h" #include "FormFactorTetrahedron.pypp.h" -#include "Simulation.pypp.h" -#include "ParticleLayout.pypp.h" -#include "IRotation.pypp.h" -#include "FTDistribution2DCone.pypp.h" -#include "FormFactorEllipsoidalCylinder.pypp.h" -#include "FTDistribution1DGauss.pypp.h" -#include "HomogeneousMaterial.pypp.h" -#include "cvector_t.pypp.h" -#include "FTDistribution2DGauss.pypp.h" -#include "IObservable.pypp.h" -#include "FormFactorBox.pypp.h" -#include "DistributionLogNormal.pypp.h" -#include "FormFactorCylinder.pypp.h" -#include "Detector.pypp.h" -#include "RotationZ.pypp.h" -#include "IObserver.pypp.h" -#include "ResolutionFunction2DGaussian.pypp.h" -#include "IParameterized.pypp.h" -#include "FormFactorGauss.pypp.h" -#include "FormFactorDecoratorDebyeWaller.pypp.h" -#include "IDetectorResolution.pypp.h" +#include "FTDistribution1DCosine.pypp.h" +#include "FTDistribution1DTriangle.pypp.h" #include "FormFactorWeighted.pypp.h" -#include "InterferenceFunction2DLattice.pypp.h" -#include "RealParameterWrapper.pypp.h" -#include "LayerInterface.pypp.h" -#include "ParticleCoreShell.pypp.h" -#include "FormFactorTruncatedCube.pypp.h" -#include "InterferenceFunction1DLattice.pypp.h" -#include "FormFactorCrystal.pypp.h" -#include "Instrument.pypp.h" -#include "PythonInterface_global_variables.pypp.h" -#include "ParticleDistribution.pypp.h" -#include "IFTDistribution1D.pypp.h" -#include "FormFactorTrivial.pypp.h" +#include "InterferenceFunctionRadialParaCrystal.pypp.h" #include "DistributionGaussian.pypp.h" -#include "Lattice1DIFParameters.pypp.h" -#include "DistributionCosine.pypp.h" -#include "IClusteredParticles.pypp.h" -#include "FormFactorLorentz.pypp.h" -#include "Bin1DCVector.pypp.h" +#include "IDetectorResolution.pypp.h" +#include "FormFactorCylinder.pypp.h" +#include "Crystal.pypp.h" +#include "FTDistribution1DCauchy.pypp.h" +#include "IFormFactorBorn.pypp.h" +#include "FormFactorEllipsoidalCylinder.pypp.h" #include "InterferenceFunctionNone.pypp.h" -#include "IFormFactorDecorator.pypp.h" -#include "Bin1D.pypp.h" -#include "ISampleBuilder.pypp.h" -#include "IntensityDataIOFactory.pypp.h" #include "FTDistribution2DGate.pypp.h" -#include "FormFactorInfLongRipple2.pypp.h" -#include "IMaterial.pypp.h" -#include "InterferenceFunction2DParaCrystal.pypp.h" -#include "Particle.pypp.h" +#include "vector_kvector_t.pypp.h" #include "FormFactorTruncatedSpheroid.pypp.h" -#include "MesoCrystal.pypp.h" +#include "Particle.pypp.h" +#include "FormFactorTrivial.pypp.h" +#include "ConstKBinAxis.pypp.h" #include "FTDistribution2DCauchy.pypp.h" -#include "IInterferenceFunction.pypp.h" -#include "FTDistribution1DCosine.pypp.h" -#include "IParticle.pypp.h" -#include "FTDistribution1DTriangle.pypp.h" -#include "FormFactorPrism6.pypp.h" -#include "HomogeneousMagneticMaterial.pypp.h" -#include "FormFactorFullSpheroid.pypp.h" -#include "IntensityData.pypp.h" -#include "DistributionGate.pypp.h" -#include "ThreadInfo.pypp.h" -#include "IAxis.pypp.h" -#include "CustomBinAxis.pypp.h" -#include "FormFactorCone6.pypp.h" -#include "ICloneable.pypp.h" -#include "PythonInterface_free_functions.pypp.h" +#include "FormFactorCrystal.pypp.h" +#include "ParticleDistribution.pypp.h" #include "vector_longinteger_t.pypp.h" -#include "FormFactorSphereLogNormalRadius.pypp.h" -#include "FormFactorSphereGaussianRadius.pypp.h" -#include "FormFactorTruncatedSphere.pypp.h" -#include "IntensityDataFunctions.pypp.h" -#include "DistributionLorentz.pypp.h" -#include "ParticleComposition.pypp.h" -#include "ConstKBinAxis.pypp.h" -#include "ParameterDistribution.pypp.h" -#include "ParameterPool.pypp.h" -#include "vector_complex_t.pypp.h" -#include "SpecularSimulation.pypp.h" +#include "ResolutionFunction2DGaussian.pypp.h" +#include "FTDistribution1DGauss.pypp.h" +#include "FTDistribution1DGate.pypp.h" #include "FormFactorAnisoPyramid.pypp.h" -#include "FormFactorCuboctahedron.pypp.h" +#include "FixedBinAxis.pypp.h" #include "MultiLayer.pypp.h" -#include "FormFactorCone.pypp.h" -#include "IDistribution1D.pypp.h" -#include "AttLimits.pypp.h" +#include "IFormFactor.pypp.h" +#include "kvector_t.pypp.h" +#include "FormFactorSphereUniformRadius.pypp.h" +#include "OffSpecSimulation.pypp.h" +#include "FormFactorRipple1.pypp.h" +#include "Simulation.pypp.h" +#include "IObservable.pypp.h" +#include "FormFactorLorentz.pypp.h" +#include "SpecularSimulation.pypp.h" +#include "ISelectionRule.pypp.h" +#include "FormFactorRipple2.pypp.h" +#include "RotationZ.pypp.h" #include "LayerRoughness.pypp.h" +#include "Bin1DCVector.pypp.h" +#include "FormFactorSphereGaussianRadius.pypp.h" +#include "ParameterPool.pypp.h" +#include "FormFactorPrism3.pypp.h" +#include "IMaterial.pypp.h" +#include "FTDistribution1DVoigt.pypp.h" +#include "IntensityDataFunctions.pypp.h" +#include "FormFactorPrism6.pypp.h" +#include "IClusteredParticles.pypp.h" #include "VariableBinAxis.pypp.h" -#include "SimpleSelectionRule.pypp.h" -#include "RotationEuler.pypp.h" -#include "FixedBinAxis.pypp.h" -#include "InterferenceFunctionRadialParaCrystal.pypp.h" -#include "Lattice2DIFParameters.pypp.h" -#include "IFormFactor.pypp.h" -#include "vdouble1d_t.pypp.h" +#include "IParticle.pypp.h" +#include "DistributionCosine.pypp.h" +#include "FormFactorHemiEllipsoid.pypp.h" +#include "IAxis.pypp.h" +#include "vector_integer_t.pypp.h" +#include "IntensityDataIOFactory.pypp.h" +#include "ParameterDistribution.pypp.h" +#include "Layer.pypp.h" +#include "FormFactorPyramid.pypp.h" #include "RotationY.pypp.h" -#include "IFTDistribution2D.pypp.h" +#include "CustomBinAxis.pypp.h" +#include "FTDistribution2DCone.pypp.h" +#include "IFTDistribution1D.pypp.h" +#include "DistributionLorentz.pypp.h" +#include "IDistribution1D.pypp.h" +#include "HomogeneousMagneticMaterial.pypp.h" +#include "FormFactorTruncatedCube.pypp.h" +#include "FormFactorCuboctahedron.pypp.h" +#include "cvector_t.pypp.h" +#include "PythonInterface_free_functions.pypp.h" +#include "FormFactorSphereLogNormalRadius.pypp.h" +#include "FormFactorInfLongRipple1.pypp.h" +#include "IResolutionFunction2D.pypp.h" +#include "FormFactorFullSphere.pypp.h" +#include "ParticleLayout.pypp.h" +#include "FormFactorBox.pypp.h" +#include "IParameterized.pypp.h" +#include "Lattice2DIFParameters.pypp.h" +#include "IFormFactorDecorator.pypp.h" +#include "InterferenceFunction1DLattice.pypp.h" +#include "RotationEuler.pypp.h" +#include "ISample.pypp.h" +#include "ISampleBuilder.pypp.h" +#include "IRotation.pypp.h" +#include "PythonInterface_global_variables.pypp.h" #include "Beam.pypp.h" -#include "FormFactorSphereUniformRadius.pypp.h" +#include "HomogeneousMaterial.pypp.h" +#include "ICloneable.pypp.h" +#include "ParticleCoreShell.pypp.h" +#include "FormFactorDecoratorDebyeWaller.pypp.h" +#include "MesoCrystal.pypp.h" +#include "Lattice1DIFParameters.pypp.h" +#include "IObserver.pypp.h" +#include "IntensityData.pypp.h" +#include "Lattice.pypp.h" +#include "AttLimits.pypp.h" +#include "IInterferenceFunction.pypp.h" +#include "ParticleInfo.pypp.h" +#include "Instrument.pypp.h" +#include "FormFactorInfLongBox.pypp.h" +#include "FormFactorCone.pypp.h" +#include "ParticleComposition.pypp.h" #include "RotationX.pypp.h" -#include "FTDistribution1DCauchy.pypp.h" -#include "kvector_t.pypp.h" -#include "Crystal.pypp.h" -#include "ISelectionRule.pypp.h" -#include "vector_integer_t.pypp.h" +#include "FTDistribution2DGauss.pypp.h" +#include "FormFactorTruncatedSphere.pypp.h" +#include "FTDistribution2DVoigt.pypp.h" +#include "FormFactorGauss.pypp.h" +#include "InterferenceFunction2DParaCrystal.pypp.h" +#include "Detector.pypp.h" +#include "FormFactorInfLongRipple2.pypp.h" +#include "ICompositeSample.pypp.h" +#include "Bin1D.pypp.h" +#include "vector_complex_t.pypp.h" +#include "DistributionLogNormal.pypp.h" +#include "IFTDistribution2D.pypp.h" #include "__call_policies.pypp.hpp" #include "__convenience.pypp.hpp" #include "__call_policies.pypp.hpp" diff --git a/Fit/PythonAPI/src/PythonModule.cpp b/Fit/PythonAPI/src/PythonModule.cpp index 71ae4cd85cf44b959ad278d1af3d5f6542dad187..bcbcdcddc6ce209e53c5a2eb72228cadb1856bf3 100644 --- a/Fit/PythonAPI/src/PythonModule.cpp +++ b/Fit/PythonAPI/src/PythonModule.cpp @@ -5,37 +5,37 @@ GCC_DIAG_OFF(missing-field-initializers) #include "boost/python.hpp" GCC_DIAG_ON(unused-parameter) GCC_DIAG_ON(missing-field-initializers) -#include "FitObject.pypp.h" -#include "IntensityFunctionLog.pypp.h" #include "IntensityFunctionSqrt.pypp.h" -#include "FitStrategyDefault.pypp.h" -#include "IChiSquaredModule.pypp.h" +#include "MinimizerFactory.pypp.h" +#include "IMinimizer.pypp.h" +#include "vector_string_t.pypp.h" +#include "SquaredFunctionSystematicError.pypp.h" +#include "IntensityNormalizer.pypp.h" +#include "IIntensityFunction.pypp.h" +#include "INamed.pypp.h" +#include "IntensityFunctionLog.pypp.h" +#include "FitSuiteParameters.pypp.h" #include "AttFitting.pypp.h" -#include "FitStrategyAdjustParameters.pypp.h" +#include "FitParameter.pypp.h" +#include "IntensityScaleAndShiftNormalizer.pypp.h" +#include "IChiSquaredModule.pypp.h" #include "FitStrategyAdjustMinimizer.pypp.h" -#include "ISquaredFunction.pypp.h" +#include "IFitStrategy.pypp.h" +#include "FitStrategyFixParameters.pypp.h" #include "SquaredFunctionGaussianError.pypp.h" -#include "IIntensityFunction.pypp.h" -#include "IntensityScaleAndShiftNormalizer.pypp.h" -#include "SquaredFunctionMeanSquaredError.pypp.h" -#include "FitSuiteParameters.pypp.h" -#include "IMinimizer.pypp.h" #include "IIntensityNormalizer.pypp.h" -#include "FitParameter.pypp.h" -#include "INamed.pypp.h" -#include "FitStrategyReleaseParameters.pypp.h" #include "FitSuite.pypp.h" -#include "IntensityNormalizer.pypp.h" -#include "FitStrategyFixParameters.pypp.h" -#include "FitSuiteObjects.pypp.h" -#include "SquaredFunctionSystematicError.pypp.h" -#include "MinimizerFactory.pypp.h" +#include "FitStrategyAdjustParameters.pypp.h" #include "ChiSquaredModule.pypp.h" -#include "SquaredFunctionSimError.pypp.h" #include "MinimizerOptions.pypp.h" #include "SquaredFunctionDefault.pypp.h" -#include "vector_string_t.pypp.h" -#include "IFitStrategy.pypp.h" +#include "SquaredFunctionMeanSquaredError.pypp.h" +#include "ISquaredFunction.pypp.h" +#include "FitStrategyDefault.pypp.h" +#include "FitObject.pypp.h" +#include "FitSuiteObjects.pypp.h" +#include "SquaredFunctionSimError.pypp.h" +#include "FitStrategyReleaseParameters.pypp.h" BOOST_PYTHON_MODULE(libBornAgainFit){ boost::python::docstring_options doc_options(true, true, false);