package Paparamborde.ATOM_DATA; import java.io.*; import java.util.StringTokenizer; import ij.*; public class ATOM_DATA { //declaration String IJdirectory, IJplugins, IJapp; String path_ATOMDATA; int A[]=new int[93]; /* Atomic number*/ String B[]=new String [93]; /* Element symbol*/ String C[]=new String [93]; /* Element name*/ int D[]=new int[93]; /* MAI mass*/ float E[]=new float[93]; /* MAI weight*/ float F[]=new float[93]; /* Natural Weight*/ float G[]=new float[93]; /* Density (g/cm3)*/ float H[]=new float[93]; /* Atomic Density*/ float I[]=new float[93]; /* Fermi velocity*/ float J[]=new float[93]; /* Heat Sublimation*/ float K[]=new float[93]; /* Gas density (g/cm3)*/ float L[]=new float[93]; /* Gas Atomic density /cm3*/ public ATOM_DATA(){ /* constructor */ init(); readParameters(); } public ATOM_DATA(String Path){ setPath(Path); readParameters(); } public void finalize(){ /* destructor */ } public void init(){ IJdirectory=System.getProperty("java.class.path").substring(0,System.getProperty("java.class.path").lastIndexOf(System.getProperty("file.separator"))); IJplugins=IJdirectory+System.getProperty("file.separator")+"plugins"; IJapp=IJplugins+System.getProperty("file.separator")+"Paparamborde"+System.getProperty("file.separator"); path_ATOMDATA=IJapp+"ATOMDATA"; } public void setPath(String Path){ path_ATOMDATA=Path; } public void readParameters(){ try{ InputStream ips=new FileInputStream(path_ATOMDATA); InputStreamReader ipsr=new InputStreamReader(ips); BufferedReader br=new BufferedReader(ipsr); String ligne; //Discards header lines for (int i=0;i<2;i++){ ligne=br.readLine(); } //Converts each line into element information as described above for (int i=1;i<93;i++){ ligne=br.readLine(); StringTokenizer st = new StringTokenizer(ligne, " "); while (st.hasMoreTokens()) { A[i]=Integer.parseInt(st.nextToken()); B[i]=st.nextToken(); C[i]=st.nextToken(); D[i]=Integer.parseInt(st.nextToken()); E[i]=Float.parseFloat(st.nextToken()); F[i]=Float.parseFloat(st.nextToken()); G[i]=Float.parseFloat(st.nextToken()); H[i]=Float.parseFloat(st.nextToken()); I[i]=Float.parseFloat(st.nextToken()); J[i]=Float.parseFloat(st.nextToken()); K[i]=Float.parseFloat(st.nextToken()); L[i]=Float.parseFloat(st.nextToken()); } } br.close(); } catch (Exception e){ IJ.error(e.toString()); } } public String getSymbol(int Z) { return B[Z]; } public String getElName(int Z) { return C[Z]; } public int getMAIMass(int Z) { return D[Z]; } public float getMaiWeight(int Z) { return E[Z]; } public float getNatWeight(int Z) { return F[Z]; } public float getDensity(int Z) { return G[Z]; } public float getAtDensity(int Z) { return H[Z]; } public float getFermiVel(int Z) { return I[Z]; } public float getHeatSub(int Z) { return J[Z]; } public float getGasDensity(int Z) { return K[Z]; } public float getGasAtDensity(int Z) { return L[Z]; } public int getZ(String element){ int i=1; while (!element.equals(getSymbol(i))){ i++; } return i; } }