00001
00002 #ifndef PHASER_TYPES
00003 #define PHASER_TYPES
00004
00005 #include <vector>
00006
00007 #include <boost/smart_ptr.hpp>
00008 #include <scitbx/vec3.h>
00009 #include <scitbx/mat3.h>
00010 #include <scitbx/array_family/shared.h>
00011 #include <scitbx/array_family/misc_functions.h>
00012
00013
00014 namespace phaser { namespace af = scitbx::af; }
00015 namespace phaser { namespace fn = scitbx::fn; }
00016 typedef double floatType;
00017
00018 namespace phaser {
00019
00020
00021 typedef std::vector<std::vector<std::vector<std::vector<std::vector<std::vector<floatType> > > > > > float6D;
00022 typedef std::vector<std::vector<std::vector<std::vector<std::vector<floatType> > > > > float5D;
00023 typedef std::vector<std::vector<std::vector<std::vector<floatType> > > > float4D;
00024 typedef std::vector<std::vector<std::vector<floatType> > > float3D;
00025 typedef std::vector<std::vector<floatType> > float2D;
00026 typedef std::vector<floatType> float1D;
00027
00028 typedef std::complex<floatType> cmplxType;
00029 typedef std::vector<std::vector<std::vector<std::vector<cmplxType> > > > cmplx4D;
00030 typedef std::vector<std::vector<std::vector<cmplxType> > > cmplx3D;
00031 typedef std::vector<std::vector<cmplxType> > cmplx2D;
00032 typedef std::vector<cmplxType> cmplx1D;
00033
00034 typedef std::vector<std::vector<std::vector<std::vector<bool> > > > bool4D;
00035 typedef std::vector<std::vector<std::vector<bool> > > bool3D;
00036 typedef std::vector<std::vector<bool> > bool2D;
00037 typedef std::vector<bool> bool1D;
00038
00039 typedef std::vector<std::vector<std::vector<std::vector<unsigned> > > > unsigned4D;
00040 typedef std::vector<std::vector<std::vector<unsigned> > > unsigned3D;
00041 typedef std::vector<std::vector<unsigned> > unsigned2D;
00042 typedef std::vector<unsigned> unsigned1D;
00043
00044 typedef std::vector<std::vector<std::vector<std::vector<std::string> > > > string4D;
00045 typedef std::vector<std::vector<std::vector<std::string> > > string3D;
00046 typedef std::vector<std::vector<std::string> > string2D;
00047 typedef std::vector<std::string> string1D;
00048
00049 typedef std::vector<std::vector<std::vector<std::vector<int> > > > int4D;
00050 typedef std::vector<std::vector<std::vector<int> > > int3D;
00051 typedef std::vector<std::vector<int> > int2D;
00052 typedef std::vector<int> int1D;
00053
00054 typedef scitbx::vec3<floatType> dvect3;
00055 typedef scitbx::mat3<floatType> dmat33;
00056 typedef scitbx::vec3<int> ivect3;
00057 typedef scitbx::mat3<int> imat33;
00058
00059 typedef double dFloatType;
00060 typedef std::vector<std::vector<std::vector<std::vector<dFloatType> > > > dFloat4D;
00061 typedef std::vector<std::vector<std::vector<dFloatType> > > dFloat3D;
00062 typedef std::vector<std::vector<dFloatType> > dFloat2D;
00063 typedef std::vector<dFloatType> dFloat1D;
00064
00065 typedef std::complex<double> dCmplxType;
00066 typedef std::vector<std::vector<std::vector<std::vector<dCmplxType> > > > dCmplx4D;
00067 typedef std::vector<std::vector<std::vector<dCmplxType> > > dCmplx3D;
00068 typedef std::vector<std::vector<dCmplxType> > dCmplx2D;
00069 typedef std::vector<dCmplxType> dCmplx1D;
00070
00071
00072 }
00073
00074
00075
00076 #endif