yanera.h File Reference


Detailed Description

Author:
Thad Harroun <tharroun@brocku.ca>
This file is a global header file, that outlines the yanera_container struct, and everything in it. It should be included in every source file.

Definition in file yanera.h.

Go to the source code of this file.

Data Structures

struct  _postfix_queue_element
 Linked list element holding data for evaluating function expressions. More...
struct  _postfix_queue
 Linked list for evaluating functional expreessions. More...
struct  _layer
 This struct is for all layer and component types. More...
struct  _slabs
 The struct containing slab information. More...
struct  _resolution
 The struct for resolution information. More...
struct  _data
 The struct for data. More...
struct  _model
 The struct for each model. More...
struct  _parameters
 All the adjustable parameters are in this struct. More...
struct  _misc
 Miscellaneous data structure for data without catagory. More...
struct  _yanera
 A container struct for holding everything. More...

Typedefs

typedef struct
_postfix_queue_element 
yanera_postfix_queue_element
typedef struct _postfix_queue yanera_postfix
typedef struct _layer yanera_layer
typedef struct _slabs yanera_slabs
typedef struct _resolution yanera_resolution
typedef struct _data yanera_data
typedef struct _model yanera_model
typedef struct _parameters yanera_parameters
typedef struct _misc yanera_misc
typedef struct _yanera yanera_container

Enumerations

enum  fit_constraint_type { CONSTRAIN_NONE, CONSTRAIN_MAX, CONSTRAIN_MIN, CONSTRAIN_BOTH }
 Enum definitions for fit constraints. More...
enum  fit_weighting_type { WEIGHT_NONE, WEIGHT_R, WEIGHT_SQRT, WEIGHT_DATA }
 Enum definitions for data weighting. More...
enum  resolution_type {
  RESOLUTION_NONE, RESOLUTION_CONSTANT, RESOLUTION_RELATIVE, RESOLUTION_ARRAY_CONSTANT,
  RESOLUTION_ARRAY_RELATIVE
}
 Enum definitions for keeping track of resolution types. More...
enum  model_type {
  MODEL_NONE, MODEL_LAYER, MODEL_COMPONENT, MODEL_SLAB,
  MODEL_FUNCTION, MODEL_XML, MODEL_COMPLETE
}
 Enum definitions for keeping track of model types. More...
enum  layer_type {
  LAYER_NONE, LAYER_LAYER, LAYER_BULK, LAYER_REPEAT,
  LAYER_SUBSTRATE, LAYER_COMPONENT, LAYER_BOX, LAYER_GAUSSIAN,
  LAYER_FUNCTION
}
 Enum definitions for keeping track of layer types. More...
enum  boolean
 Generic yes/no boolean for convienience. More...
enum  polarized_type { POLARIZED_NONE, POLARIZED_UP, POLARIZED_DOWN, POLARIZED_UNPOLARIZED }
 Enum definition for keeping track of polarization experiment type. More...
enum  fit_method_type {
  CONJUGATE_FR, CONJUGATE_PR, VECTOR_BFGS, STEEP_DESC,
  NMSIMPLEX, SIMAN, LMSDR, LMDR,
  OOL_SPG, OOL_GENCAN, CLMSDR, CLMDR,
  LEVMAR
}
 Enum definition for fitting type. More...

Functions

void yanera_error (const char *reason, const char *file, int line, yanera_container *yc)
 Set the Error Handler.


Typedef Documentation

See _postfix_queue documentation

Definition at line 222 of file yanera.h.

See _postfix_queue documentation

Definition at line 237 of file yanera.h.

typedef struct _layer yanera_layer

See documentation for _layer

Definition at line 346 of file yanera.h.

typedef struct _slabs yanera_slabs

See documentation for _slabs

Definition at line 368 of file yanera.h.

See documentation for _resolution

Definition at line 382 of file yanera.h.

typedef struct _data yanera_data

See documentation for _data

Definition at line 407 of file yanera.h.

typedef struct _model yanera_model

See documentation for _model

Definition at line 449 of file yanera.h.

See documentation for _parameters

Definition at line 467 of file yanera.h.

typedef struct _misc yanera_misc

See documentation for _misc

Definition at line 516 of file yanera.h.

