GLAMERDOC++
Gravitational Lensing Code Library
Loading...
Searching...
No Matches
pointlist.h
1/*
2 * point.h
3 *
4 * Created on: Nov 15, 2010
5 * Author: bmetcalf
6 *
7 * Defines Point and Branch type.
8 *
9 * The Branch type needs to be defined here so that point.leaf can be defined.
10 */
11
12
13#ifndef pointtypes_declare
14#define pointtypes_declare
15
16#include "standard.h"
17#include <point.h>
18
19//struct Point;
20//struct Branch;
21
23/*typedef struct Point{
24 struct Point *next; // pointer to next point in linked list
25 struct Point *prev;
26 struct Point *image; // pointer to point on image or source plane
27 unsigned long id;
28 double *x; // the position of the point
29 unsigned long head; // marks beginning of allocated array of points for easy deallocation
30 Boo in_image; // marks if point is in image
31
32 // redundant information in image and source points
33 KappaType kappa; // surface density
34 KappaType gamma[3]; // shear, third component is the rotation quantity that is only non-zero for multi-plane lensing
35 KappaType dt; // time delay
36 float invmag; // inverse of magnification
37 double gridsize; // the size of the most refined grid the point is in
38 float surface_brightness; // the surface brightness at this points
39
40 struct Branch;
41 Branch *leaf;
42
43} Point;
44/*
45struct branchstruct{
46 struct Point *points; // pointer to first points in Branch
47 unsigned long npoints;
48 double center[2];
49 int level;
50 unsigned long number;
51 double boundary_p1[2];
52 double boundary_p2[2];
53 struct branchstruct *child1;
54 struct branchstruct *child2;
55 struct branchstruct *brother;
56 struct branchstruct *prev;
58 bool refined;
59} ;
60
61typedef struct branchstruct Branch;
62*/
63
64
65
66#endif