8 #ifndef SPARROW_CISAOFOCKBUILDERFACTORY_H
9 #define SPARROW_CISAOFOCKBUILDERFACTORY_H
15 template<Utils::Reference restrictedness>
18 static std::shared_ptr<CISMatrixAOFockBuilderBase<restrictedness>>
19 createAOFockBuilder(
const Utils::SpinTransition spinBlock,
CISData cisData,
const ExcitedStatesParam& excitedStatesParam) {
21 case Utils::SpinTransition::Singlet:
22 return std::make_shared<CISMatrixAOFockBuilder<restrictedness, Utils::SpinTransition::Singlet>>(
23 std::move(cisData), excitedStatesParam);
24 case Utils::SpinTransition::Triplet:
25 return std::make_shared<CISMatrixAOFockBuilder<restrictedness, Utils::SpinTransition::Triplet>>(
26 std::move(cisData), excitedStatesParam);
28 throw std::runtime_error(
"Invalid spin-block argument in CISMatrixAOFockBuilderFactory.");
35 #endif // SPARROW_CISAOFOCKBUILDERFACTORY_H
Definition: TimeDependentUtils.h:22
Definition: CISMatrixAOFockBuilderFactory.h:16
This class contains the infos needed to perform a CIS calculation. This way excited states properties...
Definition: CISData.h:24