Run Configuration
[Data Objects With Member Functions]


Functions

void M3_RunConfigStruct_Read (M3_RunConfigStruct **runConfig, char *runConfigFileName, int runType)
 Reads a run configuration XML file.
void M3_RunConfigStruct_Write (M3_RunConfigStruct *runConfig, char *runConfigFileName)
 Writes an XML run configuration file.
void M3_RunConfigStruct_Destroy (M3_RunConfigStruct *runConfig)
 Destroys the memory associated with a run configuration.
void M3_RunConfigStruct_Duplicate (M3_RunConfigStruct *inRunConfig, M3_RunConfigStruct **outRunConfig)
 Duplicates a run configuration data structure.
int M3_RunConfigStruct_GetDataSetRoot (M3_RunConfigStruct *runConfig, M3_DataSetLL **dataSetRoot)
 Gives the first data set listed in the run configuration.
int M3_RunConfigStruct_GetPixelClassRoot (M3_RunConfigStruct *runConfig, M3_PixelClassLL **pixelClassRoot)
 Gives the first pixel class listed in the run configuration.
int M3_RunConfigStruct_GetPowerSpectrum (M3_RunConfigStruct *runConfig, M3_PowerSpectrumStruct **powerSpectrum)
 Gives the power spectrum structure associated with the run configuration.
int M3_RunConfigStruct_GetSparseMatrixName (M3_RunConfigStruct *runConfig, char *name, long maxStringLength)
 Gives the name of the sparse matrix file.
int M3_RunConfigStruct_GetSparseMatrixNumNZ (M3_RunConfigStruct *runConfig, M3_SparsePixelMatrixData *sparsePixelMatrixData)
 Fills in an M3_SparsePixelMatrixData structure with the number of non-zero elements.
int M3_RunConfigStruct_GetSparseMatrix (M3_RunConfigStruct *runConfig, M3_SparsePixelMatrixData *sparsePixelMatrixData)
 Fills in an M3_SparsePixelMatrixData structure with sparse matrix data.
int M3_RunConfigStruct_GetDenseMatrixName (M3_RunConfigStruct *runConfig, char *name, long maxStringLength)
 Gives the name of the dense pixel matrix file.
int M3_RunConfigStruct_GetTODcache (M3_RunConfigStruct *runConfig, M3_TODcacheStruct **todCache)
 Gives the TOD Cache member of the Run Configuration.

Detailed Description

This is the root object for all other objects in the M3 data structure.

Function Documentation

void M3_RunConfigStruct_Destroy ( M3_RunConfigStruct *  runConfig  ) 

Destroys the memory associated with a run configuration.

This function deallocates the memory associated with a run configuration data structure. This memory could have been allocated by creating a run configuration with a call to M3_RunConfigStruct_Read, M3_RunConfigStruct_ReadMPI, or M3_RunConfigStruct_Duplicate. These functions all allocate memory for the data structure which must be freed by calling this function. Note that the pointer is not set to NULL because it is called by value.

Parameters:
runConfig IN/OUT: Run Configuration data structure that is to be destroyed.
The fortran interface:
  INTERFACE 
     FUNCTION m3_f90_runconfig_destroy( runconfig )
       USE M3_typesf
       IMPLICIT NONE
       INTEGER(KIND=int32_t)::m3_f90_runconfig_destroy
       TYPE(m3_f90_runconfig), INTENT(INOUT)::runconfig
     END FUNCTION m3_f90_runconfig_destroy
  END INTERFACE

Definition at line 724 of file M3.c.

void M3_RunConfigStruct_Duplicate ( M3_RunConfigStruct *  inRunConfig,
M3_RunConfigStruct **  outRunConfig 
)

Duplicates a run configuration data structure.

This function creates a new run configuration data structure that is a copy of the input run configuration. When the new data structure is finished being used it must be destroyed with M3_RunConfig_Destroy in order to free up the memory allocated during the call.

Parameters:
inRunConfig IN: Run Configuration data structure that is to be copied.
outRunConfig OUT: A pointer to the Run Configuration data structure that is created by the routine.
The fortran interface:
  INTERFACE
     FUNCTION m3_f90_runconfig_duplicate( inrunconfig, outrunconfig )
       USE M3_typesf
       IMPLICIT NONE
       INTEGER(KIND=int32_t)::m3_f90_runconfig_duplicate
       TYPE(m3_f90_runconfig), INTENT(IN)::inrunconfig
       TYPE(m3_f90_runconfig), INTENT(OUT)::outrunconfig
     END FUNCTION m3_f90_runconfig_duplicate
  END INTERFACE

