00001 /* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 00002 /* vim:set sw=2 sts=2 et cin: */ 00003 /* 00004 * This file is part of the MUSE Instrument Pipeline 00005 * Copyright (C) 2015 European Southern Observatory 00006 * 00007 * This program is free software; you can redistribute it and/or modify 00008 * it under the terms of the GNU General Public License as published by 00009 * the Free Software Foundation; either version 2 of the License, or 00010 * (at your option) any later version. 00011 * 00012 * This program is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU General Public License 00018 * along with this program; if not, write to the Free Software 00019 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00020 */ 00021 00022 #ifndef MUSE_PHYS_H 00023 #define MUSE_PHYS_H 00024 00025 /*----------------------------------------------------------------------------* 00026 * Includes * 00027 *----------------------------------------------------------------------------*/ 00028 #include <cpl.h> 00029 00030 #include "muse_pixtable.h" 00031 00032 /*----------------------------------------------------------------------------* 00033 * Defines * 00034 *----------------------------------------------------------------------------*/ 00035 #define MUSE_PHYS_hPa_TO_mmHg 0.75006158 /* conversion from hPa (or mbar) * 00036 * to mmHg, needed for Filippenko */ 00037 00038 /*----------------------------------------------------------------------------* 00039 * Special variable types * 00040 *----------------------------------------------------------------------------*/ 00041 00045 /*----------------------------------------------------------------------------*/ 00052 /*----------------------------------------------------------------------------*/ 00053 enum muse_phys_flags { 00054 /* either standard or measured air parameters, force the 1 in * 00055 * the first bit, so that one /has/ to make a choice for this */ 00056 MUSE_PHYS_AIR_STANDARD = 1, 00057 MUSE_PHYS_AIR_MEASURED = 3, 00059 /* the method to convert it, bits 3 and 4 */ 00060 MUSE_PHYS_METHOD_CIDDOR = 0, 00061 MUSE_PHYS_METHOD_OWENS = 1 << 2, 00062 MUSE_PHYS_METHOD_EDLEN = 2 << 2, 00063 MUSE_PHYS_METHOD_FILIPPENKO = 3 << 2, 00064 }; 00065 00068 /*----------------------------------------------------------------------------* 00069 * Function prototypes * 00070 *----------------------------------------------------------------------------*/ 00071 double muse_phys_nrindex_owens_saturation_pressure(double temp); 00072 void muse_phys_nrindex_owens_coeffs(double, double, double, double *, double *); 00073 double muse_phys_nrindex_owens(double, double, double); 00074 double muse_phys_nrindex_edlen(double, double, double, double); 00075 double muse_phys_nrindex_ciddor(double, double, double, double, double); 00076 double muse_phys_nrindex_filippenko(double, double, double, double); 00077 00078 cpl_error_code muse_phys_air_to_vacuum(muse_pixtable *, unsigned int); 00079 00080 #endif /* MUSE_PHYS_H */
1.6.1