24 #ifndef COM_DAFER45_TBTK_HARTREE_FOCK_POTENTIAL_OPERATOR
25 #define COM_DAFER45_TBTK_HARTREE_FOCK_POTENTIAL_OPERATOR
27 #include "TBTK/AbstractOperator.h"
31 class HartreeFockPotentialOperator :
public AbstractOperator{
38 HartreeFockPotentialOperator(
39 const AbstractState &firstState,
40 const AbstractState &secondState
47 HartreeFockPotentialOperator(
48 const HartreeFockPotentialOperator &hartreeFockPotentialOperator
52 ~HartreeFockPotentialOperator();
60 HartreeFockPotentialOperator& operator=(
61 const HartreeFockPotentialOperator &rhs
67 const AbstractState& getFirstState()
const;
72 const AbstractState& getSecondState()
const;
75 AbstractState *firstState;
78 AbstractState *secondState;
81 inline HartreeFockPotentialOperator::HartreeFockPotentialOperator(
82 const AbstractState &firstState,
83 const AbstractState &secondState
85 AbstractOperator(OperatorID::HartreeFockPotential),
86 firstState(firstState.clone()),
87 secondState(secondState.clone())
91 inline HartreeFockPotentialOperator::HartreeFockPotentialOperator(
92 const HartreeFockPotentialOperator &hartreeFockPotentialOperator
94 AbstractOperator(hartreeFockPotentialOperator)
96 firstState = hartreeFockPotentialOperator.firstState->clone();
97 secondState = hartreeFockPotentialOperator.secondState->clone();
100 inline HartreeFockPotentialOperator::~HartreeFockPotentialOperator(){
105 inline HartreeFockPotentialOperator& HartreeFockPotentialOperator::operator=(
106 const HartreeFockPotentialOperator &rhs
109 firstState = rhs.firstState->clone();
110 secondState = rhs.secondState->clone();
116 inline const AbstractState&
117 HartreeFockPotentialOperator::getFirstState()
const{
121 inline const AbstractState&
122 HartreeFockPotentialOperator::getSecondState()
const{