Definition at line 768 of file M3.c.

int M3_RunConfigStruct_GetDataSetRoot ( M3_RunConfigStruct *  runConfig,
M3_DataSetLL **  dataSetRoot 
)

Gives the first data set listed in the run configuration.

This function gives the first data set from a linked list that contains all of the data sets associated with the run configuration. The data set object has member functions that are used to obtain information and data pertaining to a data set

Parameters:
runConfig IN: Run Configuration data structure from which the data set is obtained.
dataSetRoot OUT: The first Data Set listed in the run configuration. If no data sets are included in the run configuration then this pointer is set to NULL.
Returns:
If there are any data sets associated with the run configuration then the return value is one, otherwise the function returns zero.
The fortran interface:
  INTERFACE 
     FUNCTION m3_f90_runconfig_getdatasetroot( runconfig, datasetroot )
       USE M3_typesf
       IMPLICIT NONE
       INTEGER(KIND=int32_t)::m3_f90_runconfig_getdatasetroot
       TYPE(m3_f90_runconfig), INTENT(IN)::runconfig
       TYPE(m3_f90_dataset),INTENT(OUT)::datasetroot
     END FUNCTION m3_f90_runconfig_getdatasetroot
  END INTERFACE
Examples:
binMap.c, and maxMinTOD.c.

Definition at line 775 of file M3.c.

int M3_RunConfigStruct_GetDenseMatrixName ( M3_RunConfigStruct *  runConfig,
char *  name,
long  maxStringLength 
)

Gives the name of the dense pixel matrix file.

This function gives the path of the file that contains the dense pixel matrix associated with the run configuration. This function can also be used to determine if there is a dense pixel matrix associated with the run configuration.

Parameters:
runConfig IN: Run Configuration data structure from which the dense pixel matrix name is obtained.
name OUT: An allocated string that is filled with the path of the dense pixel matrix.
maxStringLength IN: Gives the maximum length of the name string (including the NULL terminating character). If the string is not long enough then the name is truncated to the length allowed.
Returns:
If there is a dense pixel matrix associated with the run configuration then the return value is one, otherwise zero is returned.
Currently no fortran interface exists for this function.

int M3_RunConfigStruct_GetPixelClassRoot ( M3_RunConfigStruct *  runConfig,
M3_PixelClassLL **  pixelClassRoot 
)

Gives the first pixel class listed in the run configuration.

This function gives the first pixel class from a linked list that contains all of the pixel classes associated with the run configuration. The pixel class object has member functions that are used to obtain information and data pertaining to the pixel class.

Parameters:
runConfig IN: Run Configuration data structure from which the pixel class is obtained.
pixelClassRoot OUT: The first Pixel Class listed in the run configuration. If no pixel classes are included in the run configuration then this pointer is set to NULL.
Returns:
If there are any pixel classes associated with the run configuration then the return value is one, otherwise the function returns zero.
The fortran interface:
  INTERFACE 
     FUNCTION m3_f90_runconfig_getdatasetroot( runconfig, datasetroot )
       USE M3_typesf
       IMPLICIT NONE
       INTEGER(KIND=int32_t)::m3_f90_runconfig_getdatasetroot
       TYPE(m3_f90_runconfig), INTENT(IN)::runconfig
       TYPE(m3_f90_dataset),INTENT(OUT)::datasetroot
     END FUNCTION m3_f90_runconfig_getdatasetroot
  END INTERFACE
Examples:
binMap.c, and maxMinMap.c.

Definition at line 783 of file M3.c.

Referenced by M3_TODcacheStruct_Initialize().

int M3_RunConfigStruct_GetPowerSpectrum ( M3_RunConfigStruct *  runConfig,
M3_PowerSpectrumStruct **  powerSpectrum 
)

Gives the power spectrum structure associated with the run configuration.

This function gives the power spectrum structure associated with the run configuration. The power spectrum data structure contains the information pertaining to angular power spectra. The power spectrum object has member functions that are used to obtain information and data within the angular spectrum domain.

