/Users/huttone/Devel/sedflux-new/sedflux/trunk/ew/sed/sed_epoch.h

Go to the documentation of this file.
00001 //---
00002 //
00003 // This file is part of sedflux.
00004 //
00005 // sedflux is free software; you can redistribute it and/or modify
00006 // it under the terms of the GNU General Public License as published by
00007 // the Free Software Foundation; either version 2 of the License, or
00008 // (at your option) any later version.
00009 //
00010 // sedflux is distributed in the hope that it will be useful,
00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 // GNU General Public License for more details.
00014 //
00015 // You should have received a copy of the GNU General Public License
00016 // along with sedflux; if not, write to the Free Software
00017 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00018 //
00019 //---
00020 
00021 #if !defined(SED_EPOCH_H)
00022 # define SED_EPOCH_H
00023 
00024 #include "sed_cube.h"
00025 #include "sed_process.h"
00026 
00027 new_handle( Sed_epoch       );
00028 new_handle( Sed_epoch_queue );
00029 
00030 typedef enum
00031 {
00032    SED_EPOCH_ERROR_OPEN_FILE ,
00033    SED_EPOCH_ERROR_MISSING_LABEL ,
00034    SED_EPOCH_ERROR_BAD_TIME_STEP ,
00035    SED_EPOCH_ERROR_NEGATIVE_TIME_STEP ,
00036    SED_EPOCH_ERROR_NEGATIVE_DURATION
00037 }
00038 Sed_epoch_error;
00039 
00040 #define SED_EPOCH_ERROR sed_epoch_error_quark()
00041 
00042 Sed_epoch     sed_epoch_new            ( void        );
00043 Sed_epoch     sed_epoch_copy           ( Sed_epoch d , const Sed_epoch s );
00044 Sed_epoch     sed_epoch_dup            ( const Sed_epoch s );
00045 Sed_epoch_queue sed_epoch_new_from_table ( Eh_symbol_table t , GError** error );
00046 Sed_epoch     sed_epoch_destroy        ( Sed_epoch e );
00047 
00048 Sed_epoch     sed_epoch_set_name       ( Sed_epoch e , gchar* name      );
00049 Sed_epoch     sed_epoch_set_number     ( Sed_epoch e , gssize name      );
00050 Sed_epoch     sed_epoch_set_duration   ( Sed_epoch e , double duration  );
00051 Sed_epoch     sed_epoch_set_time_step  ( Sed_epoch e , double time_step );
00052 Sed_epoch     sed_epoch_set_filename   ( Sed_epoch e , const gchar* filename  );
00053 
00054 Sed_epoch     sed_epoch_sscan_filename ( Sed_epoch e , const gchar* file_s     , GError** error );
00055 Sed_epoch     sed_epoch_sscan_number   ( Sed_epoch e , const gchar* number_s   , GError** error );
00056 Sed_epoch     sed_epoch_sscan_time     ( Sed_epoch e , const gchar* time_s     , GError** error );
00057 Sed_epoch     sed_epoch_sscan_duration ( Sed_epoch e , const gchar* duration_s , GError** error );
00058 Sed_epoch     sed_epoch_sscan_time_step( Sed_epoch e , const gchar* dt_s       , GError** error );
00059 Sed_epoch     sed_epoch_set_active_time( Sed_epoch e , double* time );
00060 
00061 const char*   sed_epoch_name           ( Sed_epoch e );
00062 gssize        sed_epoch_number         ( Sed_epoch e );
00063 double        sed_epoch_start          ( Sed_epoch e );
00064 double        sed_epoch_end            ( Sed_epoch e );
00065 double        sed_epoch_duration       ( Sed_epoch e );
00066 double        sed_epoch_time_step      ( Sed_epoch e );
00067 const char*   sed_epoch_filename       ( Sed_epoch e );
00068 Sed_process_queue sed_epoch_proc_queue ( Sed_epoch e );
00069 
00070 Sed_epoch_queue sed_epoch_queue_new_sscan_old( const gchar* number_s    ,
00071                                                const gchar* time_step_s ,
00072                                                const gchar* file_s      ,
00073                                                const gchar* duration_s  ,
00074                                                GError** error );
00075 Sed_epoch_queue sed_epoch_queue_new_sscan    ( const gchar* time_s      ,
00076                                                const gchar* time_step_s ,
00077                                                const gchar* file_s      ,
00078                                                GError** error );
00079 
00080 Sed_epoch_queue sed_epoch_queue_new    ( const gchar* file , GError** error );
00081 Sed_epoch_queue sed_epoch_queue_new_full( const gchar*       file          ,
00082                                           Sed_process_init_t proc_defs[]   ,
00083                                           Sed_process_family proc_family[] ,
00084                                           Sed_process_check  proc_checks[] ,
00085                                           GError**           error );
00086 
00087 Sed_epoch_queue sed_epoch_queue_dup    ( const Sed_epoch_queue s );
00088 Sed_epoch_queue sed_epoch_queue_concat ( Sed_epoch_queue q_1 , Sed_epoch_queue q_2 );
00089 Sed_epoch_queue sed_epoch_queue_destroy( Sed_epoch_queue q );
00090 
00091 gssize          sed_epoch_queue_length ( Sed_epoch_queue q );
00092 Sed_epoch_queue sed_epoch_queue_order  ( Sed_epoch_queue q );
00093 Sed_epoch_queue sed_epoch_queue_push_tail( Sed_epoch_queue q , Sed_epoch e );
00094 Sed_epoch       sed_epoch_queue_pop    ( Sed_epoch_queue q );
00095 Sed_epoch       sed_epoch_queue_nth    ( Sed_epoch_queue q , gssize n );
00096 
00097 Sed_epoch       sed_epoch_queue_find   ( Sed_epoch_queue q , double t );
00098 
00099 gssize          sed_epoch_fprint      ( FILE* fp , Sed_epoch e );
00100 gssize          sed_epoch_queue_fprint( FILE* fp , Sed_epoch_queue q );
00101 
00102 Sed_epoch       sed_epoch_scan_proc_queue( Sed_epoch          e          ,
00103                                            Sed_process_init_t p_list[]   ,
00104                                            Sed_process_family p_family[] ,
00105                                            Sed_process_check  p_check[]  ,
00106                                            GError** error );
00107 Sed_epoch_queue sed_epoch_queue_set_processes( Sed_epoch_queue    q          ,
00108                                                Sed_process_init_t p_list[]   ,
00109                                                Sed_process_family p_family[] ,
00110                                                Sed_process_check  p_check[]  ,
00111                                                GError**           error );
00112 gboolean        sed_epoch_queue_test_run( const Sed_epoch_queue q          ,
00113                                           Sed_process_init_t    p_list[]   ,
00114                                           Sed_process_family    p_family[] ,
00115                                           Sed_process_check     p_check[]  ,
00116                                           GError**              error );
00117 Sed_epoch_queue sed_epoch_queue_run     ( Sed_epoch_queue       q        ,
00118                                           Sed_cube              p        );
00119 
00120 Sed_epoch_queue sed_epoch_queue_tic     ( Sed_epoch_queue epoch_q , Sed_cube p );
00121 
00122 #endif /* sed_epoch.h */

Generated on Fri Jan 4 18:04:15 2008 for sedflux by  doxygen 1.5.2