28#ifndef _mpqc_src_lib_chemistry_qc_lcao_transformfactorytimpl_h
29#define _mpqc_src_lib_chemistry_qc_lcao_transformfactorytimpl_h
31#include <chemistry/qc/lcao/transform_factory.h>
32#include <chemistry/qc/lcao/transform_tbint.h>
41 static const int i = 1;
42 template <
typename TransformType>
static
45 const std::string& name,
49 result =
new TransformType(name,factory,descr,
55 if (factory->top_mole_)
56 result->set_top_mole(factory->top_mole_);
57 result->set_debug(factory->debug());
63 static const int i = 1;
64 template <
typename TransformType>
static
67 const std::string& name,
71 result =
new TransformType(name,factory->
df_info(),descr,
77 if (factory->top_mole_)
78 result->set_top_mole(factory->top_mole_);
79 result->set_debug(factory->debug());
85 template <
typename TransformType>
struct NeedDF {
86 static const bool value =
false;
89 static const bool value =
true;
94 typedef TransformType value;
110 static const bool value =
false;
113 static const bool value =
true;
118 MOIntsTransformFactory::twobody_transform(
const std::string& name,
124 !
detail::EqualTypes<TransformType,
typename detail::ToDensityFittingType<TransformType>::value>::value) {
125 return this->twobody_transform< typename detail::ToDensityFittingType<TransformType>::value >(name, descrarg);
128 typedef detail::MakeTwoBodyTransform< detail::NeedDF<TransformType>::value > TformMaker;
129 Ref<TwoBodyMOIntsTransform> result = TformMaker::template evaluate<TransformType>(
this,name,descrarg);
133 template <
typename TransformType> Ref<TwoBodyThreeCenterMOIntsTransform>
134 MOIntsTransformFactory::twobody_transform(
const std::string& name,
135 const Ref<TwoBodyThreeCenterIntDescr>& descrarg) {
136 Ref<TwoBodyThreeCenterMOIntsTransform> result =
new TransformType(name,
this,descrarg,space1_,space2_,space3_);
139 result->set_top_mole(top_mole_);
A template class that maintains references counts.
Definition ref.h:361
bool null() const
Return true if this is a reference to a null object.
Definition ref.h:423
TwoBodyMOIntsTransform_iRjS computes (iR|jS), or <ij|RS> integrals, where R and S are atomic orbitals...
Definition transform_iRjS.h:39
TwoBodyMOIntsTransform_ikjy computes (ik|jy) integrals using parallel integrals-direct AO->MO transfo...
Definition transform_ikjy.h:41
TwoBodyMOIntsTransform_ixjy_df computes (ix|jy) integrals using parallel integral-direct density-fitt...
Definition transform_ixjy_df.h:44
TwoBodyMOIntsTransform_ixjy computes (ix|jy) integrals using parallel integrals-direct AO->MO transfo...
Definition transform_ixjy.h:41
Contains all MPQC code up to version 3.
Definition mpqcin.h:14
Definition transform_factory.timpl.h:109
Definition transform_factory.timpl.h:39
Definition transform_factory.timpl.h:85
Definition transform_factory.timpl.h:93