Parameters:
runConfig IN: Run Configuration data structure from which the power spectrum struct is obtained.
powerSpectrum OUT: Power Spectrum data structure that is requested. If there is no angular spectrum domain data associated with the run configuration then the pointer is set to NULL.
Returns:
If there is any angular spectrum domain data associated with the run configuration then the function returns one, otherwise the function returns zero.
The fortran interface:
  INTERFACE 
     FUNCTION m3_f90_runconfig_getpowerspectrum( runconfig, powerspectrum )
       USE M3_typesf
       IMPLICIT NONE
       INTEGER(KIND=int32_t)::m3_f90_runconfig_getpowerspectrum
       TYPE(m3_f90_runconfig), INTENT(IN)::runconfig
       TYPE(m3_f90_powerspectrum),INTENT(OUT)::powerspectrum
     END FUNCTION m3_f90_runconfig_getpowerspectrum
  END INTERFACE

Definition at line 791 of file M3.c.

int M3_RunConfigStruct_GetSparseMatrix ( M3_RunConfigStruct *  runConfig,
M3_SparsePixelMatrixData sparsePixelMatrixData 
)

Fills in an M3_SparsePixelMatrixData structure with sparse matrix data.

This function is the second step in retrieving a sparse pixel matrix file from a run configuration. The first step is to call M3_RunConfigStruct_GetSparseMatrixNumNZ in order to find out how many non-zero entries exist in the columns of interest. Once this is known memory for the sparse matrix data should be allocated to the matrix field, and this function can be called to assign the values to the matrix elements.

Parameters:
runConfig IN: Run Configuration data structure from which the sparse pixel matrix non-zero elements are obtained.
sparsePixelMatrixData IN/OUT: M3_SparsePixelMatrixData data structure that specifies the columns to be read in, and has space where the non-zero elements of the pixel matrix that are in the requested columns are stored by this function.
Currently no fortran interface to this function.

Definition at line 841 of file M3.c.

References M3_SparsePixelMatrixData::matrix.

int M3_RunConfigStruct_GetSparseMatrixName ( M3_RunConfigStruct *  runConfig,
char *  name,
long  maxStringLength 
)

Gives the name of the sparse matrix file.

This function gives the path of the file that contains the sparse pixel matrix associated with the run configuration. This function can also be used to determine if there is a sparse pixel matrix associated with the run configuration.

Parameters:
runConfig IN: Run Configuration data structure from which the sparse pixel matrix name is obtained.
name OUT: An allocated string that is filled with the path of the sparse pixel matrix file. If there is no sparse pixel matrix associated with the run configuration then the string is unchanged.
maxStringLength IN: Gives the maximum length of the name string (including the NULL terminating character). If the string is not long enough then the name is truncated to the length allowed.
Returns:
If there is a sparse pixel matrix associated with the run configuration then the return value is one, otherwise zero is returned.
The fortran interface:
  INTERFACE 
     FUNCTION m3_f90_runconfig_getpowerspectrum( runconfig, powerspectrum )
       USE M3_typesf
       IMPLICIT NONE
       INTEGER(KIND=int32_t)::m3_f90_runconfig_getpowerspectrum
       TYPE(m3_f90_runconfig), INTENT(IN)::runconfig
       TYPE(m3_f90_powerspectrum),INTENT(OUT)::powerspectrum
     END FUNCTION m3_f90_runconfig_getpowerspectrum
  END INTERFACE

Definition at line 797 of file M3.c.

int M3_RunConfigStruct_GetSparseMatrixNumNZ ( M3_RunConfigStruct *  runConfig,
M3_SparsePixelMatrixData sparsePixelMatrixData 
)

Fills in an M3_SparsePixelMatrixData structure with the number of non-zero elements.

This function is the first step in retrieving a sparse pixel matrix file from a run configuration. This function gives the number of non-zeros in each requested column of the sparse pixel matrix as well as the total number of non-zero elements in all of the requested columns. This function requires that some of the fields in the M3_SparsePixelMatrixData structure be set prior to calling this function. The numColumn field must be set to the number of requested columns. the column field should be allocated numColumn elements and each of these elements should have the fields columnClass and columnPixel set in order to indicate which columns are requested.

