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

# Content
1 #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 #include "cospmls.h"
15 #include "makeweights.h"
16 #include "FST_semi_memo.h"
17 #include "SHFunc.hpp"
18
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 void printShapesFileStart(char name[200], char particle[80], double mass,
28 double momInert[3][3]);
29 void printToShapesFile(char name[200], int index, double tolVal);
30 double normFactor(int L, int M);
31 double factorialFunc(double n);
32
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 #endif