#ifndef PP_SIM_H
#define PP_SIM_H

#define PPSIM_RECIPE "PPSIM"
#define OUTPUT_FILE "PPSIM.OUTPUT"




// Type of image to simulate
typedef enum {
    PPSIM_TYPE_BIAS,                    // Bias image
    PPSIM_TYPE_DARK,                    // Dark image
    PPSIM_TYPE_FLAT,                    // Flat-field image
    PPSIM_TYPE_OBJECT                   // Object image
} ppSimType;


/// Parse command-line arguments
void ppSimArguments(int argc, char *argv[], ///< Command-line arguments
                    pmConfig *config ///< Configuration
    );

/// Create output file
///
/// Returns a borrowed pointer to the FPA file.
pmFPAfile *ppSimCreate(pmConfig *config ///< Configuration
    );

/// Loop over the output file, generating simulated data
psExit ppSimLoop(pmConfig *config ///< Configuration
    );



#endif
