From 57c57be7192b42dfa19590ddd5ca70d3e45b0725 Mon Sep 17 00:00:00 2001
From: "Joachim Wuttke (o)" <j.wuttke@fz-juelich.de>
Date: Tue, 10 May 2022 12:42:20 +0200
Subject: [PATCH] IDetector, DetectorContext: correct swig switches

---
 Device/Detector/DetectorContext.h     |  11 +-
 Device/Detector/IDetector.h           |   7 +-
 auto/Wrap/libBornAgainDevice.py       |  20 ---
 auto/Wrap/libBornAgainDevice_wrap.cpp | 219 +++++++++-----------------
 4 files changed, 87 insertions(+), 170 deletions(-)

diff --git a/Device/Detector/DetectorContext.h b/Device/Detector/DetectorContext.h
index ad7f0bd0ca5..c4ac41a1853 100644
--- a/Device/Detector/DetectorContext.h
+++ b/Device/Detector/DetectorContext.h
@@ -12,19 +12,18 @@
 //
 //  ************************************************************************************************
 
-#ifdef SWIG
-#error no need to expose this header to Swig
-#endif
-
 #ifndef USER_API
 #ifndef BORNAGAIN_DEVICE_DETECTOR_DETECTORCONTEXT_H
 #define BORNAGAIN_DEVICE_DETECTOR_DETECTORCONTEXT_H
 
 #include "Base/Pixel/IPixel.h"
-#include "Base/Vector/EigenCore.h"
 #include <memory>
 #include <vector>
 
+#ifndef SWIG
+#include "Base/Vector/EigenCore.h"
+#endif
+
 class IDetector2D;
 
 //! Holds precalculated information for faster DiffuseElement generation.
@@ -46,7 +45,9 @@ public:
 private:
     void setup_context(const IDetector2D* detector);
 
+#ifndef SWIG
     Eigen::Matrix2cd m_analyzer_operator;
+#endif
     std::vector<std::unique_ptr<IPixel>> m_pixels; //! All unmasked pixels inside ROI.
     std::vector<size_t> m_active_indices; //! The sequence of bin indices (unmasked, in ROI)
 };
diff --git a/Device/Detector/IDetector.h b/Device/Detector/IDetector.h
index 6669f2e17cf..820ed2182f4 100644
--- a/Device/Detector/IDetector.h
+++ b/Device/Detector/IDetector.h
@@ -22,13 +22,14 @@
 #include "Device/Pol/PolFilter.h"
 
 class DetectorMask;
+class DiffuseElement;
 class Direction;
 class IAxis;
 class IDetectorResolution;
 class IResolutionFunction2D;
+
 template <class T>
 class OutputData;
-class DiffuseElement;
 
 //! Abstract detector interface.
 //!
@@ -105,11 +106,11 @@ public:
     //! defined, then the whole detector is taken as "region of interest".
     //! No matter whether masked or not.
     SimulationAreaIterator endRegionOfInterestPoints() const;
-#endif // SWIG
 
     //! The axes of the complete detector.
     //! Any region of interest is not taken into account.
     const CloneableVector<IAxis>& axes() const { return m_axes; }
+#endif // SWIG
 
     //! One axis of the complete detector.
     //! Any region of interest is not taken into account.
@@ -152,10 +153,10 @@ public:
     //! Returns empty detector map in given axes units.
     //! This map is a data array limited to the size of the "Region of interest"
     std::unique_ptr<OutputData<double>> createDetectorMap() const;
-#endif // SWIG
 
     //! Returns detection properties
     const PolFilter& analyzer() const { return m_detection_properties; }
+#endif // SWIG
 
     //! Returns new intensity map with resolution applied, and cropped to ROI if applicable.
     OutputData<double>*
diff --git a/auto/Wrap/libBornAgainDevice.py b/auto/Wrap/libBornAgainDevice.py
index b83c02f2f9c..c1e1a1084c1 100644
--- a/auto/Wrap/libBornAgainDevice.py
+++ b/auto/Wrap/libBornAgainDevice.py
@@ -4178,16 +4178,6 @@ class IDetector(libBornAgainBase.ICloneable, libBornAgainParam.INode):
         """
         return _libBornAgainDevice.IDetector_iterateOverNonMaskedPoints(self, func)
 
-    def axes(self):
-        r"""
-        axes(IDetector self) -> CloneableVector< IAxis > const &
-        const CloneableVector<IAxis>& IDetector::axes() const
-
-        The axes of the complete detector. Any region of interest is not taken into account. 
-
-        """
-        return _libBornAgainDevice.IDetector_axes(self)
-
     def axis(self, index):
         r"""
         axis(IDetector self, size_t index) -> IAxis