Parameters:
runConfig IN: Run Configuration data structure from which the sparse pixel matrix non-zero elements are obtained.
sparsePixelMatrixData IN/OUT: M3_SparsePixelMatrixData data structure that specifies the columns requested, and in which the number of non-zeros are set by this function.
Currently there is no fortran interface to this function.

Definition at line 814 of file M3.c.

References M3_SparsePixelMatrixData::matrix.

int M3_RunConfigStruct_GetTODcache ( M3_RunConfigStruct *  runConfig,
M3_TODcacheStruct **  todCache 
)

Gives the TOD Cache member of the Run Configuration.

This function gives the user access to the TOD Cache which is used to store compressed data products that are used to compute pointing requests with gcp and time ordered data requests when simulations are being computed by scanning from maps.

Parameters:
runConfig IN: Run Configuration object from which the TOD Cache is obtained.
todCache OUT: A pointer to the TOD Cache object returned by the function.
Returns:
Always returns M3_EFLAG_NONE
The fortran interface:
  INTERFACE
    FUNCTION m3_f90_runconfig_gettodcache( runconfig, todcache )
      USE M3_typesf
      IMPLICIT NONE
      INTEGER(KIND=int4)::m3_f90_runconfig_gettodcache
      TYPE(m3_f90_runconfig), INTENT(IN)::runconfig
      TYPE(m3_f90_todcache), INTENT(OUT)::todcache
    END FUNCTION m3_f90_runconfig_gettodcache
  END INTERFACE

Definition at line 14 of file M3_cache.c.

Referenced by M3_DataSetLL_GetEuler().

void M3_RunConfigStruct_Read ( M3_RunConfigStruct **  runConfig,
char *  runConfigFileName,
int  runType 
)

Reads a run configuration XML file.

This function parses a run configuration XML file and creates a data structure in memory. Failure to read the run configuration for any reason causes a terminal error, and a message to standard error.

Parameters:
runConfig OUT: Pointer to a Run Configuration data structure that is created.
runConfigFileName IN: String that gives the path to the run configuration file to be read.
runType IN: One of the predefined application Run Type for which error checking has been established.
The fortran interface:
  INTERFACE
     FUNCTION m3_f90_runconfig_read( runconfig, runconfigfilename, runtype )
       USE M3_typesf
       IMPLICIT NONE
       INTEGER(KIND=int32_t)::m3_f90_runconfig_read
       TYPE(m3_f90_runconfig), INTENT(OUT)::runConfig
       CHARACTER(LEN=*), INTENT(IN)::runconfigfilename
       INTEGER(KIND=int32_t), INTENT(IN)::runtype
     END FUNCTION m3_f90_runconfig_read
  END INTERFACE
Examples:
binMap.c, maxMinMap.c, and maxMinTOD.c.

Definition at line 90 of file M3.c.

void M3_RunConfigStruct_Write ( M3_RunConfigStruct *  runConfig,
char *  runConfigFileName 
)

Writes an XML run configuration file.

This function creates a new run configuration file on disk that contains all of the information in the input run configuration file. Failure to write the run configuration for any reason causes a terminal error and a message to standard error. When the data structure is finished being used it must be destroyed with M3_RunConfig_Destroy in order to free up the memory allocated during the call.

Parameters:
runConfig IN: M3_RunConfigStruct data structure to be written to output file.
runConfigFileName IN: String that gives the path to the XML run configuration file.
The fortran interface:
  INTERFACE
     FUNCTION m3_f90_runconfig_write( runconfig, runconfigfilename )
       USE M3_typesf
       IMPLICIT NONE
       INTEGER(KIND=int32_t)::m3_f90_runconfig_write
       TYPE(m3_f90_runconfig), INTENT(IN)::runConfig
       CHARACTER(LEN=*), INTENT(IN)::runconfigfilename
     END FUNCTION m3_f90_runconfig_write
  END INTERFACE

Definition at line 261 of file M3.c.

References M3_B_FILTER_TYPE, M3_CMB_I_PIXEL_TYPE, M3_DEFAULT_PIXEL_TYPE, M3_E_FILTER_TYPE, M3_NUM_FILTER_TYPE, M3_S_FILTER_TYPE, and M3_W_FILTER_TYPE.


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