 //      logLs.write(logLsVals.data(), H5::PredType::NATIVE_FLOAT, memSpace, expectedLambdaSpace);
       //expectedLambdaFile.flush(H5F_SCOPE_LOCAL);
       //hIntensity2.assign(dIntensity2.begin(), dIntensity2.end());
-	int maxR = maxidx / grid.y / block.y / grid.x / block.x;
-	int maxX = maxidx % block.x;
-	int maxY = (maxidx / (grid.x * block.x)) % block.y;
-	int maxI = (maxidx / (block.x * grid.x * block.y)) % grid.y;
-	int maxI2 = (maxidx / block.x) % grid.x;
-
-      printf("%d %d %lf %g %g %g %d %d %d %d %g %d %d\n", img, psum, lsum, minval, maxval, hIntensity[0], maxR, maxX, maxY, cudaGetLastError(), maxint, maxI, maxI2);
-      fflush(stdout);
+
     }
 }

const int NX = 414;
const int NY = 414;

struct idealsphere : public thrust::unary_function<int, float>
{
  float rfactor;
  float roffset;
  float baseoffsetx;
  float baseoffsety;
  float lfactor;
  float ebase;
  float offsetx, offsety;
//  float arraybase;
  float r;
  int tid;
  int extrax;
  int extray;
  thrust::device_ptr<short> dPhotons;
  thrust::device_ptr<float> dLambdas;

  idealsphere(thrust::device_vector<short>& dPhotons, thrust::device_vector<float>& dLambdas) :

#include <boost/multi_array.hpp>
#include <H5Cpp.h>

#include <cufft.h>
#include <thrust/execution_policy.h>
#include <thrust/device_vector.h>
#include <thrust/copy.h>
