DRMS_Array_struct Struct Reference

DRMS array struct. More...

#include <drms_types.h>

Collaboration diagram for DRMS_Array_struct:

Data Fields

int axis [DRMS_MAXRANK]
 Size of each dimension.
double bscale
 Slope for parent->child.
long long buflen
 Size of string buffer.
double bzero
 Zero point for parent->child mapping.
void * data
 Data stored in column major order.
int dope [DRMS_MAXRANK]
 Dimension offset multipliers.
int israw
 Do the values represent true values? Is this read in with type=DRMS_TYPE_RAW? If israw==0 then shift and scaling have been applied to the data and they represent the "true" values. If israw==1 then no shift and scaling have been applied to the data.
int naxis
 Number of dimensions.
struct DRMS_Segment_structparent_segment
 Parent segment.
int start [DRMS_MAXRANK]
 Start offset of slice in parent.
char * strbuf
 String buffer used for packed string arrays.
DRMS_Type_t type
 Datatype of the data elements.

Detailed Description

DRMS array struct.

The DRMS_Array_t data stucture represents an n-dimensional array of scalar data. It is used for internal memory access to data structures read from, or to be written to, record segments. The array data are stored in column-major order at the memory location pointed to by the data element.

The fields israw, bscale, and bzero describe how the data contained in the array data structure relate to the "true" values they are supposed to represent. In the most frequently used case, israw=0, the data stored in memory represent the "true" values of the array, and bzero and bscale contain the shift and scaling (if any) applied to the data when they were read in from external storage. If israw=1, then the data stored in memory represent the unscaled "raw" values of the array, and the true values may be obtained by applying the scaling transformations, if any:

    f(x) = bzero + bscale * x, if x != MISSING
         = MISSING           , if x == MISSING

If the array struct contains data from a DRMS data segment, as returned by the functions drms_segment_readslice or drms_segment_read, then the parent_segment field points to the data segment from which the array data originate.

If the array contains a slice of the parent then the start field contains the starting indices of the slice in the parent array. For example: If an array contains the lower 2x2 elements of a 4x3 data segment then the struct would contain

    array.naxis = 2
    array.axis = [2,2]
    array.start = [2,1]

Definition at line 1033 of file drms_types.h.

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

Generated on Thu Mar 23 07:00:34 2017 for JSOC_Documentation by  doxygen