|
||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||
java.lang.Object
|
+--java.awt.Component
|
+--java.awt.Container
|
+--java.awt.Panel
|
+--java.applet.Applet
|
+--BaseApplet
|
+--BaseApplet2
|
+--Shoot
Applet to illustrate the shooting method. Displays a schematic of the potential function, with a marker indicating the selected energy level. The Schrodinger equation is "solved" for this energy level, and the resulting function is displayed. (The function is not actually a solution unless it tends to zero towards the extremes of the x axis.
Features include a quadratic potential, the option to plot psi or psi2, and the ability to solve the equation (ie. find energy for which the above condition holds).
| Inner Class Summary | |
protected class |
Shoot.EnergyChangeListener
Listener for changes to the position of the energy slider. |
protected class |
Shoot.WellResizeListener
Listener for changes to the position of the "well width" slider. |
| Inner classes inherited from class BaseApplet2 |
BaseApplet2.FixedButton,
BaseApplet2.FixedCheckbox,
BaseApplet2.GraphClickListener |
| Inner classes inherited from class BaseApplet |
BaseApplet.MozillaWorkaround,
BaseApplet.ResizeListener |
| Inner classes inherited from class java.awt.Component |
java.awt.Component.AWTTreeLock |
| Field Summary | |
protected static java.awt.Color |
AXES_COL
|
protected java.awt.Button |
chooser
|
protected static int |
DEFAULT_NWELLS
|
protected static int |
DEFAULT_STEPS
|
protected java.awt.TextField |
depthField
|
protected java.awt.Label |
depthLabel
|
protected java.awt.Button |
drawButton
|
protected static java.awt.Color |
ENERGY_COL
|
protected Shoot.EnergyChangeListener |
energyChangeListener
Listener for changes to the position of the energy slider. |
protected java.awt.TextField |
energyField
|
protected Schrodinger |
eqn
Instance of Schrodinger to use to generate solution data |
protected boolean |
freehandEnabled
|
protected BaseApplet2.GraphClickListener |
freehandListener
|
protected Function |
function
The (piecewise-constant) potential function |
protected int |
functionIndex
|
protected java.lang.String[] |
functionNames
|
protected Function[] |
functions
The (quadratic) potential function |
protected int |
hSpace1
|
protected int |
hSpace2
|
protected java.awt.TextField |
intWidthField
|
protected static int |
MAX_WELLS
|
protected java.awt.TextField |
nWellsField
|
protected java.awt.TextField |
periodField
|
protected Plotter2 |
plotter
|
protected static java.awt.Color |
POT_COL
|
protected Plotter2 |
potPlotter
|
protected java.awt.Checkbox |
quadBox
|
protected java.awt.Button |
refreshButton
|
protected double |
selectedY1
The first limit for the search interval. |
protected double |
selectedY2
The second limit for the search interval. |
protected java.awt.Button |
solveButton
|
protected SolnSearcher |
solveThread
Thread currently searching for a solution, or null if
there is no search in progress. |
protected java.awt.Checkbox |
squareValues
|
protected int |
steps
The number of x values to sample |
protected java.awt.TextField |
stepsField
|
protected int |
vSpace1
|
protected int |
vSpace2
|
protected static java.awt.Color |
WAVE_FN_COL
|
protected static java.awt.Color |
WELL_BOUNDS_COL
|
protected Shoot.WellResizeListener |
wellResizeListener
Listener for changes to the position of the "well width" slider. |
protected java.awt.TextField |
widthField
|
| Fields inherited from class BaseApplet2 |
boxes,
buttons,
enablePrompt,
fields,
focus,
panel,
statusLabel,
useSwing,
V_MARGIN |
| Fields inherited from class BaseApplet |
buffer,
GRAPH_MARGIN,
refresh,
resizeListener,
safetyLimit,
useBuffer |
| Fields inherited from class java.applet.Applet |
serialVersionUID,
stub |
| Fields inherited from class java.awt.Panel |
base,
nameCounter,
serialVersionUID |
| Fields inherited from class java.awt.Container |
component,
containerListener,
containerSerializedDataVersion,
dispatcher,
layoutMgr,
maxSize,
ncomponents,
serialVersionUID |
| Fields inherited from class java.awt.Component |
actionListenerK,
adjustmentListenerK,
appContext,
assert,
background,
BOTTOM_ALIGNMENT,
CENTER_ALIGNMENT,
changeSupport,
componentListener,
componentListenerK,
componentOrientation,
componentSerializedDataVersion,
containerListenerK,
cursor,
dropTarget,
enabled,
eventMask,
focusListener,
focusListenerK,
font,
foreground,
hasFocus,
height,
incRate,
inputMethodListener,
inputMethodListenerK,
isInc,
isPacked,
itemListenerK,
keyListener,
keyListenerK,
LEFT_ALIGNMENT,
locale,
LOCK,
minSize,
mouseListener,
mouseListenerK,
mouseMotionListener,
mouseMotionListenerK,
name,
nameExplicitlySet,
newEventsOnly,
ownedWindowK,
parent,
peer,
peerFont,
popups,
prefSize,
RIGHT_ALIGNMENT,
serialVersionUID,
textListenerK,
TOP_ALIGNMENT,
valid,
visible,
width,
windowListenerK,
x,
y |
| Constructor Summary | |
Shoot()
|
|
| Method Summary | |
void |
abortSolving()
Stops a running search. |
void |
actionPerformed(java.awt.event.ActionEvent ae)
Subclasses should at least provide an empty implementation of this method. |
java.lang.String[] |
createFunctionNames()
|
Function[] |
createFunctions()
|
void |
doPaint(java.awt.Graphics g)
Called by forcePaint() to actually
perform the painting. |
void |
energyChanged(double newEnergy)
Called to signal that the best estimate for the energy has changed. |
void |
init()
Performs extra initialisation, including adding a panel to the bottom of the applet. |
boolean |
isSquare()
Returns true if the potential model consists of square
wells. |
protected void |
potentialChanged()
|
protected void |
safeUpdateInput()
Attempts to update the parameters from the text fields. |
void |
searchFinished()
Called to signal that the search has finished.s |
void |
setFunction(Function f)
|
void |
solve()
Attempts to find an energy for which the Schrodinger equation has a solution. |
void |
start()
Applets should use this method to perform any final initialisation necessary to "activate" the applet |
void |
stop()
When this method is called, the applet should cease any user interaction. |
void |
updateInput()
Reads in (and validates) input from the text fields. |
| Methods inherited from class BaseApplet2 |
add,
add,
addButton,
addCheckbox,
addField,
addField,
addField,
addListeners,
focusGained,
focusLost,
getDouble,
getGraphHeight,
getInt,
lockControls,
makeButton,
makePanel,
paintDashedLineH,
paintDashedLineV,
register,
removeListeners,
setComponentsEnabled,
setLayout,
setPromptEnabled,
textValueChanged,
toString,
unlockControls |
| Methods inherited from class BaseApplet |
changeFont,
forcePaint,
getAppletInfo,
getParameterInfo,
itemStateChanged,
paint,
refresh,
update |
| Methods inherited from class java.applet.Applet |
destroy,
getAppletContext,
getAudioClip,
getAudioClip,
getCodeBase,
getDocumentBase,
getImage,
getImage,
getLocale,
getParameter,
isActive,
newAudioClip,
play,
play,
resize,
resize,
setStub,
showStatus |
| Methods inherited from class java.awt.Panel |
|
| Methods inherited from class java.awt.Container |
add,
add,
add,
add,
addContainerListener,
addImpl,
applyOrientation,
countComponents,
deliverEvent,
dispatchEventImpl,
dispatchEventToSelf,
doLayout,
eventEnabled,
findComponentAt,
findComponentAt,
getAlignmentX,
getAlignmentY,
getComponent,
getComponentAt,
getComponentAt,
getComponentCount,
getComponents_NoClientCode,
getComponents,
getCursorTarget,
getInsets,
getLayout,
getMaximumSize,
getMinimumSize,
getMouseEventTarget,
getPreferredSize,
getWindow,
initIDs,
insets,
invalidate,
invalidateTree,
isAncestorOf,
layout,
lightweightPrint,
list,
list,
locate,
minimumSize,
nextFocus,
paintComponents,
paramString,
postProcessKeyEvent,
postsOldMouseEvents,
preferredSize,
preProcessKeyEvent,
print,
printComponents,
printOneComponent,
processContainerEvent,
processEvent,
proxyEnableEvents,
proxyRequestFocus,
readObject,
remove,
remove,
removeAll,
removeContainerListener,
removeNotify,
setCursor,
setFocusOwner,
setFont,
transferFocus,
updateCursor,
validate,
validateTree,
writeObject |
| Methods inherited from class java.awt.Component |
action,
add,
addComponentListener,
addFocusListener,
addInputMethodListener,
addKeyListener,
addMouseListener,
addMouseMotionListener,
addPropertyChangeListener,
addPropertyChangeListener,
areInputMethodsEnabled,
bounds,
checkImage,
checkImage,
coalesceEvents,
contains,
contains,
createImage,
createImage,
disable,
disableEvents,
dispatchEvent,
enable,
enable,
enableEvents,
enableInputMethods,
firePropertyChange,
getBackground,
getBounds,
getBounds,
getColorModel,
getComponentOrientation,
getCursor,
getDropTarget,
getFont_NoClientCode,
getFont,
getFontMetrics,
getForeground,
getGraphics,
getHeight,
getInputContext,
getInputMethodRequests,
getIntrinsicCursor,
getLocation,
getLocation,
getLocationOnScreen,
getName,
getNativeContainer,
getParent_NoClientCode,
getParent,
getPeer,
getSize,
getSize,
getToolkit,
getToolkitImpl,
getTreeLock,
getWidth,
getWindowForObject,
getX,
getY,
gotFocus,
handleEvent,
hasFocus,
hide,
imageUpdate,
inside,
isDisplayable,
isDoubleBuffered,
isEnabled,
isEnabledImpl,
isFocusTraversable,
isLightweight,
isOpaque,
isShowing,
isValid,
isVisible,
keyDown,
keyUp,
list,
list,
list,
location,
lostFocus,
mouseDown,
mouseDrag,
mouseEnter,
mouseExit,
mouseMove,
mouseUp,
move,
nextFocus,
paintAll,
postEvent,
prepareImage,
prepareImage,
printAll,
processComponentEvent,
processFocusEvent,
processInputMethodEvent,
processKeyEvent,
processMouseEvent,
processMouseMotionEvent,
remove,
removeComponentListener,
removeFocusListener,
removeInputMethodListener,
removeKeyListener,
removeMouseListener,
removeMouseMotionListener,
removePropertyChangeListener,
removePropertyChangeListener,
repaint,
repaint,
repaint,
repaint,
requestFocus,
reshape,
setBackground,
setBounds,
setBounds,
setComponentOrientation,
setDropTarget,
setEnabled,
setForeground,
setLocale,
setLocation,
setLocation,
setName,
setSize,
setSize,
setVisible,
show,
show,
size,
toString,
transferFocus |
| Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
registerNatives,
wait,
wait,
wait |
| Field Detail |
protected int hSpace1
protected int hSpace2
protected int vSpace1
protected int vSpace2
protected int steps
protected java.awt.TextField energyField
protected java.awt.TextField depthField
protected java.awt.TextField widthField
protected java.awt.TextField intWidthField
protected java.awt.TextField nWellsField
protected java.awt.TextField stepsField
protected java.awt.TextField periodField
protected java.awt.Checkbox squareValues
protected java.awt.Checkbox quadBox
protected java.awt.Button refreshButton
protected java.awt.Button solveButton
protected java.awt.Button drawButton
protected java.awt.Button chooser
protected java.awt.Label depthLabel
protected Shoot.WellResizeListener wellResizeListener
protected Shoot.EnergyChangeListener energyChangeListener
protected BaseApplet2.GraphClickListener freehandListener
protected Schrodinger eqn
protected SolnSearcher solveThread
null if
there is no search in progress.protected double selectedY1
protected double selectedY2
protected boolean freehandEnabled
protected Plotter2 plotter
protected Plotter2 potPlotter
protected int functionIndex
protected Function function
protected Function[] functions
protected java.lang.String[] functionNames
protected static java.awt.Color POT_COL
protected static java.awt.Color ENERGY_COL
protected static java.awt.Color AXES_COL
protected static java.awt.Color WAVE_FN_COL
protected static java.awt.Color WELL_BOUNDS_COL
protected static int DEFAULT_STEPS
protected static int DEFAULT_NWELLS
protected static int MAX_WELLS
| Constructor Detail |
public Shoot()
| Method Detail |
public void init()
public Function[] createFunctions()
public java.lang.String[] createFunctionNames()
protected void potentialChanged()
public void setFunction(Function f)
public void updateInput()
public void start()
public void stop()
start().public void actionPerformed(java.awt.event.ActionEvent ae)
protected void safeUpdateInput()
public void doPaint(java.awt.Graphics g)
forcePaint() to actually
perform the painting. Subclasses should implement this method as if
it were the standard paint() method; buffering will
then take place transparently.g - The Graphics object on which to paintpublic void solve()
If a search is already in progress, this method will stop the search and perform no other action.
This method will also alternate the label of the Solve
button between "Solve" and "Cancel" as
appropriate.
public void abortSolving()
public void energyChanged(double newEnergy)
d - The new energypublic void searchFinished()
public boolean isSquare()
true if the potential model consists of square
wells.
|
||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||