** This is part of the CTSim program
** Copyright (C) 1983-2000 Kevin Rosenberg
**
-** $Id: ir.h,v 1.22 2000/06/07 07:43:39 kevin Exp $
+** $Id: ir.h,v 1.23 2000/06/07 10:12:09 kevin Exp $
** $Log: ir.h,v $
+** Revision 1.23 2000/06/07 10:12:09 kevin
+** Upgraded from MPI to MPI++
+**
** Revision 1.22 2000/06/07 07:43:39 kevin
** *** empty log message ***
**
extern "C" {
#endif /* __cplusplus */
-#ifdef MPI_CT
-#define MPI_MAX_PROCESS 128
+#ifdef HAVE_MPI
+#define CT_MPI_MAX_PROCESS 128
struct mpi_ct_st
{
int my_rank;
int nproc;
int base_local_work_units;
int remainder_work_units;
- int local_work_units[MPI_MAX_PROCESS];
- int start_work_unit[MPI_MAX_PROCESS];
- MPI_Comm comm;
+ int local_work_units [CT_MPI_MAX_PROCESS];
+ int start_work_unit [CT_MPI_MAX_PROCESS];
+ MPI::Intracomm comm;
};
extern struct mpi_ct_st mpi_ct;
#endif
-/* bspline.c */
-int bspline(int samples, int zoom_factor, int spline_order, double input[], double output[]);
-
/* convolve.c */
-double convolve(const double f1[], const double f2[], const double dx, const int n, const int np, const FunctionSymmetry func_type);
-double convolve_both(const double f1[], const double f2[], const double dx, const int n, const int np);
+double convolve (const double f1[], const double f2[], const double dx, const int n, const int np, const FunctionSymmetry func_type);
+double convolve_both (const double f1[], const double f2[], const double dx, const int n, const int np);
/* dialogs.c */
-int phm_add_pelm_kb(PHANTOM *phm);
-PHANTOM *phm_select(void);
-int interpolation_select(void);
-int filter_select(double *filter_param);
+int phm_add_pelm_kb (PHANTOM *phm);
+PHANTOM *phm_select (void);
+int interpolation_select (void);
+int filter_select (double *filter_param);
/* filter.c */
-double *filter_generate(const FilterType filt_type, double bw, double xmin, double xmax, int n, double param, const DomainType domain, int numint);
-double filter_spatial_response_calc(int filt_type, double x, double bw, double param, int n);
-double filter_spatial_response_analytic(int filt_type, double x, double bw, double param);
-double filter_frequency_response(int filt_type, double u, double bw, double param);
-double sinc(double x, double mult);
+double *filter_generate (const FilterType filt_type, double bw, double xmin, double xmax, int n, double param, const DomainType domain, int numint);
+double filter_spatial_response_calc (int filt_type, double x, double bw, double param, int n);
+double filter_spatial_response_analytic (int filt_type, double x, double bw, double param);
+double filter_frequency_response (int filt_type, double u, double bw, double param);
+double sinc (double x, double mult);
double integral_abscos(double u, double w);
/* options.c */
void raysum_trace_show_param (const char *label, const char *fmt, int row, int color, ...);
/* scanner.c */
-DETECTOR *detector_create(const PHANTOM *phm, int geometry, int ndet, int nview, int nsample, const double rot_anglen);
+DETECTOR *detector_create(const PHANTOM *phm, const ScannerGeometry geometry, int ndet, int nview, int nsample, const double rot_anglen);
void detector_free(DETECTOR *det);
/* rayio.c */