sc::OneBodyInt(3)

πŸ“¦
version 2.3.1 Β· 5 versions
, in ubuntu jammy

πŸ’– sc::OneBodyInt(3) β€” the MPQC one πŸ’–

okay so bestie, welcome to sc::OneBodyInt, a page from the MPQC manual (that's the manual name, folding it in here so you have it 🫢). It's an abstract base class for objects that compute integrals between two basis functions. That's the whole vibe. It doesn't do the math itself β€” it's the main character energy parent class that other integral classes inherit their whole personality from. ✨


🌸 NAME 🌸

sc::OneBodyInt β€” an abstract base class for objects that compute integrals between two basis functions.


✨ SYNOPSIS ✨

#include <obint.h>

Inherits from sc::RefCount. 🧬

Inherited by sc::DipoleIntV3, sc::EfieldDotVectorIntV3, sc::OneBodyIntCCA, sc::OneBodyIntCints, sc::OneBodyIntV3, and sc::PointChargeIntV3. The whole friend group fr fr πŸ‘‘

πŸ’… Public Member Functions

  • int nbasis() const β€” Returns the number of basis functions on center one.
  • int nbasis1() const β€” Returns the number of basis functions on the center one.
  • int nbasis2() const β€” Returns the number of basis functions on the center two.
  • int nshell() const β€” Return the number of shells on center one.
  • int nshell1() const β€” Return the number of shells on the center one.
  • int nshell2() const β€” Return the number of shells on the center two.
  • Ref<GaussianBasisSet> basis() β€” Return the basis set on center one.
  • Ref<GaussianBasisSet> basis1() β€” Return the basis set on the center one.
  • Ref<GaussianBasisSet> basis2() β€” Return the basis set on the center two.
  • const double * buffer() const β€” Returns the buffer where the integrals are placed. πŸ«™
  • virtual void compute_shell(int, int)=0 β€” Computes the integrals between basis functions in the given shell pair. Pure virtual, so the subclasses HAVE to do this one. no skipping πŸ’€
  • virtual void reinitialize() β€” This is called for one body integrals that take data to let them know that the data they reference has changed. Like a lil "hey bestie, heads up, things moved" text πŸ“±
  • virtual bool cloneable() β€” Return true if the clone member can be called.
  • virtual Ref<OneBodyInt> clone() β€” Returns a clone of this.
  • Integral * integral() const β€” returns the integral pointer, iconic, no notes.

🧚 Protected Member Functions

  • OneBodyInt(Integral *integral, const Ref<GaussianBasisSet> &b1, const Ref<GaussianBasisSet> &b2=0) β€” the constructor, catch it. Note the b2=0 default, so center two is optional ✨

πŸŽ€ Protected Attributes

  • Integral * integral_ β€” the integral pointer, living its life
  • Ref<GaussianBasisSet> bs1_ β€” basis set on center one
  • Ref<GaussianBasisSet> bs2_ β€” basis set on center two
  • double * buffer_ β€” the buffer, where the integrals go

πŸ¦‹ Detailed Description πŸ¦‹

OneBodyInt is an abstract base class for objects that compute integrals between two basis functions. Periodt. It's the blueprint, not the building β€” the actual integral computation gets delegated to whoever inherits it πŸ’–


πŸ”₯ Member Function Documentation πŸ”₯

🌈 virtual Ref<OneBodyInt> sc::OneBodyInt::clone() [virtual]

Returns a clone of this. The default implementation throws an exception β€” so like, if you call it without a subclass that actually implements it, it's not gonna slay, it's gonna crash. 😭

Reimplemented in sc::OneBodyIntCCA, sc::OneBodyIntCints, and sc::OneBodyIntV3.

🌈 virtual bool sc::OneBodyInt::cloneable() [virtual]

Return true if the clone member can be called. The default implementation returns false β€” so by default, bestie, cloning is not on the menu πŸ™ˆ

Reimplemented in sc::OneBodyIntCCA, sc::OneBodyIntCints, and sc::OneBodyIntV3.


πŸ’œ Author πŸ’œ

Generated automatically by Doxygen for MPQC from the source code. (not me writing it by hand, the robots did that part πŸ€–βœ¨)


πŸ’€ tiny little note, bestie: clone() throwing by default and cloneable() returning false by default is the whole "look before you leap" situation β€” check that vibe check first, iykyk.

🌸 okay that's the whole page, thank you for coming to my TED talk 🌸

Signed, sealed, delivered with Version 2.3.1 energy, dated Sun Oct 4 2020 β€” the source/version + date sign-off you asked for, served cute πŸŽ€πŸ’œπŸ¦‹

πŸ“¦ where this page comes from