HiRISE
 Observation

Macros | Functions | Variables
HiRISE_Data_Vet.cc File Reference
#include "Instrument.hh"
#include "Observation.hh"
#include "Data_Component.hh"
#include "Channel_ID.hh"
#include "Exceptions.hh"
#include "PVL.hh"
#include <iostream>
#include <iomanip>
#include <fstream>
#include <sstream>
#include <vector>
#include <cstring>
#include <cstdlib>
#include <cctype>
#include <exception>
#include <stdexcept>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include <pwd.h>
Include dependency graph for HiRISE_Data_Vet.cc:

Macros

#define DEFAULT_CONFIGURATION_FILENAME   "Database.conf"
 
#define DEFAULT_DATABASE_HOST   ""
 
#define LISTING_WIDTH   80
 
#define LABEL_FIELD_WIDTH   (LISTING_WIDTH / 3)
 
#define EDR_FILENAME_EXTENSION   "IMG"
 
#define VETTED_FILENAME_SUFFIX   "-vetted"
 
#define _VERSION_   " "
 
#define PATHNAME_DELIMITER   '/'
 

Functions

int usage (char *program, bool list_descriptions=false)
 
bool database_configuration (char *configuration_filename)
 
bool connect_to_database ()
 
string Field_value (const string &field)
 
bool EDR_file (string filename)
 
void add_override_parameters (Aggregate &overrides, Aggregate &parameters)
 
void remove_override_parameters (Aggregate &overrides, Aggregate &parameters)
 
void set_effective_values (Aggregate &overrides, Channel &channel)
 
void apply_override_parameters (Aggregate &overrides, Aggregate &parameters)
 
char * username ()
 
char * home_directory ()
 
char * skip_whitespace (char *characters)
 
int main (int count, char **arguments)
 

Variables

const char * EDR_Filename_Extension = EDR_FILENAME_EXTENSION
 Filename extension for output EDR files. More...
 
const char * Vetted_Filename_Suffix = VETTED_FILENAME_SUFFIX
 Suffix appended to input filename to create output vetted filename. More...
 
const int SUCCESS = 0
 Exit status values. More...
 
const int BAD_SYNTAX = 1
 
const int CONFIGURATION_FAILURE = 2
 
const int DATABASE_ERROR = 3
 
const int INVALID_ARGUMENT = 11
 
const int LENGTH_ERROR = 12
 
const int UNDERFLOW_ERROR = 13
 
const int OUT_OF_RANGE = 14
 
const int LOGIC_ERROR = 19
 
const int NO_OBSERVATION_FILE = 20
 
const int NO_EDR_FILE = 21
 
const int NO_CHANNEL_FILE = 22
 
const int NO_PVL_FILE = 23
 
const int IO_FAILURE = 29
 
const int PVL_ERROR = 30
 
const int UNKNOWN_ERROR = -1
 
const char * ID
 Application identification name with source code version and date. More...
 
const char * DATABASE_TYPE = "MySQL"
 Database access configuration parameters. More...
 
const char * TYPE_PARAMETER_NAME = "Type"
 
const char * SERVER_PARAMETER_NAME = "Server"
 
const char * HOST_PARAMETER_NAME = "Host"
 
const char * USER_PARAMETER_NAME = "User"
 
const char * PASSWORD_PARAMETER_NAME = "Password"
 
const char * CATALOG_PARAMETER_NAME = "Catalog"
 
const char * DEFAULT_CATALOG = "HiRISE_Test"
 
const char * PLANNED_OBSERVATIONS_TABLE = "Planned_Observations"
 Database field names. More...
 
const char * OBSERVATION_ID_FIELD = "OBSERVATION_ID"
 
const char * CCD_FIELD_BASENAME = "CPMM_"
 
const char * CCD_ENABLED_VALUE = "ON"
 
const char pathname_delimiter = PATHNAME_DELIMITER
 Host filesystem pathname delimiter. More...
 
const char * SOFTWARE_NAME = "SOFTWARE_NAME"
 Names of EDR PDS parameters that will have their values updated. More...
 
const char * SOURCE_FILE_NAME = "SOURCE_FILE_NAME"
 
const char * GAP_TABLE_LOCATION = "^GAP_TABLE"
 
