Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

Ellerbroek_Cerro_Pachon_model.h

Go to the documentation of this file.
00001 /*
00002 Arroyo - software for the simulation of electromagnetic wave propagation
00003 through turbulence and optics.
00004 
00005 Copyright (c) 2000-2004 California Institute of Technology.  Written by
00006 Dr. Matthew Britton.  For comments or questions about this software,
00007 please contact the author at mbritton@astro.caltech.edu.
00008 
00009 This program is free software; you can redistribute it and/or modify it
00010 under the terms of the GNU General Public License as  published by the
00011 Free Software Foundation; either version 2 of the License, or (at your
00012 option) any later version.
00013 
00014 This program is provided "as is" and distributed in the hope that it
00015 will be useful, but WITHOUT ANY WARRANTY; without even the implied
00016 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  In no
00017 event shall California Institute of Technology be liable to any party
00018 for direct, indirect, special, incidental or consequential damages,
00019 including lost profits, arising out of the use of this software and its
00020 documentation, even if the California Institute of Technology has been
00021 advised of the possibility of such damage.   The California Institute of
00022 Technology has no obligation to provide maintenance, support, updates,
00023 enhancements or modifications.  See the GNU General Public License for
00024 more details.
00025 
00026 You should have received a copy of the GNU General Public License along
00027 with this program; if not, write to the Free Software
00028 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
00029 */
00030 
00031 #ifndef ELLERBROEK_CERRO_PACHON_MODEL_H
00032 #define ELLERBROEK_CERRO_PACHON_MODEL_H
00033 
00034 #include <three_vector.h>
00035 #include "refractive_atmosphere.h"
00036 
00037 namespace Arroyo {
00038 
00058 
00059   class Ellerbroek_Cerro_Pachon_model :
00060     public refractive_atmospheric_model {
00061 
00062     private:
00063     
00064     static const bool factory_registration;
00065 
00068     string unique_name() const {return(string("Ellerbroek Cerro Pachon model"));};
00069     
00072     Ellerbroek_Cerro_Pachon_model(){};
00073 
00074     public:
00075   
00078     Ellerbroek_Cerro_Pachon_model(const Ellerbroek_Cerro_Pachon_model & e_cp_model);
00079 
00082     Ellerbroek_Cerro_Pachon_model(const char * filename);
00083 
00086     Ellerbroek_Cerro_Pachon_model(const iofits & iof);
00087     
00096     Ellerbroek_Cerro_Pachon_model(const three_frame & ground_ref_frame,
00097                                   double r_0_meters = .166, 
00098                                   double r_0_ref_wavelength_meters = .5e-6);
00099 
00102     ~Ellerbroek_Cerro_Pachon_model(){};
00103 
00106     Ellerbroek_Cerro_Pachon_model & 
00107       operator=(const Ellerbroek_Cerro_Pachon_model & e_cp_model);
00108 
00113     Ellerbroek_Cerro_Pachon_model * clone() const {
00114       return(new Ellerbroek_Cerro_Pachon_model(*this));
00115     };
00116 
00119     void read(const char * filename);
00120 
00123     void read(const iofits & iof);
00124 
00127     void write(const char * filename) const;
00128 
00131     void write(iofits & iof) const;
00132 
00135     void print(ostream & os, const char * prefix="") const;
00136 
00137   };
00138 
00139 }
00140 
00141 #endif

Generated on Thu Nov 29 17:16:29 2007 for arroyo by  doxygen 1.3.9.1