com.sun.electric.tool.io.input
Class EpicAnalysis

java.lang.Object
  extended by com.sun.electric.tool.simulation.Analysis<AnalogSignal>
      extended by com.sun.electric.tool.simulation.AnalogAnalysis
          extended by com.sun.electric.tool.io.input.EpicAnalysis

public class EpicAnalysis
extends AnalogAnalysis

Class to define a set of simulation data producet by Epic simulators. This class differs from Anylisis base class by less memory consumption. Waveforms are stored in a file in packed form. They are loaded to memory by denand. Hierarchical structure is reconstructed from Epic flat names into Context objects. EpicSignals don't store signalContex strings, EpicAnalysis don't have signalNames hash map. Elements of Context are EpicTreeNodes. They partially implements interface javax.swing.tree.TreeNode .


Nested Class Summary
static class EpicAnalysis.EpicTreeNode
          EpicTreeNode ********************************************* This class denotes an element of a Context.
 
Nested classes/interfaces inherited from class com.sun.electric.tool.simulation.Analysis
Analysis.AnalysisType
 
Field Summary
 
Fields inherited from class com.sun.electric.tool.simulation.Analysis
ANALYSIS_AC, ANALYSIS_DC, ANALYSIS_MEAS, ANALYSIS_SIGNALS, ANALYSIS_TRANS
 
Method Summary
 AnalogSignal findSignalForNetworkQuickly(java.lang.String netName)
          Method to quickly return the signal that corresponds to a given Network name.
 void finished()
          Free allocated resources before closing.
static com.sun.electric.tool.io.input.EpicAnalysis.EpicSignal getSignal(javax.swing.tree.TreePath treePath)
          Returns EpicSignal by its TreePath.
 java.util.List<AnalogSignal> getSignals()
          Method to get the list of signals in this Simulation Data object.
 javax.swing.tree.DefaultMutableTreeNode getSignalsForExplorer(java.lang.String analysis)
          Public method to build tree of EpicTreeNodes.
protected  Waveform[] loadWaveforms(AnalogSignal signal)
           
 void nameSignal(AnalogSignal ws, java.lang.String sigName)
          This methods overrides Analysis.nameSignal.
 
Methods inherited from class com.sun.electric.tool.simulation.AnalogAnalysis
addSignal, addSignal, addSweep, buildCommonTime, getCommonTimeArray, getNumSweeps, getSweep, getWaveform, isAnalog, setCommonTime
 
Methods inherited from class com.sun.electric.tool.simulation.Analysis
addSignal, findSignalForNetwork, getAnalysisType, getBounds, getLeftEdge, getRightEdge, getStimuli, setBoundsDirty
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

finished

public void finished()
Free allocated resources before closing.

Overrides:
finished in class AnalogAnalysis

findSignalForNetworkQuickly

public AnalogSignal findSignalForNetworkQuickly(java.lang.String netName)
Method to quickly return the signal that corresponds to a given Network name. This method overrides the m,ethod from Analysis class. It doesn't use signalNames hash map.

Overrides:
findSignalForNetworkQuickly in class Analysis<AnalogSignal>
Parameters:
netName - the Network name to find.
Returns:
the Signal that corresponds with the Network. Returns null if none can be found.

getSignalsForExplorer

public javax.swing.tree.DefaultMutableTreeNode getSignalsForExplorer(java.lang.String analysis)
Public method to build tree of EpicTreeNodes. Root of the tree us EpicRootTreeNode objects. Deeper nodes are EpicTreeNode objects.

Parameters:
analysis - name of root DefaultMutableTreeNode.
Returns:
root EpicRootTreeNode of the tree.

getSignal

public static com.sun.electric.tool.io.input.EpicAnalysis.EpicSignal getSignal(javax.swing.tree.TreePath treePath)
Returns EpicSignal by its TreePath.

Parameters:
treePath - specified TreePath.
Returns:
EpicSignal or null.

getSignals

public java.util.List<AnalogSignal> getSignals()
Method to get the list of signals in this Simulation Data object. List is unmodifieable.

Overrides:
getSignals in class Analysis<AnalogSignal>
Returns:
a List of signals.

nameSignal

public void nameSignal(AnalogSignal ws,
                       java.lang.String sigName)
This methods overrides Analysis.nameSignal. It doesn't use Analisys.signalNames to use less memory.

Overrides:
nameSignal in class Analysis<AnalogSignal>

loadWaveforms

protected Waveform[] loadWaveforms(AnalogSignal signal)
Overrides:
loadWaveforms in class AnalogAnalysis