GLAMERDOC++
Gravitational Lensing Code Library
Loading...
Searching...
No Matches
SLsimLib
include
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
/*
45
struct 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
61
typedef struct branchstruct Branch;
62
*/
63
64
65
66
#endif
standard.h
Generated on Sun Sep 8 2024 19:31:03 for GLAMERDOC++ by
1.12.0