Data Set
[Data Objects With Member Functions]


Functions

int M3_DataSetLL_GetNextNodeInList (M3_DataSetLL **dataSetNode)
 Advances to the next node in the data set linked list.
void M3_DataSetLL_GetName (M3_DataSetLL *dataSetNode, char *name, long maxStringLength)
 Gives the name associated with the data set.
int M3_DataSetLL_GetCoveredIntervalRoot (M3_DataSetLL *dataSetNode, M3_IntervalLL **intervalRoot)
 Gives the first covered interval listed in the data set.
void M3_DataSetLL_GetNumNZ (M3_DataSetLL *dataSetNode, int32_t *numNZ)
 Gives the number of non-zero elements per row of the pointing matrix.
int M3_DataSetLL_GetPointingClassRoot (M3_DataSetLL *dataSetNode, M3_PointingClassLL **pointingClassRoot)
 Gives the first pointing class listed in the data set.
void M3_DataSetLL_GetTOD (M3_DataSetLL *dataSetNode, M3_Interval readInterval, double *tod)
 Gives the time ordered data.
void M3_DataSetLL_GetPointing (M3_DataSetLL *dataSetNode, M3_Interval readInterval, M3_PointingEl *pointing)
 Gives the pointing matrix.
void M3_DataSetLL_GetEuler (M3_DataSetLL *dataSetNode, M3_Interval readInterval, double *eulerAngles)
 Gives the first inverse time-time noise correlation object listed in the dataset.
int M3_DataSetLL_GetNoiseFile (M3_DataSetLL *dataSetNode, M3_Interval stationaryInterval, M3_FileLL **noiseFile)
 Gives the inverse time-time noise correlation object listed in the dataset that is associated with a specified stationary interval.

Detailed Description

The data set is a group of time ordered data that has a unique time sample indexing. The information in a data set typically describes a single detector in a single experiment. These data set objects are linked lists and can be traversed with M3_DataSetLL_GetNextNodeInList.

Function Documentation

int M3_DataSetLL_GetCoveredIntervalRoot ( M3_DataSetLL *  dataSetNode,
M3_IntervalLL **  intervalRoot 
)

Gives the first covered interval listed in the data set.

A data set contains time domain data, and these data are discretely sampled. When the run configuration is created the time samples which have all of the data required by the application being run are noted by the covered interval list. This is a list of time sample intervals for which all required data exists, for each time sample interval the noise is described by a single correlation function, and there are no correlations between data in different intervals. These covered time sample intervals are accessible by way of a linked list and the root node of this list is given by this function.

Parameters:
dataSetNode IN: Data Set object from which the covered interval root is obtained.
intervalRoot OUT: An Interval object that is the root node in the list of covered intervals. If no covered intervals exist, then this pointer is set to NULL.
Returns:
If there are covered intervals associated with the dataset then this function returns one otherwise the function returns zero.
The fortran interface:
  INTERFACE
     FUNCTION m3_f90_dataset_getcoveredintervalroot( datasetnode, intervalroot )
       USE M3_typesf
       IMPLICIT NONE
       INTEGER(KIND=int32_t)::m3_f90_dataset_getcoveredintervalroot
       TYPE(m3_f90_dataset), INTENT(IN)::datasetnode
       TYPE(m3_f90_interval), INTENT(OUT)::intervalroot
     END FUNCTION m3_f90_dataset_getcoveredintervalroot
  END INTERFACE
Examples:
binMap.c, and maxMinTOD.c.

Definition at line 883 of file M3.c.

void M3_DataSetLL_GetEuler ( M3_DataSetLL *  dataSetNode,
M3_Interval  readInterval,
double *  eulerAngles 
)

Gives the first inverse time-time noise correlation object listed in the dataset.

Some data analysis applications make the assumption that the time domain noise is correlated, and that these correlations are piece-wise stationary. In this model the inverse time-time noise correlation matrix is block diagonal and these blocks are themselves band diagonal and Toeplitz. The boundaries of the blocks define stationary intervals, and the first row of each block defines the inverse time-time noise correlation function for that interval. Each block of this matrix has a corresponding noise file object associated with it, and these objects are listed in the data set.

This function gives the first element of the list of noise files. The File data object has member functions that can be used to obtain information about the correlation function.

Parameters:
dataSetNode IN: The Data Set object from which the noise file is obtained.
noiseFileRoot OUT: The File object which is the first node in the linked list of files that define the noise correlations for the given data set.
Returns:
If there are any inverse time-time noise correlation files associated with the data set this function returns one, otherwise the function returns zero.

Definition at line 1455 of file M3.c.

References M3_Interval::firstSample, M3_Interval::lastSample, M3_RunConfigStruct_GetTODcache(), M3_TODcacheStruct_AppendRequest(), and M3_TODcacheStruct_Initialize().

