added wave function initialization; switched lattice and rng object pointers to std::shared_ptr (because ownership was unclear before ...)