ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/SHAPES/SphereHarm.hpp
Revision: 1309
Committed: Fri Jun 25 20:10:53 2004 UTC (20 years ago) by chrisfen
File size: 1137 byte(s)
Log Message:
Coefficients are now multiplied by the normalization factor - no longer do we need normalization in the visualizer

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     void printToShapesFile(char name[200], int index);
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