const char * GAP_TABLE_ROWS = "GAP_TABLE/ROWS"
 
const char * OBSERVATION_ID = "OBSERVATION_ID"
 Names of key "effective" parameters. More...
 
const char * TIME_PARAMETERS = "TIME_PARAMETERS/"
 
const char * ANALOG_POWER_START_COUNT = "ANALOG_POWER_START_COUNT"
 
const char * OBSERVATION_START_COUNT = "OBSERVATION_START_COUNT"
 
const char * INSTRUMENT_SETTING_PARAMETERS = "INSTRUMENT_SETTING_PARAMETERS/"
 
const char * SCAN_EXPOSURE_DURATION = "SCAN_EXPOSURE_DURATION"
 
const char * CPMM_NUMBER = "CPMM_NUMBER"
 
const char * CHANNEL_NUMBER = "CHANNEL_NUMBER"
 
const char * DELTA_LINE_TIMER_COUNT = "DELTA_LINE_TIMER_COUNT"
 
const char * BINNING = "BINNING"
 
const char * TDI = "TDI"
 
const char * TRIM_LINES = "TRIM_LINES"
 
const char * CALIBRATION_IMAGE_LINES = "CALIBRATION_IMAGE/LINES"
 
const char * IMAGE = "IMAGE/"
 
const char * LINES = "LINES"
 
const char * LINE_SAMPLES = "LINE_SAMPLES"
 
const char * SAMPLE_BITS = "SAMPLE_BITS"
 
const char * PRODUCT_ID = "PRODUCT_ID"
 Names of other paramters to be accessed. More...
 
const char * PRODUCT_CREATION_TIME = "PRODUCT_CREATION_TIME"
 
const char * LABEL_RECORDS = "LABEL_RECORDS"
 
const string::size_type EOS = std::string::npos
 End-of-string index. More...
 
Aggregate Config_Parameters ("Configuration")
 Configuration parameters. More...
 
string Database_Server
 
string Database_Host
 
string Database_User
 
string Database_Password
 
string Database_Catalog
 
const int LABEL_WIDTH = 20
 Listing format widths. More...
 
const int VALUE_WIDTH = 9
 
Lister PDS_label_lister
 PDS formatting of PVL. More...
 
int Verbosity = 0
 Global flags. More...
 

Macro Definition Documentation

◆ DEFAULT_CONFIGURATION_FILENAME

#define DEFAULT_CONFIGURATION_FILENAME   "Database.conf"

◆ DEFAULT_DATABASE_HOST

#define DEFAULT_DATABASE_HOST   ""

◆ LISTING_WIDTH

#define LISTING_WIDTH   80

◆ LABEL_FIELD_WIDTH

#define LABEL_FIELD_WIDTH   (LISTING_WIDTH / 3)

◆ EDR_FILENAME_EXTENSION

#define EDR_FILENAME_EXTENSION   "IMG"

◆ VETTED_FILENAME_SUFFIX

#define VETTED_FILENAME_SUFFIX   "-vetted"

◆ _VERSION_

#define _VERSION_   " "

◆ PATHNAME_DELIMITER

#define PATHNAME_DELIMITER   '/'

Function Documentation

◆ usage()

int usage ( char *  program,
bool  list_descriptions = false 
)

References BAD_SYNTAX, and VETTED_FILENAME_SUFFIX.

Referenced by main().

◆ database_configuration()

bool database_configuration ( char *  configuration_filename)

◆ connect_to_database()

bool connect_to_database ( )

◆ Field_value()

string Field_value ( const string &  field)

◆ EDR_file()

bool EDR_file ( string  filename)

◆ add_override_parameters()

void add_override_parameters ( Aggregate overrides,
Aggregate parameters 
)

◆ remove_override_parameters()

void remove_override_parameters ( Aggregate overrides,
Aggregate parameters 
)

◆ set_effective_values()

void set_effective_values ( Aggregate overrides,
Channel &  channel 
)

◆ apply_override_parameters()

void apply_override_parameters ( Aggregate overrides,
Aggregate parameters 
)

◆ username()

char* username ( )

◆ home_directory()

char * home_directory ( )

◆ skip_whitespace()

