00001
00002
00003
00004
00005
00006
00007 package DisplayGUI.plotters;
00008
00009 import java.util.*;
00010 import javax.swing.JPanel;
00011 import java.awt.BorderLayout;
00012 import hep.aida.*;
00013 import hep.aida.ref.plotter.PlotterUtilities;
00014
00019 public class IVScanPlotter {
00020 private static IVScanPlotter instance = new IVScanPlotter();
00021 IAnalysisFactory af;
00022 ITree tree;
00023 IDataPointSetFactory dpsf=null;
00024 private JPanel panel;
00025 private IPlotter iplotter=null;
00026
00027 private IVScanPlotter() {
00028 initialise();
00029 }
00030
00031 private void initialise() {
00032 af = IAnalysisFactory.create();
00033 tree = af.createTreeFactory().create();
00034 }
00035 public static IVScanPlotter getInstance() {
00036 return instance;
00037 }
00038
00039 public IDataPointSetFactory getDataPointSetFactory() {
00040 if(dpsf==null) dpsf=af.createDataPointSetFactory(tree);
00041 return dpsf;
00042 }
00043 public IPlotter getIPlotter() {
00044 if(iplotter==null) iplotter = af.createPlotterFactory().create();
00045 return iplotter;
00046 }
00047
00048 public JPanel getPlotPanel() {
00049 if (panel == null) {
00050 panel = new JPanel();
00051
00052
00053 panel.add(PlotterUtilities.componentForPlotter(getIPlotter()), BorderLayout.CENTER);
00054 }
00055
00056 return panel;
00057 }
00058
00059
00060
00061 }