_yanera Struct Reference


Detailed Description

--------------------------------------------------------------------------- This container holds everything. The idea is this: a pointer to a single yanera_container allocated in the main loop of the program is passed down through the function calls. Every function thus has access to all the stored information; but mostly it is to allow access to the information in _misc and _parameters.

The data model followed here is closely related to the document model of the XML input, that is to say, the first model is a complete description of that model, and additional models only show modifications to that base model. Thus, the XML file is read into models_xml just as they appear in the XML file. Then models_complete is contructed from the models_xml.

Bug:
There's no completeness checking of the complete models, although that should be trivial.
Shared components are stored in component.

Access to paramters is simple, for example, to retrieve the real SLD from a layer with either layer_id "L" or name "NAME" from within a certain model with data_idref "M", one can try the psuedocode here

  yanera_container *y;
  yanera_layer     *l;
First walk down the model list:
  for i=0 to y->number_of_models-1
  {
    if (y->model[i].idref == "M") break;
  }
Now traverse the layer list:
  l = y->model[i].layer;
  while ((l->id != "L") || (l->name != "NAME"))
  {
    l = l->next;
  }
At this point, l now points to desired layer in desired model, and the value of a parameter, rsld for example, can be easily obtained:
  y->parameters.p[l->rsld] 

Definition at line 568 of file yanera.h.


Data Fields

enum model_type type
double(* parrattFunction )(double, yanera_model *, struct _yanera *)
double(* profileFunctionReal )(double, yanera_model *, struct _yanera *)
double(* profileFunctionImag )(double, yanera_model *, struct _yanera *)
yanera_model models_xml [10]
yanera_model models_complete [10]
yanera_data data [10]
unsigned short number_of_models
unsigned short number_of_data
unsigned short idx
yanera_parameters parameters
yanera_layercomponents
yanera_misc misc
char * filename

Field Documentation

See model_type

Definition at line 572 of file yanera.h.

double(* _yanera::parrattFunction)(double, yanera_model *, struct _yanera *)

PLEASE FILL IN

double(* _yanera::profileFunctionReal)(double, yanera_model *, struct _yanera *)

PLEASE FILL IN

double(* _yanera::profileFunctionImag)(double, yanera_model *, struct _yanera *)

PLEASE FILL IN

Linked list of models as specified by the XML input file See _model

Definition at line 595 of file yanera.h.

The complete models, one for every data set See _model

Definition at line 600 of file yanera.h.

The data sets to be fitted See _data

Definition at line 605 of file yanera.h.

unsigned short _yanera::number_of_models

Self explanatory.

Definition at line 609 of file yanera.h.

unsigned short _yanera::number_of_data

Self explanatory.

Definition at line 613 of file yanera.h.

unsigned short _yanera::idx

Index for fitting routines.

Definition at line 617 of file yanera.h.

See _parameters

Definition at line 621 of file yanera.h.

Linked list of common layer components. See _layer

Definition at line 626 of file yanera.h.

Miscellaneous data. See _misc

Definition at line 631 of file yanera.h.

XML filename

Definition at line 635 of file yanera.h.


The documentation for this struct was generated from the following file:

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