char * skip_whitespace ( char *  characters)

Referenced by main().

◆ main()

int main ( int  count,
char **  arguments 
)

Variable Documentation

◆ EDR_Filename_Extension

const char* EDR_Filename_Extension = EDR_FILENAME_EXTENSION

Filename extension for output EDR files.

Referenced by main().

◆ Vetted_Filename_Suffix

const char* Vetted_Filename_Suffix = VETTED_FILENAME_SUFFIX

Suffix appended to input filename to create output vetted filename.

Referenced by main().

◆ SUCCESS

const int SUCCESS = 0

Exit status values.

Referenced by main().

◆ BAD_SYNTAX

const int BAD_SYNTAX = 1

Referenced by set_effective_values(), and usage().

◆ CONFIGURATION_FAILURE

const int CONFIGURATION_FAILURE = 2

◆ DATABASE_ERROR

const int DATABASE_ERROR = 3

Referenced by main().

◆ INVALID_ARGUMENT

const int INVALID_ARGUMENT = 11

Referenced by main().

◆ LENGTH_ERROR

const int LENGTH_ERROR = 12

Referenced by main().

◆ UNDERFLOW_ERROR

const int UNDERFLOW_ERROR = 13

Referenced by main().

◆ OUT_OF_RANGE

const int OUT_OF_RANGE = 14

Referenced by main().

◆ LOGIC_ERROR

const int LOGIC_ERROR = 19

Referenced by main().

◆ NO_OBSERVATION_FILE

const int NO_OBSERVATION_FILE = 20

Referenced by main().

◆ NO_EDR_FILE

const int NO_EDR_FILE = 21

Referenced by main().

◆ NO_CHANNEL_FILE

const int NO_CHANNEL_FILE = 22

◆ NO_PVL_FILE

const int NO_PVL_FILE = 23

Referenced by main().

◆ IO_FAILURE

const int IO_FAILURE = 29

Referenced by main().

◆ PVL_ERROR

const int PVL_ERROR = 30

Referenced by main().

◆ UNKNOWN_ERROR

const int UNKNOWN_ERROR = -1

Referenced by main().

◆ ID

const char* ID
Initial value:
=
"HiRISE_Data_Vet"
"(1.26 2020/02/25 00:21:30)"
#define _VERSION_
Definition: HiRISE_Data_Vet.cc:160

Application identification name with source code version and date.

Referenced by main().

◆ DATABASE_TYPE

const char* DATABASE_TYPE = "MySQL"

Database access configuration parameters.

◆ TYPE_PARAMETER_NAME

const char * TYPE_PARAMETER_NAME = "Type"

◆ SERVER_PARAMETER_NAME

const char * SERVER_PARAMETER_NAME = "Server"

◆ HOST_PARAMETER_NAME

const char * HOST_PARAMETER_NAME = "Host"

◆ USER_PARAMETER_NAME

const char * USER_PARAMETER_NAME = "User"

◆ PASSWORD_PARAMETER_NAME

const char * PASSWORD_PARAMETER_NAME = "Password"

◆ CATALOG_PARAMETER_NAME

const char * CATALOG_PARAMETER_NAME = "Catalog"

◆ DEFAULT_CATALOG

const char * DEFAULT_CATALOG = "HiRISE_Test"

◆ PLANNED_OBSERVATIONS_TABLE

const char* PLANNED_OBSERVATIONS_TABLE = "Planned_Observations"

Database field names.

◆ OBSERVATION_ID_FIELD

const char * OBSERVATION_ID_FIELD = "OBSERVATION_ID"

Referenced by main().

◆ CCD_FIELD_BASENAME

const char * CCD_FIELD_BASENAME = "CPMM_"

◆ CCD_ENABLED_VALUE

const char * CCD_ENABLED_VALUE = "ON"

◆ pathname_delimiter

const char pathname_delimiter = PATHNAME_DELIMITER

Host filesystem pathname delimiter.

◆ SOFTWARE_NAME

const char* SOFTWARE_NAME = "SOFTWARE_NAME"

Names of EDR PDS parameters that will have their values updated.

Referenced by apply_override_parameters(), and main().

◆ SOURCE_FILE_NAME