typedef struct _yanera yanera_container

See documentation for _yanera

Definition at line 638 of file yanera.h.


Enumeration Type Documentation

----------------------------------------------- Enum definitions for fit constraints.

Enumerator:
CONSTRAIN_NONE  PLEASE FILL IN
CONSTRAIN_MAX  PLEASE FILL IN
CONSTRAIN_MIN  PLEASE FILL IN
CONSTRAIN_BOTH  PLEASE FILL IN

Definition at line 58 of file yanera.h.

----------------------------------------------- Enum definitions for data weighting. The wieghts are based on the error of the data, $\sigma$, or as defined below.

Enumerator:
WEIGHT_NONE  $\sigma$ = 1
WEIGHT_R  $\sigma = y$
WEIGHT_SQRT  $\sigma = \sqrt{y}$
WEIGHT_DATA  $\sigma = \textrm{data file}$

Definition at line 74 of file yanera.h.

----------------------------------------------- Enum definitions for keeping track of the types of data resolution.

Enumerator:
RESOLUTION_NONE  No instrumental resolution smearing.
RESOLUTION_CONSTANT  $\delta q = \mathrm{const.}$
RESOLUTION_RELATIVE  $\delta q/q = \mathrm{const.}$
RESOLUTION_ARRAY_CONSTANT  Treat as constant, but calculate from an array of values
RESOLUTION_ARRAY_RELATIVE  Treat as relative, but calculate from an array of values

Definition at line 89 of file yanera.h.

enum model_type

----------------------------------------------- Enum definitions for keeping track of model types.

Enumerator:
MODEL_NONE  General flag is no type is specified
MODEL_LAYER  Direct : Ordinary parratt layer model
MODEL_COMPONENT  Tiny slab : Component (box and gaussian) model
MODEL_SLAB  Tiny slab : Layer model broken into tiny slabs
MODEL_FUNCTION  Tiny slab : Function model
MODEL_XML  When linking a new XML model to the list, specifiy XML with this flag
MODEL_COMPLETE  When linking a new complete model to the list, specifiy that it should be linked to the complete list with this flag

Definition at line 106 of file yanera.h.

enum layer_type

----------------------------------------------- Each layer type is going to be one of these enum types. The types are pretty much self-explanatory.

Enumerator:
LAYER_NONE  FILL IN
LAYER_LAYER  FILL IN
LAYER_BULK  FILL IN
LAYER_REPEAT  FILL IN
LAYER_SUBSTRATE  FILL IN
LAYER_COMPONENT  FILL IN
LAYER_BOX  FILL IN
LAYER_GAUSSIAN  FILL IN
LAYER_FUNCTION  FILL IN

Definition at line 130 of file yanera.h.

enum boolean

----------------------------------------------- Generic yes/no boolean for convienience

Definition at line 146 of file yanera.h.

----------------------------------------------- Polarization is indicated by these definitions.

Enumerator:
POLARIZED_NONE  Unpolarized condition
POLARIZED_UP  Total SLD = Real nuclear SLD + Magnetic SLD
POLARIZED_DOWN  Total SLD = Real nuclear SLD - Magnetic SLD
POLARIZED_UNPOLARIZED  Total SLD = Real nuclear SLD only, used to output as xml

Definition at line 156 of file yanera.h.

----------------------------------------------- Enum definition for fitting types

Enumerator:
CONJUGATE_FR  FILL IN
CONJUGATE_PR  FILL IN
VECTOR_BFGS  FILL IN
STEEP_DESC  FILL IN
NMSIMPLEX  FILL IN
SIMAN  FILL IN
LMSDR  FILL IN
LMDR  FILL IN
OOL_SPG  FILL IN
OOL_GENCAN  FILL IN
CLMSDR  FILL IN
CLMDR  FILL IN
LEVMAR  FILL IN

Definition at line 171 of file yanera.h.


Function Documentation

void yanera_error ( const char *  reason,
const char *  file,
int  line,
yanera_container yc 
)

This function is called for terminating errors. Turn into a struct is you want to have non terminating error handling.

Definition at line 276 of file yanera_util.c.


Generated on Thu May 29 10:56:33 2008 by  doxygen 1.5.5