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. | |
| 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.
| 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. |
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
| 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.
| 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. |
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.
| 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). |
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
| 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.
| 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. |
| 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.
| 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. |
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.
| 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. |
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
| 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.
| 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. |
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
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.
| 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. |
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
| 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.
| 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. |
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
Definition at line 940 of file M3.c.
References M3_Interval::firstSample, and M3_Interval::lastSample.
1.5.3-20071008