Class PHead
- java.lang.Object
-
- org.processmining.lpm.adjustedalignments.PHead
-
- All Implemented Interfaces:
nl.tue.astar.Head
public class PHead extends java.lang.Object implements nl.tue.astar.HeadThe head is basically two vectors, one for the marking and one for the parikh vector.- Author:
- bfvdonge
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classPHead.HashContainer
-
Constructor Summary
Constructors Modifier Constructor Description protectedPHead(nl.tue.astar.util.ShortShortMultiset marking, nl.tue.astar.util.ShortShortMultiset parikh, int hashCode)PHead(AbstractPDelegate<?> delegate, org.processmining.models.semantics.petrinet.Marking m, org.deckfour.xes.model.XTrace t)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected nl.tue.astar.util.ShortShortMultisetcloneAndUpdateMarking(AbstractPDelegate<?> delegate, nl.tue.astar.util.ShortShortMultiset marking, short modelMove)static intcomputeBitsForParikh(short acts, short places)protected PHeadcreateHead(nl.tue.astar.util.ShortShortMultiset marking, nl.tue.astar.util.ShortShortMultiset parikh, int hashCode)booleanequals(java.lang.Object o)protected org.processmining.models.semantics.petrinet.MarkingfromMultiSet(AbstractPDelegate<?> delegate)nl.tue.astar.util.ShortShortMultisetgetMarking()gnu.trove.list.TIntListgetModelMoves(nl.tue.astar.Record rec, nl.tue.astar.Delegate<? extends nl.tue.astar.Head,? extends nl.tue.astar.Tail> d)get the model moves that are possible.PHeadgetNextHead(nl.tue.astar.Record rec, nl.tue.astar.Delegate<? extends nl.tue.astar.Head,? extends nl.tue.astar.Tail> d, int modelMove, int logMove, int activity)Produce the next head, given the moves.nl.tue.astar.util.ShortShortMultisetgetParikhVector()gnu.trove.list.TIntListgetSynchronousMoves(nl.tue.astar.Record rec, nl.tue.astar.Delegate<? extends nl.tue.astar.Head,? extends nl.tue.astar.Tail> d, gnu.trove.list.TIntList enabled, int activity)get the synchronous moves that are possible on activity, given the current list of enabled modelMoves.inthashCode()booleanisFinal(nl.tue.astar.Delegate<? extends nl.tue.astar.Head,? extends nl.tue.astar.Tail> d)checks if this head belongs to a final state;java.lang.StringtoString()
-
-
-
Constructor Detail
-
PHead
public PHead(AbstractPDelegate<?> delegate, org.processmining.models.semantics.petrinet.Marking m, org.deckfour.xes.model.XTrace t)
-
PHead
protected PHead(nl.tue.astar.util.ShortShortMultiset marking, nl.tue.astar.util.ShortShortMultiset parikh, int hashCode)
-
-
Method Detail
-
computeBitsForParikh
public static int computeBitsForParikh(short acts, short places)
-
createHead
protected PHead createHead(nl.tue.astar.util.ShortShortMultiset marking, nl.tue.astar.util.ShortShortMultiset parikh, int hashCode)
-
getNextHead
public PHead getNextHead(nl.tue.astar.Record rec, nl.tue.astar.Delegate<? extends nl.tue.astar.Head,? extends nl.tue.astar.Tail> d, int modelMove, int logMove, int activity)
Description copied from interface:nl.tue.astar.HeadProduce the next head, given the moves. If logMove == AStarThread.NOMOVE, then modelMove is an element of the TIntList returned by the last call to getModelMoves() and activity == AStarThread.NOMOVE. If modelMove == AStarThread.NOMOVE, then logMove is an index into the trace on which the AStarThread is working and activity is the corresponding activity. If logMove!=AStarThread.NOMOVE and modelMove != AStarThread.NOMOVE, then modelMove is an element of the TIntlist returned by the last call to getSynchronousMove, logMove is an index into the trace on which the AStarThread is working and activity is the corresponding activity.- Specified by:
getNextHeadin interfacenl.tue.astar.Head- Returns:
-
cloneAndUpdateMarking
protected nl.tue.astar.util.ShortShortMultiset cloneAndUpdateMarking(AbstractPDelegate<?> delegate, nl.tue.astar.util.ShortShortMultiset marking, short modelMove)
-
getModelMoves
public gnu.trove.list.TIntList getModelMoves(nl.tue.astar.Record rec, nl.tue.astar.Delegate<? extends nl.tue.astar.Head,? extends nl.tue.astar.Tail> d)Description copied from interface:nl.tue.astar.Headget the model moves that are possible.- Specified by:
getModelMovesin interfacenl.tue.astar.Head- Returns:
-
getSynchronousMoves
public gnu.trove.list.TIntList getSynchronousMoves(nl.tue.astar.Record rec, nl.tue.astar.Delegate<? extends nl.tue.astar.Head,? extends nl.tue.astar.Tail> d, gnu.trove.list.TIntList enabled, int activity)Description copied from interface:nl.tue.astar.Headget the synchronous moves that are possible on activity, given the current list of enabled modelMoves. The list enabled is obtained through a previous call to getModelMoves and implementations may only remove elements, i.e. the implementation may decide to remove modelMoves based on the available synchronous moves.- Specified by:
getSynchronousMovesin interfacenl.tue.astar.Headenabled- TODO- Returns:
-
isFinal
public boolean isFinal(nl.tue.astar.Delegate<? extends nl.tue.astar.Head,? extends nl.tue.astar.Tail> d)
Description copied from interface:nl.tue.astar.Headchecks if this head belongs to a final state;- Specified by:
isFinalin interfacenl.tue.astar.Head- Returns:
-
fromMultiSet
protected org.processmining.models.semantics.petrinet.Marking fromMultiSet(AbstractPDelegate<?> delegate)
-
getMarking
public nl.tue.astar.util.ShortShortMultiset getMarking()
-
getParikhVector
public nl.tue.astar.util.ShortShortMultiset getParikhVector()
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-