pal.treesearch
Class AbstractParentableConstrainedNode

java.lang.Object
  extended by pal.treesearch.AbstractParentableConstrainedNode
All Implemented Interfaces:
ParentableConstrainedNode
Direct Known Subclasses:
ConstrainedInternalNode, PivotNode

public abstract class AbstractParentableConstrainedNode
extends java.lang.Object
implements ParentableConstrainedNode


Constructor Summary
protected AbstractParentableConstrainedNode(Node peer, GeneralConstructionTool tool, GeneralConstraintGroupManager.Store store, GeneralConstraintGroupManager groupManager)
           
 
Method Summary
protected  void adjustNodeHeight(double heightDelta)
           
 Node buildDescendentPALNodeBase()
           
 Node buildDescendentPALNodeES(ConstraintModel.GroupManager groupManager)
           
protected  Node buildLeftDecendentPALNodeBase()
           
protected  Node buildRightDecendentPALNodeBase()
           
 void getAllComponents(java.util.ArrayList store, java.lang.Class componentType)
           
protected  MolecularClockLikelihoodModel.Internal getConstrainedInternal()
           
 ConditionalProbabilityStore getDescendentExtendedConditionals(double extensionHeight, GeneralConstructionTool tool, boolean allowCaching)
           
 ConditionalProbabilityStore getDescendentExtendedConditionalsWithAdjustedInternalHeights(double adjustedExtensionHeight, GeneralConstructionTool tool, ConstrainedNode.HeightAdjustment internalNodeHeightAdjuster, boolean allowCaching)
           
 ConditionalProbabilityStore getDescendentFlatConditionals(GeneralConstructionTool tool, boolean allowCaching)
           
protected  double getDescendentLogLikelihood(GeneralConstructionTool tool, boolean allowCaching)
           
 PatternInfo getDescendentPatternInfo(GeneralConstructionTool tool)
           
 ConstrainedNode getLeftChild()
           
protected  PatternInfo getLeftChildPatternInfo(GeneralConstructionTool tool)
           
protected  ConditionalProbabilityStore getLeftDescendentExtendedConditionals(double specifiedHeight, GeneralConstructionTool tool, boolean allowCaching)
          Obtain conditionals by extended left child conditionals to a particular height
protected  ConditionalProbabilityStore getLeftDescendentExtendedConditionals(GeneralConstructionTool tool, boolean allowCaching)
          Obtain conditionals by extended left child conditionals to height of this node
protected  double getMaxChildHeight()
           
 double getMaxOriginalDescendentLeafHeight()
           
 double getMinimumChildSeperation()
           
 double getMinimumChildSeperation(double currentSeparation)
           
 double getMinimumDirectChildDistance()
           
protected  double getMinimumLeafChildSeperation()
           
 double getMinimumLeafChildSeperation(double parentHeight)
           
 double getMinOriginalDescendentLeafHeight()
           
 double getNodeHeight()
           
abstract  void getNonSubTreeComponents(java.util.ArrayList store, java.lang.Class componentType)
           
 void getNonSubTreeOfChildComponents(java.util.ArrayList store, java.lang.Class componentType, ConstrainedNode childCaller)
           
 ConstrainedNode getRightChild()
           
protected  PatternInfo getRightChildPatternInfo(GeneralConstructionTool tool)
           
protected  ConditionalProbabilityStore getRightDescendentExtendedConditionals(double specifiedHeight, GeneralConstructionTool tool, boolean allowCaching)
          Obtain conditionals by extended left child conditionals to a particular height
protected  ConditionalProbabilityStore getRightDescendentExtendedConditionals(GeneralConstructionTool tool, boolean allowCaching)
          Obtain conditionals by extended right child conditionals to height of this node
 void getSubTreeComponents(java.util.ArrayList store, java.lang.Class componentType)
           
 boolean isLeftChild(ConstrainedNode node)
          Investigate if given node is left node (and not right)
 MolecularClockLikelihoodModel.External obtainConstrainedExternalCalculator()
           
 void obtainLeafInformation(HeightInformationUser user)
           
 void rebuildDescendentPattern(GeneralConstructionTool tool)
           
 void recursivelyAdjustNodeHeight(ConstrainedNode.HeightAdjustment height)
           
protected  void recursivelySetChildrenParentPivot(PivotNode parentPivot)
           
protected  void setNodeHeight(double nodeHeight)
           
 void setupInternalNodeHeights(ConstraintModel.GroupManager groupConstraints)
           
 java.lang.String toStringHeights()
           
protected  java.lang.String toStringLengths()
           
 java.lang.String toStringLengths(double parentHeight)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface pal.treesearch.ParentableConstrainedNode
getAscendentExtended, getAscendentFlat, getAscendentPatternInfo
 

Constructor Detail

AbstractParentableConstrainedNode

protected AbstractParentableConstrainedNode(Node peer,
                                            GeneralConstructionTool tool,
                                            GeneralConstraintGroupManager.Store store,
                                            GeneralConstraintGroupManager groupManager)
Method Detail

obtainConstrainedExternalCalculator

public MolecularClockLikelihoodModel.External obtainConstrainedExternalCalculator()

getMinOriginalDescendentLeafHeight

public double getMinOriginalDescendentLeafHeight()

getMaxOriginalDescendentLeafHeight

public double getMaxOriginalDescendentLeafHeight()

getMinimumDirectChildDistance

public double getMinimumDirectChildDistance()

toStringHeights

public final java.lang.String toStringHeights()

toStringLengths

protected final java.lang.String toStringLengths()

toStringLengths

