#ifndef KERNEL_HPP
#define KERNEL_HPP

#include "physics.hpp"
#include "geometry.hpp"
#include "time.hpp"


class Kernel{
public:
  Geometry& geometry;
  size_t step;
  double*** P;
  
  size_t nZ(size_t ix);
  double Z(size_t ix,size_t iz);
  void next();
};

inline size_t
Kernel::nZ(size_t ix){
  return geometry.nZ[ix];
}

inline double
Kernel::Z(size_t ix,size_t iz){
  return geometry.Z[ix][iz];
}

#endif
