Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

InputQueue Maker #50

Open
ryanmrichard opened this issue Jul 12, 2023 · 0 comments
Open

InputQueue Maker #50

ryanmrichard opened this issue Jul 12, 2023 · 0 comments

Comments

@ryanmrichard
Copy link
Contributor

ryanmrichard commented Jul 12, 2023

For now, this module will take a ChemicalSystem object and return a std::map<ChemicalSystem, double> (assuming we can use ChemicalSystem as a key, which I don't think we can; if we can't then return a std::vector<std::pair<ChemicalSystem, double>>) The return is a list of ChemicalSystem objects we need to run and their weights. Internally the module will:

  • Turn the ChemicalSystem into a FragmentedNuclei object by calling a module satisfying the FragmentedNuclei property type.
  • Run the FragmentedNuclei through the intersection finder.
  • Add the intersections to the FragmentedNuclei object (which now contains the fragments and the intersections).
  • Run the new FragmentedNuclei object through a module satisfying FragmentedMolecule resulting in a FragmentedMolecule object.
  • Turn each fragment in the FragmentedMolecule object into a ChemicalSystem object and associate with that object the appropriate weight (1 if the fragment was one of the original fragments and the weight returned by the intersection finder otherwise).
  • Return the ChemicalSystem weight pairs.

N.B. We may need to tweak the inputs to the FragmentedNuclei modules and FragmentedMolecule
modules to be consistent with the above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

1 participant