public final java.lang.String toStringLengths(double parentHeight)

getNodeHeight

public final double getNodeHeight()
Specified by:
getNodeHeight in interface ParentableConstrainedNode

getMinimumChildSeperation

public double getMinimumChildSeperation()

getMinimumChildSeperation

public double getMinimumChildSeperation(double currentSeparation)

getMinimumLeafChildSeperation

protected final double getMinimumLeafChildSeperation()

getMinimumLeafChildSeperation

public final double getMinimumLeafChildSeperation(double parentHeight)

setupInternalNodeHeights

public final void setupInternalNodeHeights(ConstraintModel.GroupManager groupConstraints)

getDescendentPatternInfo

public final PatternInfo getDescendentPatternInfo(GeneralConstructionTool tool)

rebuildDescendentPattern

public final void rebuildDescendentPattern(GeneralConstructionTool tool)

getRightChildPatternInfo

protected final PatternInfo getRightChildPatternInfo(GeneralConstructionTool tool)

getLeftChildPatternInfo

protected final PatternInfo getLeftChildPatternInfo(GeneralConstructionTool tool)

setNodeHeight

protected final void setNodeHeight(double nodeHeight)

adjustNodeHeight

protected final void adjustNodeHeight(double heightDelta)

recursivelyAdjustNodeHeight

public void recursivelyAdjustNodeHeight(ConstrainedNode.HeightAdjustment height)

getLeftChild

public final ConstrainedNode getLeftChild()

getRightChild

public final ConstrainedNode getRightChild()

buildLeftDecendentPALNodeBase

protected final Node buildLeftDecendentPALNodeBase()

buildRightDecendentPALNodeBase

protected final Node buildRightDecendentPALNodeBase()

buildDescendentPALNodeBase

public final Node buildDescendentPALNodeBase()

buildDescendentPALNodeES

public final Node buildDescendentPALNodeES(ConstraintModel.GroupManager groupManager)

recursivelySetChildrenParentPivot

protected final void recursivelySetChildrenParentPivot(PivotNode parentPivot)

getLeftDescendentExtendedConditionals

protected final ConditionalProbabilityStore getLeftDescendentExtendedConditionals(GeneralConstructionTool tool,
                                                                                  boolean allowCaching)
Obtain conditionals by extended left child conditionals to height of this node

Parameters:
tool - The construction tool
Returns:
the extended conditionals

getLeftDescendentExtendedConditionals

protected final ConditionalProbabilityStore getLeftDescendentExtendedConditionals(double specifiedHeight,
                                                                                  GeneralConstructionTool tool,
                                                                                  boolean allowCaching)
Obtain conditionals by extended left child conditionals to a particular height

Parameters:
specifiedHeight - The desired height of extension
tool - The construction tool
Returns:
the extended conditionals

getRightDescendentExtendedConditionals

protected final ConditionalProbabilityStore getRightDescendentExtendedConditionals(GeneralConstructionTool tool,
                                                                                   boolean allowCaching)
Obtain conditionals by extended right child conditionals to height of this node

Parameters:
tool - The construction tool
Returns:
the extended conditionals

getRightDescendentExtendedConditionals

protected final ConditionalProbabilityStore getRightDescendentExtendedConditionals(double specifiedHeight,
                                                                                   GeneralConstructionTool tool,
                                                                                   boolean allowCaching)
Obtain conditionals by extended left child conditionals to a particular height

Parameters:
specifiedHeight - The desired height of extension
tool - The construction tool
Returns:
the extended conditionals

getConstrainedInternal

protected final MolecularClockLikelihoodModel.Internal getConstrainedInternal()

getDescendentLogLikelihood

protected final double getDescendentLogLikelihood(GeneralConstructionTool tool,
                                                  boolean allowCaching)

getMaxChildHeight

protected final double getMaxChildHeight()

getDescendentExtendedConditionals

public ConditionalProbabilityStore getDescendentExtendedConditionals(double extensionHeight,
                                                                     GeneralConstructionTool tool,
                                                                     boolean allowCaching)

getDescendentExtendedConditionalsWithAdjustedInternalHeights

public ConditionalProbabilityStore getDescendentExtendedConditionalsWithAdjustedInternalHeights(double adjustedExtensionHeight,
                                                                                                GeneralConstructionTool tool,
                                                                                                ConstrainedNode.HeightAdjustment internalNodeHeightAdjuster,
                                                                                                boolean allowCaching)

getDescendentFlatConditionals

public ConditionalProbabilityStore getDescendentFlatConditionals(GeneralConstructionTool tool,
                                                                 boolean allowCaching)

getSubTreeComponents

public final void getSubTreeComponents(java.util.ArrayList store,
                                       java.lang.Class componentType)

getAllComponents

public final void getAllComponents(java.util.ArrayList store,
                                   java.lang.Class componentType)

getNonSubTreeOfChildComponents

public void getNonSubTreeOfChildComponents(java.util.ArrayList store,
                                           java.lang.Class componentType,
                                           ConstrainedNode childCaller)
Specified by:
getNonSubTreeOfChildComponents in interface ParentableConstrainedNode

isLeftChild

public boolean isLeftChild(ConstrainedNode node)
Investigate if given node is left node (and not right)

Parameters:
node - the node to investigate
Returns:
true if left, false if right
Throws:
java.lang.IllegalArgumentException - if node is neither left nor right

obtainLeafInformation

public void obtainLeafInformation(HeightInformationUser user)

getNonSubTreeComponents

public abstract void getNonSubTreeComponents(java.util.ArrayList store,
                                             java.lang.Class componentType)