@@ -4296,16 +4286,6 @@ class IDetector(libBornAgainBase.ICloneable, libBornAgainParam.INode):
         """
         return _libBornAgainDevice.IDetector_detectorResolution(self)
 
-    def analyzer(self):
-        r"""
-        analyzer(IDetector self) -> PolFilter const &
-        const PolFilter& IDetector::analyzer() const
-
-        Returns detection properties. 
-
-        """
-        return _libBornAgainDevice.IDetector_analyzer(self)
-
     def createDetectorIntensity(self, elements):
         r"""
         createDetectorIntensity(IDetector self, std::vector< std::unique_ptr< DiffuseElement >,std::allocator< std::unique_ptr< DiffuseElement > > > const & elements) -> IntensityData
diff --git a/auto/Wrap/libBornAgainDevice_wrap.cpp b/auto/Wrap/libBornAgainDevice_wrap.cpp
index 2944419b4c5..07d97e3d00a 100644
--- a/auto/Wrap/libBornAgainDevice_wrap.cpp
+++ b/auto/Wrap/libBornAgainDevice_wrap.cpp
@@ -3131,84 +3131,83 @@ namespace Swig {
 #define SWIGTYPE_p_OutputDataT_CumulativeValue_t swig_types[31]
 #define SWIGTYPE_p_OutputDataT_bool_t swig_types[32]
 #define SWIGTYPE_p_OutputDataT_double_t swig_types[33]
-#define SWIGTYPE_p_PolFilter swig_types[34]
-#define SWIGTYPE_p_PolMatrices swig_types[35]
-#define SWIGTYPE_p_Polygon swig_types[36]
-#define SWIGTYPE_p_PolygonPrivate swig_types[37]
-#define SWIGTYPE_p_RealLimits swig_types[38]
-#define SWIGTYPE_p_Rectangle swig_types[39]
-#define SWIGTYPE_p_RectangularDetector swig_types[40]
-#define SWIGTYPE_p_RectangularPixel swig_types[41]
-#define SWIGTYPE_p_ResolutionFunction2DGaussian swig_types[42]
-#define SWIGTYPE_p_SimulationResult swig_types[43]
-#define SWIGTYPE_p_SphericalDetector swig_types[44]
-#define SWIGTYPE_p_Vec3T_double_t swig_types[45]
-#define SWIGTYPE_p_Vec3T_int_t swig_types[46]
-#define SWIGTYPE_p_Vec3T_std__complexT_double_t_t swig_types[47]
-#define SWIGTYPE_p_VerticalLine swig_types[48]
-#define SWIGTYPE_p_allocator_type swig_types[49]
-#define SWIGTYPE_p_bool swig_types[50]
-#define SWIGTYPE_p_char swig_types[51]
-#define SWIGTYPE_p_const_iterator swig_types[52]
-#define SWIGTYPE_p_corr_matrix_t swig_types[53]
-#define SWIGTYPE_p_difference_type swig_types[54]
-#define SWIGTYPE_p_double swig_types[55]
-#define SWIGTYPE_p_first_type swig_types[56]
-#define SWIGTYPE_p_int swig_types[57]
-#define SWIGTYPE_p_iterator swig_types[58]
-#define SWIGTYPE_p_key_type swig_types[59]
-#define SWIGTYPE_p_long_long swig_types[60]
-#define SWIGTYPE_p_mapped_type swig_types[61]
-#define SWIGTYPE_p_p_ICoordSystem swig_types[62]
-#define SWIGTYPE_p_p_PyObject swig_types[63]
-#define SWIGTYPE_p_parameters_t swig_types[64]
-#define SWIGTYPE_p_second_type swig_types[65]
-#define SWIGTYPE_p_short swig_types[66]
-#define SWIGTYPE_p_signed_char swig_types[67]
-#define SWIGTYPE_p_size_type swig_types[68]
-#define SWIGTYPE_p_std__allocatorT_Vec3T_double_t_t swig_types[69]
-#define SWIGTYPE_p_std__allocatorT_Vec3T_std__complexT_double_t_t_t swig_types[70]
-#define SWIGTYPE_p_std__allocatorT_double_t swig_types[71]
-#define SWIGTYPE_p_std__allocatorT_int_t swig_types[72]
-#define SWIGTYPE_p_std__allocatorT_std__complexT_double_t_t swig_types[73]
-#define SWIGTYPE_p_std__allocatorT_std__pairT_double_double_t_t swig_types[74]
-#define SWIGTYPE_p_std__allocatorT_std__pairT_std__string_const_double_t_t swig_types[75]
-#define SWIGTYPE_p_std__allocatorT_std__string_t swig_types[76]
-#define SWIGTYPE_p_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t swig_types[77]
-#define SWIGTYPE_p_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t swig_types[78]
-#define SWIGTYPE_p_std__allocatorT_unsigned_long_t swig_types[79]
-#define SWIGTYPE_p_std__arrayT_double_3_t swig_types[80]
-#define SWIGTYPE_p_std__arrayT_std__complexT_double_t_3_t swig_types[81]
-#define SWIGTYPE_p_std__complexT_double_t swig_types[82]
-#define SWIGTYPE_p_std__functionT_void_fSimulationAreaIterator_const_RF_t swig_types[83]
-#define SWIGTYPE_p_std__invalid_argument swig_types[84]
-#define SWIGTYPE_p_std__lessT_std__string_t swig_types[85]
-#define SWIGTYPE_p_std__mapT_std__string_double_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_double_t_t_t swig_types[86]
-#define SWIGTYPE_p_std__pairT_double_double_t swig_types[87]
-#define SWIGTYPE_p_std__vectorT_AxisInfo_std__allocatorT_AxisInfo_t_t swig_types[88]
-#define SWIGTYPE_p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t swig_types[89]
-#define SWIGTYPE_p_std__vectorT_ParaMeta_std__allocatorT_ParaMeta_t_t swig_types[90]
-#define SWIGTYPE_p_std__vectorT_Vec3T_double_t_std__allocatorT_Vec3T_double_t_t_t swig_types[91]
-#define SWIGTYPE_p_std__vectorT_Vec3T_std__complexT_double_t_t_std__allocatorT_Vec3T_std__complexT_double_t_t_t_t swig_types[92]
-#define SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t swig_types[93]
-#define SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t swig_types[94]
-#define SWIGTYPE_p_std__vectorT_size_t_std__allocatorT_size_t_t_t swig_types[95]
-#define SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t swig_types[96]
-#define SWIGTYPE_p_std__vectorT_std__pairT_double_double_t_std__allocatorT_std__pairT_double_double_t_t_t swig_types[97]
-#define SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t swig_types[98]
-#define SWIGTYPE_p_std__vectorT_std__unique_ptrT_DiffuseElement_t_std__allocatorT_std__unique_ptrT_DiffuseElement_t_t_t swig_types[99]
-#define SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t swig_types[100]
-#define SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t swig_types[101]
-#define SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t swig_types[102]
-#define SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t swig_types[103]
-#define SWIGTYPE_p_swig__SwigPyIterator swig_types[104]
-#define SWIGTYPE_p_unsigned_char swig_types[105]
-#define SWIGTYPE_p_unsigned_int swig_types[106]
-#define SWIGTYPE_p_unsigned_long_long swig_types[107]
-#define SWIGTYPE_p_unsigned_short swig_types[108]
-#define SWIGTYPE_p_value_type swig_types[109]
-static swig_type_info *swig_types[111];
-static swig_module_info swig_module = {swig_types, 110, 0, 0, 0, 0};
+#define SWIGTYPE_p_PolMatrices swig_types[34]
+#define SWIGTYPE_p_Polygon swig_types[35]
+#define SWIGTYPE_p_PolygonPrivate swig_types[36]
+#define SWIGTYPE_p_RealLimits swig_types[37]
+#define SWIGTYPE_p_Rectangle swig_types[38]
+#define SWIGTYPE_p_RectangularDetector swig_types[39]
+#define SWIGTYPE_p_RectangularPixel swig_types[40]
+#define SWIGTYPE_p_ResolutionFunction2DGaussian swig_types[41]
+#define SWIGTYPE_p_SimulationResult swig_types[42]
+#define SWIGTYPE_p_SphericalDetector swig_types[43]
+#define SWIGTYPE_p_Vec3T_double_t swig_types[44]
+#define SWIGTYPE_p_Vec3T_int_t swig_types[45]
+#define SWIGTYPE_p_Vec3T_std__complexT_double_t_t swig_types[46]
+#define SWIGTYPE_p_VerticalLine swig_types[47]
+#define SWIGTYPE_p_allocator_type swig_types[48]
+#define SWIGTYPE_p_bool swig_types[49]
+#define SWIGTYPE_p_char swig_types[50]
+#define SWIGTYPE_p_const_iterator swig_types[51]
+#define SWIGTYPE_p_corr_matrix_t swig_types[52]
+#define SWIGTYPE_p_difference_type swig_types[53]
+#define SWIGTYPE_p_double swig_types[54]
+#define SWIGTYPE_p_first_type swig_types[55]
+#define SWIGTYPE_p_int swig_types[56]
+#define SWIGTYPE_p_iterator swig_types[57]
+#define SWIGTYPE_p_key_type swig_types[58]
+#define SWIGTYPE_p_long_long swig_types[59]
+#define SWIGTYPE_p_mapped_type swig_types[60]
+#define SWIGTYPE_p_p_ICoordSystem swig_types[61]
+#define SWIGTYPE_p_p_PyObject swig_types[62]
+#define SWIGTYPE_p_parameters_t swig_types[63]
+#define SWIGTYPE_p_second_type swig_types[64]
+#define SWIGTYPE_p_short swig_types[65]
+#define SWIGTYPE_p_signed_char swig_types[66]
+#define SWIGTYPE_p_size_type swig_types[67]
+#define SWIGTYPE_p_std__allocatorT_Vec3T_double_t_t swig_types[68]
+#define SWIGTYPE_p_std__allocatorT_Vec3T_std__complexT_double_t_t_t swig_types[69]
+#define SWIGTYPE_p_std__allocatorT_double_t swig_types[70]
+#define SWIGTYPE_p_std__allocatorT_int_t swig_types[71]
+#define SWIGTYPE_p_std__allocatorT_std__complexT_double_t_t swig_types[72]
+#define SWIGTYPE_p_std__allocatorT_std__pairT_double_double_t_t swig_types[73]
+#define SWIGTYPE_p_std__allocatorT_std__pairT_std__string_const_double_t_t swig_types[74]
+#define SWIGTYPE_p_std__allocatorT_std__string_t swig_types[75]
+#define SWIGTYPE_p_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t swig_types[76]
+#define SWIGTYPE_p_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t swig_types[77]
+#define SWIGTYPE_p_std__allocatorT_unsigned_long_t swig_types[78]
+#define SWIGTYPE_p_std__arrayT_double_3_t swig_types[79]
+#define SWIGTYPE_p_std__arrayT_std__complexT_double_t_3_t swig_types[80]
+#define SWIGTYPE_p_std__complexT_double_t swig_types[81]
+#define SWIGTYPE_p_std__functionT_void_fSimulationAreaIterator_const_RF_t swig_types[82]
+#define SWIGTYPE_p_std__invalid_argument swig_types[83]
+#define SWIGTYPE_p_std__lessT_std__string_t swig_types[84]
+#define SWIGTYPE_p_std__mapT_std__string_double_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_double_t_t_t swig_types[85]
+#define SWIGTYPE_p_std__pairT_double_double_t swig_types[86]
+#define SWIGTYPE_p_std__vectorT_AxisInfo_std__allocatorT_AxisInfo_t_t swig_types[87]
+#define SWIGTYPE_p_std__vectorT_INode_const_p_std__allocatorT_INode_const_p_t_t swig_types[88]
+#define SWIGTYPE_p_std__vectorT_ParaMeta_std__allocatorT_ParaMeta_t_t swig_types[89]
+#define SWIGTYPE_p_std__vectorT_Vec3T_double_t_std__allocatorT_Vec3T_double_t_t_t swig_types[90]
+#define SWIGTYPE_p_std__vectorT_Vec3T_std__complexT_double_t_t_std__allocatorT_Vec3T_std__complexT_double_t_t_t_t swig_types[91]
+#define SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t swig_types[92]
+#define SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t swig_types[93]
+#define SWIGTYPE_p_std__vectorT_size_t_std__allocatorT_size_t_t_t swig_types[94]
+#define SWIGTYPE_p_std__vectorT_std__complexT_double_t_std__allocatorT_std__complexT_double_t_t_t swig_types[95]
+#define SWIGTYPE_p_std__vectorT_std__pairT_double_double_t_std__allocatorT_std__pairT_double_double_t_t_t swig_types[96]
+#define SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t swig_types[97]
+#define SWIGTYPE_p_std__vectorT_std__unique_ptrT_DiffuseElement_t_std__allocatorT_std__unique_ptrT_DiffuseElement_t_t_t swig_types[98]
+#define SWIGTYPE_p_std__vectorT_std__vectorT_double_std__allocatorT_double_t_t_std__allocatorT_std__vectorT_double_std__allocatorT_double_t_t_t_t swig_types[99]
+#define SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t swig_types[100]
+#define SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t swig_types[101]
+#define SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t swig_types[102]
+#define SWIGTYPE_p_swig__SwigPyIterator swig_types[103]
+#define SWIGTYPE_p_unsigned_char swig_types[104]
+#define SWIGTYPE_p_unsigned_int swig_types[105]
+#define SWIGTYPE_p_unsigned_long_long swig_types[106]
+#define SWIGTYPE_p_unsigned_short swig_types[107]
+#define SWIGTYPE_p_value_type swig_types[108]
+static swig_type_info *swig_types[110];
+static swig_module_info swig_module = {swig_types, 109, 0, 0, 0, 0};
 #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
 #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
 
@@ -38138,29 +38137,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_IDetector_axes(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  IDetector *arg1 = (IDetector *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject *swig_obj[1] ;
-  CloneableVector< IAxis > *result = 0 ;
-  
-  if (!args) SWIG_fail;
-  swig_obj[0] = args;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IDetector, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IDetector_axes" "', argument " "1"" of type '" "IDetector const *""'"); 
-  }
-  arg1 = reinterpret_cast< IDetector * >(argp1);
-  result = (CloneableVector< IAxis > *) &((IDetector const *)arg1)->axes();
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_CloneableVectorT_IAxis_t, 0 |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_IDetector_axis(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   IDetector *arg1 = (IDetector *) 0 ;
@@ -38456,29 +38432,6 @@ fail:
 }
 
 
-SWIGINTERN PyObject *_wrap_IDetector_analyzer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
-  PyObject *resultobj = 0;
-  IDetector *arg1 = (IDetector *) 0 ;
-  void *argp1 = 0 ;
-  int res1 = 0 ;
-  PyObject *swig_obj[1] ;
-  PolFilter *result = 0 ;
-  
-  if (!args) SWIG_fail;
-  swig_obj[0] = args;
-  res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_IDetector, 0 |  0 );
-  if (!SWIG_IsOK(res1)) {
-    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "IDetector_analyzer" "', argument " "1"" of type '" "IDetector const *""'"); 
-  }
-  arg1 = reinterpret_cast< IDetector * >(argp1);
-  result = (PolFilter *) &((IDetector const *)arg1)->analyzer();
-  resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_PolFilter, 0 |  0 );
-  return resultobj;
-fail:
-  return NULL;
-}
-
-
 SWIGINTERN PyObject *_wrap_IDetector_createDetectorIntensity(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
   PyObject *resultobj = 0;
   IDetector *arg1 = (IDetector *) 0 ;
@@ -48373,13 +48326,6 @@ static PyMethodDef SwigMethods[] = {
 		"Iterate over all non-masked points within \"region of interest\". If no region of interest is explicitly defined, then the whole detector is taken as \"region of interest\". \n"
 		"\n"
 		""},
-	 { "IDetector_axes", _wrap_IDetector_axes, METH_O, "\n"
-		"IDetector_axes(IDetector self) -> CloneableVector< IAxis > const &\n"
-		"const CloneableVector<IAxis>& IDetector::axes() const\n"
-		"\n"
-		"The axes of the complete detector. Any region of interest is not taken into account. \n"
-		"\n"
-		""},
 	 { "IDetector_axis", _wrap_IDetector_axis, METH_VARARGS, "\n"
 		"IDetector_axis(IDetector self, size_t index) -> IAxis\n"
 		"const IAxis & IDetector::axis(size_t index) const\n"
@@ -48455,13 +48401,6 @@ static PyMethodDef SwigMethods[] = {
 		"Returns a pointer to detector resolution object. \n"
 		"\n"
 		""},
-	 { "IDetector_analyzer", _wrap_IDetector_analyzer, METH_O, "\n"
-		"IDetector_analyzer(IDetector self) -> PolFilter const &\n"
-		"const PolFilter& IDetector::analyzer() const\n"
-		"\n"
-		"Returns detection properties. \n"
-		"\n"
-		""},
 	 { "IDetector_createDetectorIntensity", _wrap_IDetector_createDetectorIntensity, METH_VARARGS, "\n"
 		"IDetector_createDetectorIntensity(IDetector self, std::vector< std::unique_ptr< DiffuseElement >,std::allocator< std::unique_ptr< DiffuseElement > > > const & elements) -> IntensityData\n"
 		"OutputData< double > * IDetector::createDetectorIntensity(const std::vector< std::unique_ptr< DiffuseElement >> &elements) const\n"
@@ -49614,7 +49553,6 @@ static swig_type_info _swigt__p_OutputDataIteratorT_double_const_OutputDataT_dou
 static swig_type_info _swigt__p_OutputDataT_CumulativeValue_t = {"_p_OutputDataT_CumulativeValue_t", "OutputData< CumulativeValue > *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_OutputDataT_bool_t = {"_p_OutputDataT_bool_t", "OutputData< bool > *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_OutputDataT_double_t = {"_p_OutputDataT_double_t", "OutputData< double > *", 0, 0, (void*)0, 0};
-static swig_type_info _swigt__p_PolFilter = {"_p_PolFilter", "PolFilter *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_PolMatrices = {"_p_PolMatrices", "PolMatrices *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_Polygon = {"_p_Polygon", "Polygon *", 0, 0, (void*)0, 0};
 static swig_type_info _swigt__p_PolygonPrivate = {"_p_PolygonPrivate", "PolygonPrivate *", 0, 0, (void*)0, 0};
@@ -49726,7 +49664,6 @@ static swig_type_info *swig_type_initial[] = {
   &_swigt__p_OutputDataT_CumulativeValue_t,
   &_swigt__p_OutputDataT_bool_t,
   &_swigt__p_OutputDataT_double_t,
-  &_swigt__p_PolFilter,
   &_swigt__p_PolMatrices,
   &_swigt__p_Polygon,
   &_swigt__p_PolygonPrivate,
@@ -49838,7 +49775,6 @@ static swig_cast_info _swigc__p_OutputDataIteratorT_double_const_OutputDataT_dou
 static swig_cast_info _swigc__p_OutputDataT_CumulativeValue_t[] = {  {&_swigt__p_OutputDataT_CumulativeValue_t, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_OutputDataT_bool_t[] = {  {&_swigt__p_OutputDataT_bool_t, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_OutputDataT_double_t[] = {  {&_swigt__p_OutputDataT_double_t, 0, 0, 0},{0, 0, 0, 0}};
-static swig_cast_info _swigc__p_PolFilter[] = {  {&_swigt__p_PolFilter, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_PolMatrices[] = {  {&_swigt__p_PolMatrices, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_Polygon[] = {  {&_swigt__p_Polygon, 0, 0, 0},{0, 0, 0, 0}};
 static swig_cast_info _swigc__p_PolygonPrivate[] = {  {&_swigt__p_PolygonPrivate, 0, 0, 0},{0, 0, 0, 0}};
@@ -49950,7 +49886,6 @@ static swig_cast_info *swig_cast_initial[] = {
   _swigc__p_OutputDataT_CumulativeValue_t,
   _swigc__p_OutputDataT_bool_t,
   _swigc__p_OutputDataT_double_t,
-  _swigc__p_PolFilter,
   _swigc__p_PolMatrices,
   _swigc__p_Polygon,
   _swigc__p_PolygonPrivate,
-- 
GitLab