ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/SHAPES/SphereHarm.hpp
Revision: 1313
Committed: Sat Jun 26 15:40:49 2004 UTC (20 years ago) by chrisfen
File size: 1152 byte(s)
Log Message:
Tolerance input is accepted with the -t flag (default 0.01)

File Contents

# User Rev Content
1 chrisfen 1287 #ifndef __SPHEREHARM_HPP__
2     #define __SPHEREHARM_HPP__
3    
4     #include <errno.h>
5     #include <math.h>
6     #include <stdio.h>
7     #include <stdlib.h>
8     #include <string.h>
9     #include <vector>
10     #include <iostream>
11     #include <fstream>
12    
13     #include "fftw3.h"
14 chrisfen 1289 #include "cospmls.h"
15     #include "makeweights.h"
16     #include "FST_semi_memo.h"
17 chrisfen 1309 #include "SHFunc.hpp"
18 chrisfen 1287
19     using namespace std;
20    
21     class SphereHarm{
22    
23     public:
24     SphereHarm( int bandWidth );
25     virtual ~SphereHarm();
26     void doTransforms(vector<double> gridData);
27 chrisfen 1292 void printShapesFileStart(char name[200], char particle[80], double mass,
28 chrisfen 1287 double momInert[3][3]);
29 chrisfen 1313 void printToShapesFile(char name[200], int index, double tolVal);
30 chrisfen 1309 double normFactor(int L, int M);
31     double factorialFunc(double n);
32 chrisfen 1287
33     protected:
34     int l, m;
35     int dummy1, dummy2, nfuncs;
36    
37     int bw, size;
38     int cutoff, order;
39     int rank, howmany_rank;
40     double *rdata, *idata;
41     double *rcoeffs, *icoeffs;
42     double *weights;
43     double *seminaive_naive_tablespace, *workspace;
44     double **seminaive_naive_table;
45     double tstart, tstop;
46     double biggest, cm, sm;
47     fftw_plan dctPlan, fftPlan;
48     fftw_iodim dims[1], howmany_dims[1];
49    
50     };
51    
52 chrisfen 1288 #endif