Source code for propka.determinant
"""
Determinant
===========
Provides the :class:`Determinant` class.
.. TODO::
It is confusing to have both `determinant.py` and `determinants.py`.
Should these be merged?
.. SeeAlso::
- :mod:`propka.determinants`
- :mod:`propka.iterative`
"""
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from propka.group import Group
[docs]
class Determinant:
"""Determinant class.
Appears to be a container for storing information and values about
groups that interact to influence titration states.
TODO - figure out what this class does.
"""
def __init__(self, group: "Group", value: float):
"""Initialize the object.
Args:
group: group associated with Determinant object
value: value to assign to group
"""
self.group = group
self.label = group.label
self.value = value
[docs]
def add(self, value: float):
"""Increment determinant value.
Args:
value: value to add to determinant
"""
self.value += value
def __str__(self):
return '{0:s}: {1:8.2f}'.format(self.label, self.value)