GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > CAL_DB / V0-0-1
Constituent: cal_db_pedestals_create     Tag: sun-gcc
#include <stdio.h>
#include <stdlib.h>
#include "cal_import.h"
#include "cal_import_pedestals.h"
#include "cal_db_common_create.h"
Include dependency graph for cal_db_pedestals_create.c:
Data Structures | |
struct | _Ctl |
The CAL include file creation control structure. More... | |
Typedefs | |
typedef _Ctl | Ctl |
Typedef for struct _Ctl. | |
Functions | |
static void | reportUsage (void) |
Brief explanation of the test creation usage. | |
static void | full_prepare (unsigned int *export, const float pedestals[16][8][12][4][2]) |
Prepares the imported data for export. | |
static void | idealized_prepare (unsigned int *export, const float pedestals[4][2]) |
Prepares the imported data for export. | |
static int | writeFile (FILE *hfile, const char *hname, const char *package, const char *constituent, const char *version, CAL_DB_STYLE_K style, const char *origin_name, const char *style_name, unsigned int key, const unsigned int *export) |
Files and writes the output include file. | |
static int | fillCtl (Ctl *ctl, int argc, char *const argv[]) |
Examines the command line parameters and fills the include file creation control structure. | |
static void | fillPedestals (unsigned short int *pedestals, const unsigned int *exports) |
Fills one layers worth of pedestals. | |
static int | writeLayer (FILE *hfile, int lyr, const unsigned short int v[24]) |
Write one layers worth of constants. | |
int | CalDbPedestalsCreate (int argc, char *const argv[], const CalImportPedestals *import) |
Driver program to create CAL calibration include file. |
CVS $Id: cal_db_pedestals_create.c,v 1.1.1.1 2005/08/01 20:52:48 russell Exp $
This program accepts a cal_pedestals.h file and converts it to a representation that is used to transform ADC values to Mev. This portion handles only the pedestal part of the linear transformation. The gains are done similarly, but by a different program.
The mechanism is fairly clunky, belonging to that ilk of programs whose mission is to write another program. In this case, the pedestal data is written out as data to a C data structure, called the schema. The resulting file is then compiled and built into a shareable image.
In addition to holding the data values, this schema also holds pointers to routines that are used to access the data. This tactic allows the interface to be stable, but effectively hides the internal representation of the data. Because the accessor routine's job is act as a go-between between the caller and the internal data, it must
It is this last point that drives the design to include the implementation of these routines at the same time the data is defined. That keeps the two in lock step.
|
Typedef for struct _Ctl. Contains all the parameters controlling the creation and content of the test include file. |
|
Driver program to create CAL calibration include file.
|
|
Examines the command line parameters and fills the include file creation control structure.
|
|
Fills one layers worth of pedestals.
|
|
Prepares the imported data for export.
|
|
Prepares the imported data for export.
|
|
Files and writes the output include file.
|
|
Write one layers worth of constants.
|