23 #ifndef COM_DAFER45_TBTK_OVERLAP_AMPLITUDE 24 #define COM_DAFER45_TBTK_OVERLAP_AMPLITUDE 31 #include <initializer_list> 55 const Index &braIndex,
70 std::complex<double> amplitude,
71 const Index &braIndex,
86 const Index &braIndex,
98 const std::string &serializeation,
156 std::complex<double> amplitude;
171 amplitudeCallback =
nullptr;
175 if(amplitudeCallback){
176 return amplitudeCallback->getOverlapAmplitude(
195 if(amplitudeCallback ==
nullptr)
203 if(amplitudeCallback !=
nullptr){
204 return *amplitudeCallback;
208 "OverlapAmplitude::getAmplitudeCallback()",
209 "Tried to access AmplitudeCallback from an" 210 <<
" OverlapAmplitude without an AmplitudeCallback.",
219 + std::to_string(real(amplitude))
220 +
", " + std::to_string(imag(amplitude))
222 +
", " + braIndex.toString()
223 +
", " + ketIndex.toString();
232 + braIndex.getSizeInBytes()
233 + ketIndex.getSizeInBytes();
Definition: OverlapAmplitude.h:41
std::string toString() const
Definition: OverlapAmplitude.h:216
const Index & getKetIndex() const
Definition: OverlapAmplitude.h:190
Base class for psudo-serializable objects.
const Index & getBraIndex() const
Definition: OverlapAmplitude.h:186
bool getIsCallbackDependent() const
Definition: OverlapAmplitude.h:194
Definition: PseudoSerializable.h:31
Overlap amplitude between state 'bra' and 'ket'.
Definition: OverlapAmplitude.h:37
virtual std::complex< double > getOverlapAmplitude(const Index &braIndex, const Index &ketIndex) const =0
Physical index.
Definition: Index.h:44
std::string serialize(Serializable::Mode mode) const
unsigned int getSizeInBytes() const
Definition: OverlapAmplitude.h:228
std::complex< double > getAmplitude() const
Definition: OverlapAmplitude.h:174
Mode
Definition: Serializable.h:47
OverlapAmplitude()
Definition: OverlapAmplitude.h:170
Abstract base class for serializable objects.
const AmplitudeCallback & getAmplitudeCallback() const
Definition: OverlapAmplitude.h:202