Public Types | |
enum | FockStateRuleID { WrapperRule = 0, SumRule = 1, DifferenceRule = 2 } |
Public Member Functions | |
FockStateRule (FockStateRuleID fockStateRuleID) | |
virtual | ~FockStateRule () |
virtual FockStateRule * | clone () const =0 |
virtual WrapperRule | createNewRule (const LadderOperator< BitRegister > &ladderOperator) const =0 |
virtual WrapperRule | createNewRule (const LadderOperator< ExtensiveBitRegister > &ladderOperator) const =0 |
virtual bool | isSatisfied (const FockSpace< BitRegister > &fockSpace, const FockState< BitRegister > &fockState) const =0 |
virtual bool | isSatisfied (const FockSpace< ExtensiveBitRegister > &fockSpace, const FockState< ExtensiveBitRegister > &fockState) const =0 |
virtual bool | operator== (const FockStateRule &rhs) const =0 |
FockStateRuleID | getFockStateRuleID () const |
virtual void | print () const =0 |
Friends | |
WrapperRule | operator* (const LadderOperator< BitRegister > &ladderOperator, const FockStateRule &fockStateRule) |
WrapperRule | operator* (const LadderOperator< ExtensiveBitRegister > &ladderOperator, const FockStateRule &fockStateRule) |
List of FockStateRule identifiers. Official supported FockStateRules are given unique identifiers. FockStateRules not (yet) supported should make sure they use an identifier that does not clash with the officially supported ones [ideally a large random looking number (magic number) to also minimize accidental clashes with other FockStateRules that are not (yet) supported].
TBTK::FockStateRule::FockStateRule::FockStateRule | ( | FockStateRuleID | fockStateRuleID | ) |
Constructor
|
virtual |
Destructor.
|
pure virtual |
Clone FockStateRule.
Implemented in TBTK::FockStateRule::SumRule, TBTK::FockStateRule::DifferenceRule, and TBTK::FockStateRule::WrapperRule.
|
pure virtual |
Create a new rule that describes the space the state is in after the given ladder operator has been applied to the state.
Implemented in TBTK::FockStateRule::SumRule, TBTK::FockStateRule::DifferenceRule, and TBTK::FockStateRule::WrapperRule.
|
pure virtual |
Create a new rule that describes the space the state is in after the given ladder operator has been applied to the state.
Implemented in TBTK::FockStateRule::SumRule, TBTK::FockStateRule::DifferenceRule, and TBTK::FockStateRule::WrapperRule.
|
inline |
Get FockStateRule identifier.
|
pure virtual |
Check whether a given FockState fullfills the rule with respect to a particular FockSpace.
Implemented in TBTK::FockStateRule::SumRule, TBTK::FockStateRule::DifferenceRule, and TBTK::FockStateRule::WrapperRule.
|
pure virtual |
Check whether a given FockState fullfills the rule with respect to a particular FockSpace.
Implemented in TBTK::FockStateRule::SumRule, TBTK::FockStateRule::DifferenceRule, and TBTK::FockStateRule::WrapperRule.
|
pure virtual |
Comparison operator.
Implemented in TBTK::FockStateRule::SumRule, TBTK::FockStateRule::DifferenceRule, and TBTK::FockStateRule::WrapperRule.
|
pure virtual |
Print FockStateRule.
Implemented in TBTK::FockStateRule::SumRule, TBTK::FockStateRule::DifferenceRule, and TBTK::FockStateRule::WrapperRule.
|
friend |
Multiplication operator between a LadderOperator and a FockStateRule. Alternative notation for FockStateRule::createNewRule().
Note: Implemented in Wrapper.h to await complete definition of WrapperRule.
|
friend |
Multiplication operator between a LadderOperator and a FockStateRule. Alternative notation for FockStateRule::createNewRule().
Note: Implemented in Wrapper.h to await complete definition of WrapperRule.