|
MPQC
3.0.0-alpha
|
This is a generic implementation of TwoBodyIntBatch in terms of a TwoBodyInt. More...
#include <chemistry/qc/basis/tbint_batch.h>
Public Types | |
| typedef TwoBodyIntEvalType< NumCenters >::value | TwoBodyIntEval |
Public Types inherited from sc::TwoBodyIntBatch< NumCenters > | |
| typedef detail::tuple< NumCenters, unsigned int > | IntTuple |
Public Member Functions | |
| TwoBodyIntBatchGeneric (Ref< TwoBodyIntEval > tbint) | |
| bool | cloneable () const |
| Return true if the clone member can be called. More... | |
| Ref< TwoBodyIntBatch< NumCenters > > | clone () |
| Returns a clone of this. More... | |
| TwoBodyOperSet::type | type () const |
| Returns the type of the operator set that this object computes. More... | |
| const Ref< TwoBodyOperSetDescr > & | descr () const |
| return the operator set descriptor | |
| void | set_integral_storage (size_t storage) |
| This storage is used to cache computed integrals. More... | |
| const std::vector< IntTuple > & | current_batch () const |
| returns the shell indices of the current batch | |
| const std::vector< IntTuple > & | start () |
| const std::vector< IntTuple > & | fence () |
| const double * | buffer (TwoBodyOper::type type=TwoBodyOper::eri) const |
| The computed shell integrals will be put in the buffer returned by this member. More... | |
| template<unsigned int > | |
| void | init (const Ref< IndexRangeIterator< NumCenters > > &i, int s=int()) |
| bool | next () |
| compute next batch, return true if have another may need to be split into have_next and next TODO JTF implement | |
Public Member Functions inherited from sc::TwoBodyIntBatch< NumCenters > | |
| TwoBodyIntBatch (Ref< Integral > i) | |
| template<typename Seed > | |
| void | init (const Ref< IndexRangeIterator< NumCenters > > &n, Seed s=Seed()) |
| prepare to iterate using seed s TODO JTF implement | |
| const Ref< GaussianBasisSet > & | basis (unsigned int c=0) const |
| Return the basis set on center c TODO JTF implement. | |
| Integral * | integral () const |
| Return the integral factory that was used to create this object. | |
Public Member Functions inherited from sc::RefCount | |
| size_t | identifier () const |
| Return the unique identifier for this object that can be compared for different objects of different types. More... | |
| int | lock_ptr () const |
| Lock this object. | |
| int | unlock_ptr () const |
| Unlock this object. | |
| void | use_locks (bool inVal) |
| start and stop using locks on this object | |
| refcount_t | nreference () const |
| Return the reference count. | |
| refcount_t | reference () |
| Increment the reference count and return the new count. | |
| refcount_t | dereference () |
| Decrement the reference count and return the new count. | |
| int | managed () const |
| void | unmanage () |
| Turn off the reference counting mechanism for this object. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from sc::RefCount | |
| RefCount (const RefCount &) | |
| RefCount & | operator= (const RefCount &) |
Protected Attributes inherited from sc::TwoBodyIntBatch< NumCenters > | |
| Ref< Integral > | integral_ |
| Ref< GaussianBasisSet > | bs_ [NumCenters] |
| std::vector< double > | buffer_ |
| std::vector< IntTuple > | shells_in_buffer_ |
| std::vector< IntTuple > | start_ |
| std::vector< IntTuple > | fence_ |
| size_t | buf_cap_ |
This is a generic implementation of TwoBodyIntBatch in terms of a TwoBodyInt.
|
inlinevirtual |
The computed shell integrals will be put in the buffer returned by this member.
Some TwoBodyInt specializations have more than one buffer: The type arguments selects which buffer is returned. If the requested type is not supported, then 0 is returned. TODO JTF implement
Implements sc::TwoBodyIntBatch< NumCenters >.
|
inlinevirtual |
Returns a clone of this.
The default implementation throws an exception. TODO JTF implement
Implements sc::TwoBodyIntBatch< NumCenters >.
References sc::TwoBodyIntEval::clone().
|
inlinevirtual |
Return true if the clone member can be called.
The default implementation returns false. TODO JTF implement
Implements sc::TwoBodyIntBatch< NumCenters >.
|
inlinevirtual |
This storage is used to cache computed integrals.
TODO: do we really want to allocate by size_t, instead of number of elements?
Implements sc::TwoBodyIntBatch< NumCenters >.
|
inlinevirtual |
Returns the type of the operator set that this object computes.
this function is necessary to describe the computed integrals (their number, symmetries, etc.) and/or to implement cloning.
Implements sc::TwoBodyIntBatch< NumCenters >.
References sc::TwoBodyIntEval::type().