Source code for stko._internal.molecular.torsion.torsion_info

import logging

import stk

from stko._internal.molecular.torsion.torsion import Torsion

logger = logging.getLogger(__name__)


[docs] class TorsionInfo: """Holds additional info about ConstructedMoleculeTorsioned torsions. Parameters: torsion: The torsion about which information is held. building_block: The building block from which this torsion originates. Can be ``None``, if the atoms that make up the torsion did not come from a single building block. building_block_id: A unique id for each :class:`stk.Molecule` placed during the construction of the :class:`.ConstructedMolecule`. As a single :class:`stk.Molecule` can be placed multiple times during construction, the `building_block_id` allows the user to distinguish between each placement. Can be Can be ``None``, if the atoms that make up the torsion did not come from a single building block. building_block_torsion: The building block torsion from which this torsion originates. Can be ``None``, if the atoms that make up the torsion did not come from a single building block. """ def __init__( self, torsion: Torsion, building_block: stk.Molecule | None, building_block_id: int | None, building_block_torsion: Torsion | None, ) -> None: self._torsion = torsion self._building_block = building_block self._building_block_id = building_block_id self._building_block_torsion = building_block_torsion
[docs] def get_torsion(self) -> Torsion: """Torsion of atoms in constructed molecule.""" return self._torsion
[docs] def get_building_block(self) -> stk.Molecule | None: return self._building_block
[docs] def get_building_block_torsion(self) -> Torsion | None: """Torsion of atoms in building block.""" return self._building_block_torsion
[docs] def get_building_block_id(self) -> int | None: return self._building_block_id