const char * SOURCE_FILE_NAME = "SOURCE_FILE_NAME"

◆ GAP_TABLE_LOCATION

const char * GAP_TABLE_LOCATION = "^GAP_TABLE"

◆ GAP_TABLE_ROWS

const char * GAP_TABLE_ROWS = "GAP_TABLE/ROWS"

Referenced by main().

◆ OBSERVATION_ID

const char* OBSERVATION_ID = "OBSERVATION_ID"

Names of key "effective" parameters.

Referenced by EDR_file(), and set_effective_values().

◆ TIME_PARAMETERS

const char * TIME_PARAMETERS = "TIME_PARAMETERS/"

Referenced by set_effective_values().

◆ ANALOG_POWER_START_COUNT

const char * ANALOG_POWER_START_COUNT = "ANALOG_POWER_START_COUNT"

Referenced by set_effective_values().

◆ OBSERVATION_START_COUNT

const char * OBSERVATION_START_COUNT = "OBSERVATION_START_COUNT"

Referenced by set_effective_values().

◆ INSTRUMENT_SETTING_PARAMETERS

const char * INSTRUMENT_SETTING_PARAMETERS = "INSTRUMENT_SETTING_PARAMETERS/"

Referenced by set_effective_values().

◆ SCAN_EXPOSURE_DURATION

const char * SCAN_EXPOSURE_DURATION = "SCAN_EXPOSURE_DURATION"

Referenced by set_effective_values().

◆ CPMM_NUMBER

const char * CPMM_NUMBER = "CPMM_NUMBER"

Referenced by set_effective_values().

◆ CHANNEL_NUMBER

const char * CHANNEL_NUMBER = "CHANNEL_NUMBER"

Referenced by set_effective_values().

◆ DELTA_LINE_TIMER_COUNT

const char * DELTA_LINE_TIMER_COUNT = "DELTA_LINE_TIMER_COUNT"

Referenced by set_effective_values().

◆ BINNING

const char * BINNING = "BINNING"

Referenced by set_effective_values().

◆ TDI

const char * TDI = "TDI"

Referenced by set_effective_values().

◆ TRIM_LINES

const char * TRIM_LINES = "TRIM_LINES"

Referenced by set_effective_values().

◆ CALIBRATION_IMAGE_LINES

const char * CALIBRATION_IMAGE_LINES = "CALIBRATION_IMAGE/LINES"

Referenced by set_effective_values().

◆ IMAGE

const char * IMAGE = "IMAGE/"

Referenced by set_effective_values().

◆ LINES

const char * LINES = "LINES"

Referenced by set_effective_values().

◆ LINE_SAMPLES

const char * LINE_SAMPLES = "LINE_SAMPLES"

Referenced by set_effective_values().

◆ SAMPLE_BITS

const char * SAMPLE_BITS = "SAMPLE_BITS"

Referenced by set_effective_values().

◆ PRODUCT_ID

const char* PRODUCT_ID = "PRODUCT_ID"

Names of other paramters to be accessed.

Referenced by apply_override_parameters(), EDR_file(), and main().

◆ PRODUCT_CREATION_TIME

const char * PRODUCT_CREATION_TIME = "PRODUCT_CREATION_TIME"

◆ LABEL_RECORDS

const char * LABEL_RECORDS = "LABEL_RECORDS"

Referenced by EDR_file(), and main().

◆ EOS

const string::size_type EOS = std::string::npos

End-of-string index.

Referenced by main(), and set_effective_values().

◆ Config_Parameters

Aggregate Config_Parameters("Configuration") ( "Configuration"  )

Configuration parameters.

◆ Database_Server

string Database_Server

Referenced by main().

◆ Database_Host

string Database_Host

◆ Database_User

string Database_User

◆ Database_Password

string Database_Password

◆ Database_Catalog

string Database_Catalog

Referenced by main().

◆ LABEL_WIDTH

const int LABEL_WIDTH = 20

Listing format widths.

Referenced by main().

◆ VALUE_WIDTH

const int VALUE_WIDTH = 9

Referenced by main().

◆ PDS_label_lister

Lister PDS_label_lister

PDS formatting of PVL.

Referenced by apply_override_parameters(), and main().

◆ Verbosity

int Verbosity = 0