Referenced by M3_DataSetLL_GetPointing().

void M3_DataSetLL_GetName ( M3_DataSetLL *  dataSetNode,
char *  name,
long  maxStringLength 
)

Gives the name associated with the data set.

The name associated with the dataset is given by this function. The parameter maxStringLength gives the length of the name string passed to the function. If the name associated with the data set is longer than this, then it is truncated.

Parameters:
dataSetNode IN: A Data Set data structure for which the name is to be retrieved.
name OUT: The string that is set to the name associated with the dataset.
maxStringLength IN: The maximum number of characters that are assigned to the name string (including the terminating NULL character).
The fortran interface:
  INTERFACE
     FUNCTION m3_f90_dataset_getnextnodeinlist( datasetnode )
       USE M3_typesf
       IMPLICIT NONE
       INTEGER(KIND=int32_t)::m3_f90_dataset_getnextnodeinlist
       TYPE(m3_f90_dataset),INTENT(INOUT)::datasetnode
     END FUNCTION m3_f90_dataset_getnextnodeinlist
  END INTERFACE

Definition at line 876 of file M3.c.

int M3_DataSetLL_GetNextNodeInList ( M3_DataSetLL **  dataSetNode  ) 

Advances to the next node in the data set linked list.

This function updates the input parameter to the next data set in linked list of which the data set is a part. If the data set given is the last node in the list then the pointer is set to NULL, otherwise the pointer is updated to the next node.

Parameters:
dataSetNode IN/OUT: A pointer to a Data Set data structure that is updated to contain a pointer to the next node in the list. If there are no nodes left in the list then the pointer is set to NULL.
Returns:
If the next node in the list exist, then the function returns one otherwise the function returns zero.
Examples:
binMap.c, and maxMinTOD.c.

Definition at line 868 of file M3.c.

int M3_DataSetLL_GetNoiseFile ( M3_DataSetLL *  dataSetNode,
M3_Interval  stationaryInterval,
M3_FileLL **  noiseFile 
)

Gives the inverse time-time noise correlation object listed in the dataset that is associated with a specified stationary interval.

Some data analysis applications make the assumption that the time domain noise is correlated, and that these correlations are piece-wise stationary. In this model the inverse time-time noise correlation matrix is block diagonal and these blocks are themselves band diagonal and Toeplitz. The boundaries of the blocks define stationary intervals, and the first row of each block defines the inverse time-time noise correlation function for that interval. Each block of this matrix has a corresponding noise file object associated with it, and these objects are listed in the data set.

This function goes through the list of inverse time-time noise correlation files associated with a data set and finds the one that covers the interval specified by the user. The File data object can be used with the associated member functions to obtain information about the correlation function.

Parameters:
dataSetNode IN: The Data Set object from which the noise file is obtained.
stationaryInterval IN: The time sample interval that is covered by the stationary interval that defines the correlation function of interest.
noiseFile OUT: The noise file associated with the requested stationary interval.
Returns:
If a file is found that covers the requested interval than the function returns one. If there is no noise file associated with the specified interval than the function returns zero. If there is more than one noise file associated with the specified interval the program terminates with a message to standard error.

Definition at line 1758 of file M3.c.

References M3_Interval::firstSample, and M3_Interval::lastSample.

void M3_DataSetLL_GetNumNZ ( M3_DataSetLL *  dataSetNode,
int32_t *  numNZ 
)

Gives the number of non-zero elements per row of the pointing matrix.

The pointing matrix maps from the pixelized signal domain to the time domain, and this matrix is assumed to be sparse, and have a fixed number of non-zero elements per row. In practice some of these "non-zero" elements can in fact be zero, but these zero's are explicitly defined in the pointing matrix. This function gives the number of non-zero elements per row of the pointing matrix that are explicitly defined. This determines the memory space required to store the pointing matrix, which contains numNZ M3_PointingEl structures for each time sample in the requested interval given to M3_DataSetLL_GetPointing.

Parameters:
dataSetNode IN: Data Set object for which the number of non-zeros per row is obtained.
numNZ OUT: The number of non-zero elements per row of the pointing matrix for this data set.
The fortran interface:
  INTERFACE
     FUNCTION m3_f90_dataset_getnumnz( datasetnode, numnz )
       USE M3_typesf
       IMPLICIT NONE
       INTEGER(KIND=int32_t)::m3_f90_dataset_getnumnz
       TYPE(m3_f90_dataset),INTENT(IN)::datasetnode
       INTEGER(KIND=int32_t),INTENT(OUT)::numnz
     END FUNCTION m3_f90_dataset_getnumnz
  END INTERFACE
Examples:
binMap.c.

Definition at line 892 of file M3.c.

