diff options
author | jthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5> | 2001-07-14 13:43:37 +0000 |
---|---|---|
committer | jthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5> | 2001-07-14 13:43:37 +0000 |
commit | 00d7fc97b07de96ff89a7310babe353558142fce (patch) | |
tree | fa66b23f5b0b6d41f3208c05899cad293dfbeaa9 /src/patch/patch_system.hh | |
parent | 8dda036d837c0aafdf5d5e9fb2e598f6292b0a47 (diff) |
revise patch numbers and comments on them
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/AHFinderDirect/trunk@145 f88db872-0e4f-0410-b76b-b9085cfa78c5
Diffstat (limited to 'src/patch/patch_system.hh')
-rw-r--r-- | src/patch/patch_system.hh | 110 |
1 files changed, 60 insertions, 50 deletions
diff --git a/src/patch/patch_system.hh b/src/patch/patch_system.hh index 4d4e45f..cea07da 100644 --- a/src/patch/patch_system.hh +++ b/src/patch/patch_system.hh @@ -1,7 +1,7 @@ // patch_system.hh -- describes the (an) entire system of interlinked patches // $Id$ // -// patch_system - describes an entire system of interlinked patches +// patch_system - describes a system of interlinked patches // // @@ -25,110 +25,120 @@ //***************************************************************************** // -// This class describes the (an) entire system of interlinked patches. +// a patch_system object describes a system of interlinked patches. // class patch_system { public: // - // ***** meta-info for decoding patch system type, patch numbers ***** + // ***** static data & functions describing patch systems ***** // // what patch-system type are supported? - enum patch_system_type { octant, quarter, half, full }; + enum patch_system_type { + full_patch_system, + half_patch_system, + quarter_patch_system, + octant_patch_system + }; // decode patch system type into N_patches static int N_patches_of_type(enum patch_system_type type); - // decode patch system type into human-readable type name (C string) + // decode patch system type into human-readable character-string name static const char *name_of_type(enum patch_system_type type); + // largest number of patches for any patch system type + static const int max_N_patches = 6; + + // + // patch numbers (static data) // - // patch numbers etc (just static constant data) + // alas, the set of patches for a quarter patch system isn't + // a subset of the set of patches for a half patch system, + // so we can't assign the same patch numbers to a given patch + // type in each type of patch system, and still keep each + // patch system having a contiguous range of patch numbers :( // class patch_numbers { - public: - // largest number of patches for any patch system type - static const int max_N_patches = 6; - // - // octant patch system - // * 90 degree periodic rotation symmetry about z axis - // * mirror symmetry across z=0 plane - // +z patch dmu in [0,45] dnu in [0,45] (45 x 45) - // +x patch dnu in [45,90] dphi in [0,45] (45 x 45) - // +y patch dmu in [45,90] dphi in [45,90] (45 x 45) + // patch numbers for full-grid patch system + // +z patch: dmu in [ -45, 45], dnu in [ -45, 45] (90 x 90) + // +x patch: dnu in [ 45, 135], dphi in [ -45, 45] (90 x 90) + // +y patch: dmu in [ 45, 135], dphi in [ 45, 135] (90 x 90) + // -x patch: dnu in [-135, -45], dphi in [ 135, 225] (90 x 90) + // -y patch: dmu in [-135, -45], dphi in [-135, -45] (90 x 90) + // -z patch: dmu in [ 135, 225], dnu in [ 135, 225] (90 x 90) // - class octant + class full_patch_system { public: - static const int N_patches = 3; + static const int N_patches = 6; static const int plus_z = 0; static const int plus_x = 1; static const int plus_y = 2; + static const int minus_x = 3; + static const int minus_y = 4; + static const int minus_z = 5; }; // - // quarter patch system - // * 90 degree periodic rotation symmetry about z axis - // +z patch dmu in [0,45] dnu in [0,45] (45 x 45) - // +x patch dnu in [45,135] dphi in [0,45] (90 x 45) - // +y patch dmu in [45,135] dphi in [45,90] (90 x 45) - // -z patch dmu in [135,180] dnu in [135,180] (45 x 45) + // patch numbers for half-grid patch system + // (mirror symmetry across z=0 plane) + // +z patch: dmu in [ -45, 45], dnu in [ -45, 45] (90 x 90) + // +x patch: dnu in [ 45, 90], dphi in [ -45, 45] (45 x 90) + // +y patch: dmu in [ 45, 90], dphi in [ 45, 135] (45 x 90) + // -x patch: dnu in [ -90, -45], dphi in [ 135, 225] (45 x 90) + // -y patch: dmu in [ -90, -45], dphi in [-135, -45] (45 x 90) // - class quarter + class half_patch_system { public: - static const int N_patches = 4; + static const int N_patches = 5; static const int plus_z = 0; static const int plus_x = 1; static const int plus_y = 2; - static const int minus_z = 3; + static const int minus_x = 3; + static const int minus_y = 4; }; // - // half - // * mirror symmetry across z=0 plane - // +z patch dmu in [-45,45] dnu in [-45,45] (90 x 90) - // +x patch dnu in [45,90] dphi in [-45,45] (45 x 90) - // +y patch dmu in [45,90] dphi in [45,135] (45 x 90) - // -x patch dnu in [-90,-45] dphi in [135,225] (45 x 90) - // -y patch dmu in [-90,-45] dphi in [225,315] (45 x 90) + // patch numbers for quarter-grid patch system + // (90 degree periodic rotation symmetry about z axis) + // +z patch: dmu in [ 0, 45], dnu in [ 0, 45] (45 x 45) + // +x patch: dnu in [ 45, 135], dphi in [ 0, 45] (90 x 45) + // +y patch: dmu in [ 45, 135], dphi in [ 45, 90] (90 x 45) + // -z patch: dmu in [ 135, 180], dnu in [ 135, 180] (45 x 45) // - class half + class quarter_patch_system { public: - static const int N_patches = 5; + static const int N_patches = 4; static const int plus_z = 0; static const int plus_x = 1; static const int plus_y = 2; - static const int minus_x = 3; - static const int minus_y = 4; + static const int minus_z = 3; }; // - // full - // +z patch dmu in [-45,45] dnu in [-45,45] (90 x 90) - // +x patch dnu in [45,135] dphi in [-45,45] (90 x 90) - // +y patch dmu in [45,135] dphi in [45,135] (90 x 90) - // -x patch dnu in [-135,-45] dphi in [135,225] (90 x 90) - // -y patch dmu in [-135,-45] dphi in [225,315] (90 x 90) - // -z patch dmu in [135,225] dnu in [135,225] (90 x 90) + // patch numbers for octant patch system + // (90 degree periodic rotation symmetry about z axis + // *and* mirror symmetry across z=0 plane) + // +z patch: dmu in [ 0, 45], dnu in [ 0, 45] (45 x 45) + // +x patch: dnu in [ 45, 90], dphi in [ 0, 45] (45 x 45) + // +y patch: dmu in [ 45, 90], dphi in [ 45, 90] (45 x 45) // - class full + class octant_patch_system { public: - static const int N_patches = 6; + static const int N_patches = 3; static const int plus_z = 0; static const int plus_x = 1; static const int plus_y = 2; - static const int minus_x = 3; - static const int minus_y = 4; - static const int minus_z = 5; }; }; |