00001 #ifndef __mclist_cc__ 00002 #define __mclist_cc__ 00003 #include "arrays.h" 00004 00005 CMCList::CMCList(int nmcset){ 00006 int i; 00007 nmc=nmcset; 00008 r=new double *[nmc]; 00009 for(i=0;i<nmc;i++) r[i]=new double[4]; 00010 norm=1.0; 00011 } 00012 CMCList::~CMCList(){ 00013 int i; 00014 for(i=0;i<nmc;i++) delete [] r[i]; 00015 delete [] r; 00016 } 00017 void CMCList::Resize(int nmcset){ 00018 int i; 00019 for(i=0;i<nmc;i++) delete [] r[i]; 00020 delete [] r; 00021 nmc=nmcset; 00022 r=new double *[nmc]; 00023 for(i=0;i<nmc;i++) r[i]=new double[4]; 00024 } 00025 int CMCList::GetNMC(){ 00026 return nmc; 00027 } 00028 void CMCList::SetR(int imc,double *rr){ 00029 int alpha; 00030 if(imc>=nmc){ 00031 printf("trying to set CMCList.nmc too big, imc=%d, nmc=%d\n",imc,nmc); 00032 exit(1); 00033 } 00034 for(alpha=0;alpha<4;alpha++){ 00035 r[imc][alpha]=rr[alpha]; 00036 } 00037 } 00038 void CMCList::SetR(int imc,double t,double x,double y,double z){ 00039 if(imc>=nmc){ 00040 printf("trying to set CMCList.nmc too big, imc=%d, nmc=%d\n",imc,nmc); 00041 exit(1); 00042 } 00043 r[imc][0]=t; 00044 r[imc][1]=x; 00045 r[imc][2]=y; 00046 r[imc][3]=z; 00047 } 00048 00049 double *CMCList::GetR(int imc){ 00050 if(imc>=nmc){ 00051 printf("trying to set CMCList.nmc too big, imc=%d, nmc=%d\n",imc,nmc); 00052 exit(1); 00053 } 00054 return r[imc]; 00055 } 00056 00057 void CMCList::SetNorm(double normset){ 00058 norm=normset; 00059 } 00060 00061 double CMCList::GetNorm(){ 00062 return norm; 00063 } 00064 00065 #endif