void M3_DataSetLL_GetPointing ( M3_DataSetLL *  dataSetNode,
M3_Interval  readInterval,
M3_PointingEl pointing 
)

Gives the pointing matrix.

This function gives the sparse pointing matrix associated with the dataset over a specified time sample interval. Note that this sparse pointing matrix is stored in row compressed row major order. The number of non-zeros per row is fixed and this number is obtained with theM3_DataSetLL_GetNumNZ function. The memory space allocated should have space for numNZ M3_PointingEl structures for each sample in the specified readInterval.

Parameters:
dataSetNode IN: Data Set from which the pointing matrix is obtained.
readInterval IN: The M3_Interval that specifies the time samples for which the pointing matrix is obtained.
pointing OUT: The memory space into which the sparse pointing matrix is read.
The fortran interface:
  INTERFACE
     FUNCTION m3_f90_dataset_getpointing( datasetnode, firstsample, lastsample, pointing_pixel, pointing_weight )
       USE M3_typesf
       IMPLICIT NONE
       INTEGER(KIND=int32_t)::m3_f90_dataset_getpointing
       TYPE(m3_f90_dataset),INTENT(IN)::datasetnode
       INTEGER(KIND=int64_t),INTENT(IN)::firstsample
       INTEGER(KIND=int64_t),INTENT(IN)::lastsample
       INTEGER(KIND=int32_t),DIMENSION(:,:),INTENT(OUT)::pointing_pixel
       REAL(KIND=float),DIMENSION(:,:),INTENT(OUT)::pointing_weight
     END FUNCTION m3_f90_dataset_getpointing
  END INTERFACE
Examples:
binMap.c.

Definition at line 1058 of file M3.c.

References M3_Interval::firstSample, M3_Interval::lastSample, M3_CMB_I_PIXEL_TYPE, M3_DataSetLL_GetEuler(), M3_PointingEl::pixel, and M3_PointingEl::weight.

int M3_DataSetLL_GetPointingClassRoot ( M3_DataSetLL *  dataSetNode,
M3_PointingClassLL **  pointingClassRoot 
)

Gives the first pointing class listed in the data set.

The columns of the pointing matrix are partitioned into pointing classes each of which refers to a Pixel Class to which the column pixels belong. There are a fixed number of non-zero elements per row within each pointing class, and the sum of the non-zeros per row over all of the pointing classes equals the number of non-zeros per row for the dataset. This function gives the first pointing class from a linked list that contains all of the pointing classes belonging to the data set.

Parameters:
dataSetNode IN: Data Set from which the pointing class list is obtained.
pointingClassRoot OUT: The first Pointing Class from the list associated with the data set. If there are no pointing classes associated with the data set then this pointer is set to NULL.
Returns:
If there are any pointing classes associated with the data set then the function returns one otherwise the function returns zero.
Fortran interface:
  INTERFACE
     FUNCTION m3_f90_dataset_getpointingclassroot( datasetnode, pointingclassroot ) 
       USE M3_typesf
       IMPLICIT NONE
       INTEGER(KIND=int32_t)::m3_f90_dataset_getpointingclassroot
       TYPE(m3_f90_dataset),INTENT(IN)::datasetnode
       TYPE(m3_f90_pointingclass),INTENT(OUT)::pointingclassroot
     END FUNCTION m3_f90_dataset_getpointingclassroot
  END INTERFACE
Examples:
binMap.c.

Definition at line 899 of file M3.c.

void M3_DataSetLL_GetTOD ( M3_DataSetLL *  dataSetNode,
M3_Interval  readInterval,
double *  tod 
)

Gives the time ordered data.

This function gives the time ordered data associated with a data set over a specified sample interval.

Parameters:
dataSetNode IN: Data Set from which the time ordered data is obtained.
readInterval IN: The M3_Interval that specifies the time samples for which time ordered data is obtained.
tod OUT: The memory space into which the time ordered data is read.
The fortran interface:
  INTERFACE
     FUNCTION m3_f90_dataset_gettod( datasetnode, firstsample, lastsample, tod )
       USE M3_typesf
       IMPLICIT NONE
       INTEGER(KIND=int32_t)::m3_f90_dataset_gettod
       TYPE(m3_f90_dataset),INTENT(IN)::datasetnode
       INTEGER(KIND=int64_t),INTENT(IN)::firstsample
       INTEGER(KIND=int64_t),INTENT(IN)::lastsample
       REAL(KIND=DOUBLE),DIMENSION(:),INTENT(OUT)::tod
     END FUNCTION m3_f90_dataset_gettod
  END INTERFACE
Examples:
binMap.c, and maxMinTOD.c.

Definition at line 940 of file M3.c.

References M3_Interval::firstSample, and M3_Interval::lastSample.


Generated on Mon Nov 24 10:05:12 2008 for M3 by  doxygen 1.5.3-20071008