method actually uses CGaussianDistribution which needs Eigen3 so ifdef with that