diff --git a/corsika/detail/framework/random/random_iterator/detail/tbb/iterators.h b/corsika/detail/framework/random/random_iterator/detail/tbb/iterators.h
index 46b407aaaeb727307caaaffe458c42767610233e..d04d467f5c328d65b8563223b9fd409db773de99 100644
--- a/corsika/detail/framework/random/random_iterator/detail/tbb/iterators.h
+++ b/corsika/detail/framework/random/random_iterator/detail/tbb/iterators.h
@@ -29,238 +29,290 @@
 
 namespace random_iterator_tbb {
 
+  template <typename Type>
+  class constant_iterator {
 
-template <typename Type>
-class constant_iterator {
-
-public:
+  public:
     typedef typename std::size_t difference_type;
     typedef Type value_type;
     typedef const Type* pointer;
     typedef const Type& reference;
     typedef std::random_access_iterator_tag iterator_category;
 
-    constant_iterator() : my_value() {}
-    explicit constant_iterator(Type init) : my_value(init) {}
+    constant_iterator()
+        : my_value() {}
+    explicit constant_iterator(Type init)
+        : my_value(init) {}
 
     inline reference operator*() const { return my_value; }
-    inline value_type operator[](difference_type i) const { return my_value; }
+    inline value_type operator[](difference_type) const { return my_value; }
 
-    inline difference_type operator-(const constant_iterator<Type>& it) const { return 0; }
+    inline difference_type operator-(const constant_iterator<Type>&) const { return 0; }
 
-    inline constant_iterator<Type>& operator+=(difference_type forward)  const { return *this; }
-    inline constant_iterator<Type>& operator-=(difference_type backward) const { return *this; }
+    inline constant_iterator<Type>& operator+=(difference_type) const { return *this; }
+    inline constant_iterator<Type>& operator-=(difference_type) const { return *this; }
     inline constant_iterator<Type>& operator++() const { return *this; }
     inline constant_iterator<Type>& operator--() const { return *this; }
 
-    inline constant_iterator<Type> operator++(int) { return constant_iterator<Type>(my_value); }
-
-    inline constant_iterator<Type> operator--(int) { return constant_iterator<Type>(my_value); }
-
-    inline constant_iterator<Type> operator-(difference_type backward) const { return constant_iterator<Type>(my_value); }
-    inline constant_iterator<Type> operator+(difference_type forward) const { return constant_iterator<Type>(my_value); }
-    friend constant_iterator<Type> operator+(difference_type forward, const constant_iterator<Type> it) { return constant_iterator<Type>(*it); }
-
-    inline bool operator==(const constant_iterator<Type>& it) const { return  (my_value - *it) == 0; }
-    inline bool operator!=(const constant_iterator<Type>& it) const { return !(my_value == *it); }
+    inline constant_iterator<Type> operator++(int) {
+      return constant_iterator<Type>(my_value);
+    }
 
-private:
-   const value_type my_value;
-};
+    inline constant_iterator<Type> operator--(int) {
+      return constant_iterator<Type>(my_value);
+    }
 
+    inline constant_iterator<Type> operator-(difference_type) const {
+      return constant_iterator<Type>(my_value);
+    }
+    inline constant_iterator<Type> operator+(difference_type) const {
+      return constant_iterator<Type>(my_value);
+    }
+    friend constant_iterator<Type> operator+(difference_type,
+                                             const constant_iterator<Type> it) {
+      return constant_iterator<Type>(*it);
+    }
 
-template <typename IntType>
-class counting_iterator {
-	__RANDOM_ITERATOR_TBB_STATIC_ASSERT(std::numeric_limits<IntType>::is_integer, "Cannot instantiate counting_iterator with a non-integer type");
-public:
-	typedef typename std::make_signed<IntType>::type difference_type;
-	typedef IntType value_type;
-	typedef const IntType* pointer;
-	typedef const IntType& reference;
-	typedef std::random_access_iterator_tag iterator_category;
+    inline bool operator==(const constant_iterator<Type>& it) const {
+      return (my_value - *it) == 0;
+    }
+    inline bool operator!=(const constant_iterator<Type>& it) const {
+      return !(my_value == *it);
+    }
 
-	counting_iterator() : my_counter() {}
-	explicit counting_iterator(IntType init) : my_counter(init) {}
+  private:
+    const value_type my_value;
+  };
+
+  template <typename IntType>
+  class counting_iterator {
+    __RANDOM_ITERATOR_TBB_STATIC_ASSERT(
+        std::numeric_limits<IntType>::is_integer,
+        "Cannot instantiate counting_iterator with a non-integer type");
+
+  public:
+    typedef typename std::make_signed<IntType>::type difference_type;
+    typedef IntType value_type;
+    typedef const IntType* pointer;
+    typedef const IntType& reference;
+    typedef std::random_access_iterator_tag iterator_category;
 
-	inline reference operator*() const { return my_counter; }
-	inline value_type operator[](difference_type i) const { return *(*this + i); }
+    counting_iterator()
+        : my_counter() {}
+    explicit counting_iterator(IntType init)
+        : my_counter(init) {}
 
-	inline difference_type operator-(const counting_iterator& it) const { return my_counter - it.my_counter; }
+    inline reference operator*() const { return my_counter; }
+    inline value_type operator[](difference_type i) const { return *(*this + i); }
 
-	inline counting_iterator& operator+=(difference_type forward) { my_counter += forward; return *this; }
-	inline counting_iterator& operator-=(difference_type backward) { return *this += -backward; }
-	inline counting_iterator& operator++() { return *this += 1; }
-	inline counting_iterator& operator--() { return *this -= 1; }
+    inline difference_type operator-(const counting_iterator& it) const {
+      return my_counter - it.my_counter;
+    }
 
-	inline counting_iterator operator++(int) {
-		counting_iterator it(*this);
-		++(*this);
-		return it;
-	}
-	inline counting_iterator operator--(int) {
-		counting_iterator it(*this);
-		--(*this);
-		return it;
-	}
+    inline counting_iterator& operator+=(difference_type forward) {
+      my_counter += forward;
+      return *this;
+    }
+    inline counting_iterator& operator-=(difference_type backward) {
+      return *this += -backward;
+    }
+    inline counting_iterator& operator++() { return *this += 1; }
+    inline counting_iterator& operator--() { return *this -= 1; }
 
-	inline counting_iterator operator-(difference_type backward) const { return counting_iterator(my_counter - backward); }
-	inline  counting_iterator operator+(difference_type forward) const { return counting_iterator(my_counter + forward); }
-	friend counting_iterator operator+(difference_type forward, const counting_iterator it) { return it + forward; }
+    inline counting_iterator operator++(int) {
+      counting_iterator it(*this);
+      ++(*this);
+      return it;
+    }
+    inline counting_iterator operator--(int) {
+      counting_iterator it(*this);
+      --(*this);
+      return it;
+    }
 
-	inline bool operator==(const counting_iterator& it) const { return *this - it == 0; }
-	inline bool operator!=(const counting_iterator& it) const { return !(*this == it); }
-	inline bool operator<(const counting_iterator& it) const {return *this - it < 0; }
-	inline bool operator>(const counting_iterator& it) const { return it < *this; }
-	inline bool operator<=(const counting_iterator& it) const { return !(*this > it); }
-	inline bool operator>=(const counting_iterator& it) const { return !(*this < it); }
+    inline counting_iterator operator-(difference_type backward) const {
+      return counting_iterator(my_counter - backward);
+    }
+    inline counting_iterator operator+(difference_type forward) const {
+      return counting_iterator(my_counter + forward);
+    }
+    friend counting_iterator operator+(difference_type forward,
+                                       const counting_iterator it) {
+      return it + forward;
+    }
 
-private:
-	IntType my_counter;
-};
-} //namespace random_iterator_tbb
+    inline bool operator==(const counting_iterator& it) const { return *this - it == 0; }
+    inline bool operator!=(const counting_iterator& it) const { return !(*this == it); }
+    inline bool operator<(const counting_iterator& it) const { return *this - it < 0; }
+    inline bool operator>(const counting_iterator& it) const { return it < *this; }
+    inline bool operator<=(const counting_iterator& it) const { return !(*this > it); }
+    inline bool operator>=(const counting_iterator& it) const { return !(*this < it); }
 
+  private:
+    IntType my_counter;
+  };
+} // namespace random_iterator_tbb
 
 #include <tuple>
 
 #include "internal/_template_helpers.h" // index_sequence, make_index_sequence
 
 namespace random_iterator_tbb {
-namespace internal {
-
-template<size_t N>
-struct tuple_util {
-    template<typename TupleType, typename DifferenceType>
-    static void increment(TupleType& it, DifferenceType forward) {
-        std::get<N-1>(it) += forward;
-        tuple_util<N-1>::increment(it, forward);
-    }
-    template<typename TupleType, typename DifferenceType>
-    static bool check_sync(const TupleType& it1, const TupleType& it2, DifferenceType val) {
-        if(std::get<N-1>(it1) - std::get<N-1>(it2) != val)
-            return false;
-        return tuple_util<N-1>::check_sync(it1, it2, val);
-    }
-};
-
-template<>
-struct tuple_util<0> {
-    template<typename TupleType, typename DifferenceType>
-    static void increment(TupleType&, DifferenceType) {}
-    template<typename TupleType, typename DifferenceType>
-    static bool check_sync(const TupleType&, const TupleType&, DifferenceType) { return true;}
-};
-
-template <typename TupleReturnType>
-struct make_references {
-    template <typename TupleType, std::size_t... Is>
-    TupleReturnType operator()(const TupleType& t, random_iterator_tbb::internal::index_sequence<Is...>) {
-        return std::tie( *std::get<Is>(t)... );
-    }
-};
-
-// A simple wrapper over a tuple of references.
-// The class is designed to hold a temporary tuple of reference
-// after dereferencing a zip_iterator; in particular, it is needed
-// to swap these rvalue tuples. Any other usage is not supported.
-template<typename... T>
-struct tuplewrapper : public std::tuple<typename std::enable_if<std::is_reference<T>::value, T&&>::type...> {
-    // In the context of this class, T is a reference, so T&& is a "forwarding reference"
-    typedef std::tuple<T&&...> base_type;
-    // Construct from the result of std::tie
-    tuplewrapper(const base_type& in) : base_type(in) {}
+  namespace internal {
+
+    template <size_t N>
+    struct tuple_util {
+      template <typename TupleType, typename DifferenceType>
+      static void increment(TupleType& it, DifferenceType forward) {
+        std::get<N - 1>(it) += forward;
+        tuple_util<N - 1>::increment(it, forward);
+      }
+      template <typename TupleType, typename DifferenceType>
+      static bool check_sync(const TupleType& it1, const TupleType& it2,
+                             DifferenceType val) {
+        if (std::get<N - 1>(it1) - std::get<N - 1>(it2) != val) return false;
+        return tuple_util<N - 1>::check_sync(it1, it2, val);
+      }
+    };
+
+    template <>
+    struct tuple_util<0> {
+      template <typename TupleType, typename DifferenceType>
+      static void increment(TupleType&, DifferenceType) {}
+      template <typename TupleType, typename DifferenceType>
+      static bool check_sync(const TupleType&, const TupleType&, DifferenceType) {
+        return true;
+      }
+    };
+
+    template <typename TupleReturnType>
+    struct make_references {
+      template <typename TupleType, std::size_t... Is>
+      TupleReturnType operator()(const TupleType& t,
+                                 random_iterator_tbb::internal::index_sequence<Is...>) {
+        return std::tie(*std::get<Is>(t)...);
+      }
+    };
+
+    // A simple wrapper over a tuple of references.
+    // The class is designed to hold a temporary tuple of reference
+    // after dereferencing a zip_iterator; in particular, it is needed
+    // to swap these rvalue tuples. Any other usage is not supported.
+    template <typename... T>
+    struct tuplewrapper
+        : public std::tuple<
+              typename std::enable_if<std::is_reference<T>::value, T&&>::type...> {
+      // In the context of this class, T is a reference, so T&& is a "forwarding
+      // reference"
+      typedef std::tuple<T&&...> base_type;
+      // Construct from the result of std::tie
+      tuplewrapper(const base_type& in)
+          : base_type(in) {}
 #if __INTEL_COMPILER
-    // ICC cannot generate copy ctor & assignment
-    tuplewrapper(const tuplewrapper& rhs) : base_type(rhs) {}
-    tuplewrapper& operator=(const tuplewrapper& rhs) {
+      // ICC cannot generate copy ctor & assignment
+      tuplewrapper(const tuplewrapper& rhs)
+          : base_type(rhs) {}
+      tuplewrapper& operator=(const tuplewrapper& rhs) {
         *this = base_type(rhs);
         return *this;
-    }
+      }
 #endif
-    // Assign any tuple convertible to std::tuple<T&&...>: *it = a_tuple;
-    template<typename... U>
-    tuplewrapper& operator=(const std::tuple<U...>& other) {
+      // Assign any tuple convertible to std::tuple<T&&...>: *it = a_tuple;
+      template <typename... U>
+      tuplewrapper& operator=(const std::tuple<U...>& other) {
         base_type::operator=(other);
         return *this;
-    }
+      }
 #if _LIBCPP_VERSION
-    // (Necessary for libc++ tuples) Convert to a tuple of values: v = *it;
-    operator std::tuple<typename std::remove_reference<T>::type...>() { return base_type(*this); }
+      // (Necessary for libc++ tuples) Convert to a tuple of values: v = *it;
+      operator std::tuple<typename std::remove_reference<T>::type...>() {
+        return base_type(*this);
+      }
 #endif
-    // Swap rvalue tuples: swap(*it1,*it2);
-    friend void swap(tuplewrapper&& a, tuplewrapper&& b) {
-        std::swap<T&&...>(a,b);
-    }
-};
+      // Swap rvalue tuples: swap(*it1,*it2);
+      friend void swap(tuplewrapper&& a, tuplewrapper&& b) { std::swap<T&&...>(a, b); }
+    };
 
-} //namespace internal
+  } // namespace internal
 
-template <typename... Types>
-class zip_iterator {
-    __RANDOM_ITERATOR_TBB_STATIC_ASSERT(sizeof...(Types)>0, "Cannot instantiate zip_iterator with empty template parameter pack");
+  template <typename... Types>
+  class zip_iterator {
+    __RANDOM_ITERATOR_TBB_STATIC_ASSERT(
+        sizeof...(Types) > 0,
+        "Cannot instantiate zip_iterator with empty template parameter pack");
     static const std::size_t num_types = sizeof...(Types);
     typedef std::tuple<Types...> it_types;
-public:
+
+  public:
     typedef typename std::make_signed<std::size_t>::type difference_type;
     typedef std::tuple<typename std::iterator_traits<Types>::value_type...> value_type;
 #if __INTEL_COMPILER && __INTEL_COMPILER < 1800 && _MSC_VER
     typedef std::tuple<typename std::iterator_traits<Types>::reference...> reference;
 #else
-    typedef random_iterator_tbb::internal::tuplewrapper<typename std::iterator_traits<Types>::reference...> reference;
+    typedef random_iterator_tbb::internal::tuplewrapper<
+        typename std::iterator_traits<Types>::reference...>
+        reference;
 #endif
     typedef std::tuple<typename std::iterator_traits<Types>::pointer...> pointer;
     typedef std::random_access_iterator_tag iterator_category;
 
-    zip_iterator() : my_it() {}
-    explicit zip_iterator(Types... args) : my_it(std::make_tuple(args...)) {}
-    zip_iterator(const zip_iterator& input) : my_it(input.my_it) {}
+    zip_iterator()
+        : my_it() {}
+    explicit zip_iterator(Types... args)
+        : my_it(std::make_tuple(args...)) {}
+    zip_iterator(const zip_iterator& input)
+        : my_it(input.my_it) {}
     zip_iterator& operator=(const zip_iterator& input) {
-        my_it = input.my_it;
-        return *this;
+      my_it = input.my_it;
+      return *this;
     }
 
     reference operator*() const {
-        return random_iterator_tbb::internal::make_references<reference>()(my_it, random_iterator_tbb::internal::make_index_sequence<num_types>());
+      return random_iterator_tbb::internal::make_references<reference>()(
+          my_it, random_iterator_tbb::internal::make_index_sequence<num_types>());
     }
     reference operator[](difference_type i) const { return *(*this + i); }
 
     difference_type operator-(const zip_iterator& it) const {
-        __RANDOM_ITERATOR_TBB_ASSERT(internal::tuple_util<num_types>::check_sync(my_it, it.my_it, std::get<0>(my_it) - std::get<0>(it.my_it)),
-                     "Components of zip_iterator are not synchronous");
-        return std::get<0>(my_it) - std::get<0>(it.my_it);
+      __RANDOM_ITERATOR_TBB_ASSERT(
+          internal::tuple_util<num_types>::check_sync(
+              my_it, it.my_it, std::get<0>(my_it) - std::get<0>(it.my_it)),
+          "Components of zip_iterator are not synchronous");
+      return std::get<0>(my_it) - std::get<0>(it.my_it);
     }
 
     zip_iterator& operator+=(difference_type forward) {
-        internal::tuple_util<num_types>::increment(my_it, forward);
-        return *this;
+      internal::tuple_util<num_types>::increment(my_it, forward);
+      return *this;
     }
     zip_iterator& operator-=(difference_type backward) { return *this += -backward; }
     zip_iterator& operator++() { return *this += 1; }
     zip_iterator& operator--() { return *this -= 1; }
 
     zip_iterator operator++(int) {
-        zip_iterator it(*this);
-        ++(*this);
-        return it;
+      zip_iterator it(*this);
+      ++(*this);
+      return it;
     }
     zip_iterator operator--(int) {
-        zip_iterator it(*this);
-        --(*this);
-        return it;
+      zip_iterator it(*this);
+      --(*this);
+      return it;
     }
 
     zip_iterator operator-(difference_type backward) const {
-        zip_iterator it(*this);
-        return it -= backward;
+      zip_iterator it(*this);
+      return it -= backward;
     }
     zip_iterator operator+(difference_type forward) const {
-        zip_iterator it(*this);
-        return it += forward;
+      zip_iterator it(*this);
+      return it += forward;
     }
-    friend zip_iterator operator+(difference_type forward, const zip_iterator& it) { return it + forward; }
-
-    bool operator==(const zip_iterator& it) const {
-        return *this - it == 0;
+    friend zip_iterator operator+(difference_type forward, const zip_iterator& it) {
+      return it + forward;
     }
+
+    bool operator==(const zip_iterator& it) const { return *this - it == 0; }
     it_types base() const { return my_it; }
 
     bool operator!=(const zip_iterator& it) const { return !(*this == it); }
@@ -268,78 +320,86 @@ public:
     bool operator>(const zip_iterator& it) const { return it < *this; }
     bool operator<=(const zip_iterator& it) const { return !(*this > it); }
     bool operator>=(const zip_iterator& it) const { return !(*this < it); }
-private:
+
+  private:
     it_types my_it;
-};
+  };
 
-template<typename... T>
-zip_iterator<T...> make_zip_iterator(T... args) { return zip_iterator<T...>(args...); }
+  template <typename... T>
+  zip_iterator<T...> make_zip_iterator(T... args) {
+    return zip_iterator<T...>(args...);
+  }
 
-template <typename UnaryFunc, typename Iter>
-class transform_iterator {
-public:
+  template <typename UnaryFunc, typename Iter>
+  class transform_iterator {
+  public:
     typedef typename std::iterator_traits<Iter>::value_type value_type;
     typedef typename std::iterator_traits<Iter>::difference_type difference_type;
 #if __RANDOM_ITERATOR_TBB_CPP17_INVOKE_RESULT_PRESENT
-    typedef typename std::invoke_result<UnaryFunc, typename std::iterator_traits<Iter>::reference>::type reference;
+    typedef typename std::invoke_result<
+        UnaryFunc, typename std::iterator_traits<Iter>::reference>::type reference;
 #else
-    typedef typename std::result_of<UnaryFunc(typename std::iterator_traits<Iter>::reference)>::type reference;
+    typedef typename std::result_of<UnaryFunc(
+        typename std::iterator_traits<Iter>::reference)>::type reference;
 #endif
     typedef typename std::iterator_traits<Iter>::pointer pointer;
     typedef typename std::random_access_iterator_tag iterator_category;
 
-    transform_iterator(Iter it, UnaryFunc unary_func) : my_it(it), my_unary_func(unary_func) {
-        __RANDOM_ITERATOR_TBB_STATIC_ASSERT((std::is_same<typename std::iterator_traits<Iter>::iterator_category,
-                             std::random_access_iterator_tag>::value), "Random access iterator required.");
+    transform_iterator(Iter it, UnaryFunc unary_func)
+        : my_it(it)
+        , my_unary_func(unary_func) {
+      __RANDOM_ITERATOR_TBB_STATIC_ASSERT(
+          (std::is_same<typename std::iterator_traits<Iter>::iterator_category,
+                        std::random_access_iterator_tag>::value),
+          "Random access iterator required.");
     }
-    transform_iterator(const transform_iterator& input) : my_it(input.my_it), my_unary_func(input.my_unary_func) { }
+    transform_iterator(const transform_iterator& input)
+        : my_it(input.my_it)
+        , my_unary_func(input.my_unary_func) {}
     transform_iterator& operator=(const transform_iterator& input) {
-        my_it = input.my_it;
-        return *this;
-    }
-    reference operator*() const {
-        return my_unary_func(*my_it);
-    }
-    reference operator[](difference_type i) const {
-        return *(*this + i);
+      my_it = input.my_it;
+      return *this;
     }
+    reference operator*() const { return my_unary_func(*my_it); }
+    reference operator[](difference_type i) const { return *(*this + i); }
     transform_iterator& operator++() {
-        ++my_it;
-        return *this;
+      ++my_it;
+      return *this;
     }
     transform_iterator& operator--() {
-        --my_it;
-        return *this;
+      --my_it;
+      return *this;
     }
     transform_iterator operator++(int) {
-        transform_iterator it(*this);
-        ++(*this);
-        return it;
+      transform_iterator it(*this);
+      ++(*this);
+      return it;
     }
     transform_iterator operator--(int) {
-        transform_iterator it(*this);
-        --(*this);
-        return it;
+      transform_iterator it(*this);
+      --(*this);
+      return it;
     }
     transform_iterator operator+(difference_type forward) const {
-        return { my_it + forward, my_unary_func };
+      return {my_it + forward, my_unary_func};
     }
     transform_iterator operator-(difference_type backward) const {
-        return { my_it - backward, my_unary_func };
+      return {my_it - backward, my_unary_func};
     }
     transform_iterator& operator+=(difference_type forward) {
-        my_it += forward;
-        return *this;
+      my_it += forward;
+      return *this;
     }
     transform_iterator& operator-=(difference_type backward) {
-        my_it -= backward;
-        return *this;
+      my_it -= backward;
+      return *this;
     }
-    friend transform_iterator operator+(difference_type forward, const transform_iterator& it) {
-        return it + forward;
+    friend transform_iterator operator+(difference_type forward,
+                                        const transform_iterator& it) {
+      return it + forward;
     }
     difference_type operator-(const transform_iterator& it) const {
-        return my_it - it.my_it;
+      return my_it - it.my_it;
     }
     bool operator==(const transform_iterator& it) const { return *this - it == 0; }
     bool operator!=(const transform_iterator& it) const { return !(*this == it); }
@@ -349,17 +409,19 @@ public:
     bool operator>=(const transform_iterator& it) const { return !(*this < it); }
 
     Iter base() const { return my_it; }
-private:
+
+  private:
     Iter my_it;
     const UnaryFunc my_unary_func;
-};
+  };
 
-template<typename UnaryFunc, typename Iter>
-transform_iterator<UnaryFunc, Iter> make_transform_iterator(Iter it, UnaryFunc unary_func) {
+  template <typename UnaryFunc, typename Iter>
+  transform_iterator<UnaryFunc, Iter> make_transform_iterator(Iter it,
+                                                              UnaryFunc unary_func) {
     return transform_iterator<UnaryFunc, Iter>(it, unary_func);
-}
+  }
 
-} //namespace random_iterator_tbb
+} // namespace random_iterator_tbb
 
 #endif //__RANDOM_ITERATOR_TBB_CPP11_PRESENT