montepy.input_parser.syntax_node.ParticleNode#
- class montepy.input_parser.syntax_node.ParticleNode(name, token)#
Bases:
SyntaxNodeBase
A node to hold particles information in a
ClassifierNode
.- Parameters:
name (str) – the name for the node.
token (str) – the original token from parsing
Methods:
Deletes the trailing comment if any.
_grab_beginning_comment
(extra_padding)Consumes the provided comment, and moves it to the beginning of this node.
add
(value)Add a particle to this node.
append
(node)Append the node to this node.
check_for_graveyard_comments
([...])Checks if there is a graveyard comment that is preventing information from being part of the tree, and handles them.
flatten
()Flattens this tree structure into a list of leaves.
format
()Generate a string representing the tree's current state.
Get the trailing
c
style comments if any.remove
(value)Remove a particle from this node.
Attributes:
The particles in this node ordered in a nice-ish way.
A generator of all comments contained in this tree.
The name for the node.
The children nodes of this node.
The particles included in this node.
The original text (token) for this ParticleNode.
- _delete_trailing_comment()#
Deletes the trailing comment if any.
- _grab_beginning_comment(extra_padding)#
Consumes the provided comment, and moves it to the beginning of this node.
- Parameters:
extra_padding (list) – the padding comment to add to the beginning of this padding.
- append(node)#
Append the node to this node.
- Parameters:
node (SyntaxNodeBase, str, None) – node
- check_for_graveyard_comments(has_following_input=False)#
Checks if there is a graveyard comment that is preventing information from being part of the tree, and handles them.
A graveyard comment is one that accidentally suppresses important information in the syntax tree.
For example:
imp:n=1 $ grave yard Vol=1
Should be:
imp:n=1 $ grave yard Vol=1
These graveyards are handled by appending a new line, and the required number of continue spaces to the comment.
Added in version 0.4.0.
- Parameters:
has_following_input (bool) – Whether there is another input (cell modifier) after this tree that should be continued.
- Return type:
None
- flatten()#
Flattens this tree structure into a list of leaves.
Added in version 0.4.0.
- Returns:
a list of ValueNode and PaddingNode objects from this tree.
- Return type:
list
- format()#
Generate a string representing the tree’s current state.
- Returns:
the MCNP representation of the tree’s current state.
- Return type:
str
- get_trailing_comment()#
Get the trailing
c
style comments if any.- Returns:
The trailing comments of this tree.
- Return type:
list
- remove(value)#
Remove a particle from this node.
- Parameters:
value (Particle) – the particle to remove.
- property _particles_sorted#
The particles in this node ordered in a nice-ish way.
- Ordering:
User input.
Order of particles appended
randomly at the end if all else fails.
- Return type:
list
- property comments#
A generator of all comments contained in this tree.
- Returns:
the comments in the tree.
- Return type:
Generator
- property name#
The name for the node.
- Returns:
the node’s name.
- Return type:
str
- property nodes#
The children nodes of this node.
- Returns:
a list of the nodes.
- Return type:
list
- property particles#
The particles included in this node.
- Returns:
a set of the particles being used.
- Return type:
set
- property token#
The original text (token) for this ParticleNode.
- Returns:
the original input.
- Return type:
str