setenv CVSROOT :pserver:anoncvs@sldl1.slac.stanford.edu:/nfs/slac/g/jas/cvsroot cvs login CVS Password: jascvs cvs co -r v2_2_1 jasまた、 ダウンロードページに入って取る方法もある。
次のようなファイルががロードされる。
License.html ReleaseNotes.html SampleData/ bin/ extensions/ jas* lib/ ./SampleData: pawdemo.hbook ./bin: libhbook.so libjhippo.so libjstdhep.so ./extensions: Fitting.jar FlatFile.jar HepEvt.jar Hippo.jar Paw.jar TestServer.jar ./lib: collections.jar hep.jar jc.jar swingall.jar help.jar jas.jar jh.jar xml4j.jar
そして次はCLASSPATHとLD_LIBRARY_PATHにJAS関連のファイル名を 追加することである。CLASSPATHでは
% setenv CLASSPATH $CLASSPATH\:/home/yasu/java/JAS/lib/jas.jarまた、LD_LIBRARY_PATHもHBOOK関連のデータフォーマットが必要なら
% setenv LD_LIBRARY_PATH $LD_LIBRARY_PATH\:/home/yasu/java/JAS/bin/libhbook.soとして追加しておくこと。 最後に、jasコマンドをPATHに追加すか、jasを/usr/local/binなどに入れておくこと。
% setenv PATH $PATH\:/home/yasu/java/JAS/
次の例題はJava Memory Usageを動的に表示するプログラムである。
import jas.hist.*;
import jas.hist.test.MemoryDataSource;
import javax.swing.*;
public class Example1 extends JFrame {
Example1() {
super("Example 1");
JASHist plot = new JASHist();
JASHistData data = plot.addData(new MemoryDataSource());
plot.setTitle("Java Memory Usage");
plot.setDataAreaBorderType(plot.ETCHED);
plot.getYAxis().setLabel("MBytes");
plot.getXAxis().setLabel("Time (seconds)");
plot.setAllowUserInteraction(false);
data.show(true);
getContentPane().add(plot);
setSize(400,400);
show();
}
public static void main(String[] argv)
{
new Example1();
}
}
|
コンパイルと実行はつぎのようにする。
% javac Example1.java % java Example1そうすると、新しくウインドーが開いてこのJavaプログラムのメモリの使用量が 動的に表示される。
次の例題はプログラムの中に簡単なデータアレーを用意し、ヒストグラムを 作る。
import jas.hist.*;
import javax.swing.*;
public class Example2 extends JFrame {
Example2() {
super("Example 2");
JASHist plot = new JASHist();
double[] data = { 0, 1, 3, 5, 7, 9, 11, 13, 5, 0 };
plot.addData(new ArrayDataSource(data)).show(true);
getContentPane().add(plot);
setSize(400,400);
show();
}
public static void main(String[] argv)
{
new Example2();
}
}
|
import jas.hist.*;
class ArrayDataSource implements Rebinnable1DHistogramData
{
ArrayDataSource(double[] data)
{
this(data,"Array Data Source");
}
ArrayDataSource(double[] data, String name)
{
this.data = data;
this.name = name;
}
public double[][] rebin(int rBins, double rMin, double rMax,
boolean wantErrors, boolean hurry)
{
double[][] result = { data };
return result;
}
public String[] getAxisLabels() { return null; }
public double getMin() { return 0; }
public double getMax() { return data.length; }
public boolean isRebinnable() { return false; }
public int getBins() { return data.length; }
public int getAxisType() { return DOUBLE; }
public String getTitle() { return name; }
private double[] data;
private String name;
}
|