meshi.energy.simpleEnergyTerms
Class ParametersList

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractList<E>
          extended by java.util.ArrayList<Parameters>
              extended by meshi.energy.simpleEnergyTerms.ParametersList
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Iterable<Parameters>, java.util.Collection<Parameters>, java.util.List<Parameters>, java.util.RandomAccess
Direct Known Subclasses:
AlphaAngleParametersList, AlphaTorsionParametersList, AngleParametersList, BondParametersList, CompositePropensity2DParametersList, CompositePropensityParametersList, CylinderParametersList, EDMEnergyParametersList, HydrogenBondsPairsParametersList, InflateParametersList, LennardJonesParametersList, OutOfPlaneParametersList, PlaneParametersList, RamachandranParametersList, RamachandranSidechainParametersList, SmoothRotamerLibraryParametersList

public abstract class ParametersList
extends java.util.ArrayList<Parameters>

A list of parameters for an energy term. Energy terms (extensions of AbstractEnergy) typically need a large number of parameters. These parameters are provided by the user in a text file. ParametersList objects read, parse and stores the contennts of these files. They provide the parameters to the energy term with the getParameters(Parameters key) method. In general, each energy term requires a specific ParametersList class. See for example meshi.energy.bond.BondParametersList.

See Also:
Serialized Form

Field Summary
(package private)  boolean sortable
          True if the list is sortable.
(package private)  boolean sorted
          True if the list is sorted.
 
Fields inherited from class java.util.AbstractList
modCount
 
Constructor Summary
ParametersList()
           
ParametersList(java.lang.String[] parametersFileName, boolean sortable)
          Construct a ParametersList object from multiple files.
ParametersList(java.lang.String parametersFileName, boolean sortable)
          Construct a ParametersList object from parameters file.
 
Method Summary
 boolean add(Parameters element)
          Adds an element (must be an instance of Parameters) to the list.
abstract  Parameters createParameters(java.lang.String line)
          Energy term specific method to create a Parameters object from a line of the parameters file.
 Parameters getParameters(Parameters key)
           Fetches a parameter from the list.
 java.util.Iterator iterator()
           
abstract  Parameters parameters(java.lang.Object Obj)
          Energy term specific method to fetch parameters for the interactions between a st of atoms.
 void sort()
          Sort the list.
 
Methods inherited from class java.util.ArrayList
add, addAll, addAll, clear, clone, contains, ensureCapacity, get, indexOf, isEmpty, lastIndexOf, remove, remove, removeRange, set, size, toArray, toArray, trimToSize
 
Methods inherited from class java.util.AbstractList
equals, hashCode, listIterator, listIterator, subList
 
Methods inherited from class java.util.AbstractCollection
containsAll, removeAll, retainAll, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
containsAll, equals, hashCode, listIterator, listIterator, removeAll, retainAll, subList
 

Field Detail

sortable

boolean sortable
True if the list is sortable.


sorted

boolean sorted
True if the list is sorted.

Constructor Detail

ParametersList

public ParametersList()

ParametersList

public ParametersList(java.lang.String parametersFileName,
                      boolean sortable)
Construct a ParametersList object from parameters file. It is assumed that the file is arranged in raws where each raw includes the parameters for a specific interaction. the # sign may appear anywhere in a line and indicates the beginning of a comment. If the parameters are sortable the list is sorted. See for example the parameters for bond-energy in meshi/parameters/meshiPotential/bondParameters.dat .


ParametersList

public ParametersList(java.lang.String[] parametersFileName,
                      boolean sortable)
Construct a ParametersList object from multiple files. This constructor is useful when the parameters are distributed over many files, where each file holds a single parameter. An example for this case are the TwoTorsions energies.

Method Detail

add

public boolean add(Parameters element)
Adds an element (must be an instance of Parameters) to the list.

Specified by:
add in interface java.util.Collection<Parameters>
Specified by:
add in interface java.util.List<Parameters>
Overrides:
add in class java.util.ArrayList<Parameters>

sort

public void sort()
Sort the list. Note that if the List is not sortable this method simply does nothing.


iterator

public java.util.Iterator iterator()
Specified by:
iterator in interface java.lang.Iterable<Parameters>
Specified by:
iterator in interface java.util.Collection<Parameters>
Specified by:
iterator in interface java.util.List<Parameters>
Overrides:
iterator in class java.util.AbstractList<Parameters>

getParameters

public Parameters getParameters(Parameters key)
 Fetches a parameter from the list. A sorted list is assumed and a binary search is performed.
 If the list is not sortable this method needs to be overrun. Example (from BondParametersList):
  
        Parameters key = new BondParameters(pair.largeType(), pair.smallType());
  return getParameters(key);


parameters

public abstract Parameters parameters(java.lang.Object Obj)
Energy term specific method to fetch parameters for the interactions between a st of atoms.


createParameters

public abstract Parameters createParameters(java.lang.String line)
Energy term specific method to create a Parameters object from a line of the parameters file.