Quantum Phenomena Explorer 7.9.8
Interactive quantum-phenomena Explorer Tutor — source documentation
Loading...
Searching...
No Matches
qpe::anonymous_namespace{ramseyinterferometry2d.cpp} Namespace Reference

Classes

struct  Operator2
 
struct  PreparedMember
 
struct  State2
 

Functions

bool finite (double v) noexcept
 Performs finite.
 
bool validPair (const BoundStateSpectrum1D &spectrum, int a, int b) noexcept
 Performs valid pair.
 
State2 propagateConstant (const State2 &state, double energyA, double energyB, double coupling, double driveValue, double dt, double hbar) noexcept
 Performs propagate constant.
 
State2 applyOperator (const Operator2 &op, const State2 &state) noexcept
 Applies operator.
 
Operator2 pulseOperator (double energyA, double energyB, double coupling, const RamseyPulseSequence2DConfig &sequence, double duration, double phaseDegrees, double hbar, double maximumStep) noexcept
 Performs pulse operator.
 
PreparedMember prepareMember (const BoundStateSpectrum1D &spectrum, const RamseyPulseSequence2DConfig &sequence, int stateA, int stateB, double hbar, double transitionOffset, double weight, double maximumPulseStep) noexcept
 Prepares member.
 
void predictPrepared (const PreparedMember &member, const RamseyPulseSequence2DConfig &sequence, double freeEvolutionDuration, double hbar, double &populationA, double &populationB) noexcept
 Performs predict prepared.
 
bool sequenceValidForReference (const RamseyPulseSequence2DConfig &sequence) noexcept
 Performs sequence valid for reference.
 
std::vector< PreparedMember > prepareEnsemble (const BoundStateSpectrum1D &spectrum, const RamseyPulseSequence2DConfig &sequence, const RamseyEnsemble2DConfig &ensemble, int stateA, int stateB, double hbar)
 
void averagePrepared (const std::vector< PreparedMember > &members, const RamseyPulseSequence2DConfig &sequence, double freeEvolutionDuration, double hbar, double &meanA, double &meanB, double *minimumB, double *maximumB) noexcept
 Performs average prepared.
 

Variables

const double Pi = 3.1415926535897932384626433832795
 
const double EnsembleSpanSigma = 3.0
 

Function Documentation

◆ applyOperator()

State2 qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::applyOperator ( const Operator2 & op,
const State2 & state )
noexcept

Applies operator.

Parameters
opThe op value used by the operation.
stateThe state value used by the operation.

Definition at line 121 of file ramseyinterferometry2d.cpp.

References qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::State2::a, applyOperator(), and qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::State2::b.

Referenced by applyOperator(), and predictPrepared().

◆ averagePrepared()

void qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::averagePrepared ( const std::vector< PreparedMember > & members,
const RamseyPulseSequence2DConfig & sequence,
double freeEvolutionDuration,
double hbar,
double & meanA,
double & meanB,
double * minimumB,
double * maximumB )
noexcept

Performs average prepared.

Parameters
membersThe members value used by the operation.
sequenceThe sequence value used by the operation.
freeEvolutionDurationThe free evolution duration value used by the operation.
hbarThe hbar value used by the operation.
meanAThe mean a value used by the operation.
meanBThe mean b value used by the operation.
minimumBThe minimum b value used by the operation.
maximumBThe maximum b value used by the operation.

Definition at line 344 of file ramseyinterferometry2d.cpp.

References averagePrepared(), and predictPrepared().

Referenced by averagePrepared().

◆ finite()

bool qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::finite ( double v)
noexcept

Performs finite.

Parameters
vThe v value used by the operation.

Definition at line 58 of file ramseyinterferometry2d.cpp.

◆ predictPrepared()

void qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::predictPrepared ( const PreparedMember & member,
const RamseyPulseSequence2DConfig & sequence,
double freeEvolutionDuration,
double hbar,
double & populationA,
double & populationB )
noexcept

Performs predict prepared.

Parameters
memberThe member value used by the operation.
sequenceThe sequence value used by the operation.
freeEvolutionDurationThe free evolution duration value used by the operation.
hbarThe hbar value used by the operation.
populationAThe population a value used by the operation.
populationBThe population b value used by the operation.

Definition at line 238 of file ramseyinterferometry2d.cpp.

References qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::State2::a, applyOperator(), qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::State2::b, predictPrepared(), and propagateConstant().

Referenced by averagePrepared(), and predictPrepared().

◆ prepareEnsemble()

std::vector< PreparedMember > qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::prepareEnsemble ( const BoundStateSpectrum1D & spectrum,
const RamseyPulseSequence2DConfig & sequence,
const RamseyEnsemble2DConfig & ensemble,
int stateA,
int stateB,
double hbar )

◆ prepareMember()

PreparedMember qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::prepareMember ( const BoundStateSpectrum1D & spectrum,
const RamseyPulseSequence2DConfig & sequence,
int stateA,
int stateB,
double hbar,
double transitionOffset,
double weight,
double maximumPulseStep )
noexcept

Prepares member.

Parameters
spectrumThe spectrum value used by the operation.
sequenceThe sequence value used by the operation.
stateAThe state a value used by the operation.
stateBThe state b value used by the operation.
hbarThe hbar value used by the operation.
transitionOffsetThe transition offset value used by the operation.
weightThe weight value used by the operation.
maximumPulseStepThe maximum pulse step value used by the operation.

Definition at line 194 of file ramseyinterferometry2d.cpp.

References qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::PreparedMember::coupling, qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::PreparedMember::echoPulse, qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::PreparedMember::energyA, qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::PreparedMember::energyB, qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::PreparedMember::firstPulse, qpe::DrivenTwoLevel2D::matrixElementX(), prepareMember(), pulseOperator(), qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::PreparedMember::secondPulse, and qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::PreparedMember::weight.

Referenced by prepareEnsemble(), and prepareMember().

◆ propagateConstant()

State2 qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::propagateConstant ( const State2 & state,
double energyA,
double energyB,
double coupling,
double driveValue,
double dt,
double hbar )
noexcept

Performs propagate constant.

Parameters
stateThe state value used by the operation.
energyAThe energy a value used by the operation.
energyBThe energy b value used by the operation.
couplingThe coupling value used by the operation.
driveValueThe drive value value used by the operation.
dtTime increment in solver units.
hbarThe hbar value used by the operation.

Definition at line 86 of file ramseyinterferometry2d.cpp.

References qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::State2::a, qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::State2::b, and propagateConstant().

Referenced by predictPrepared(), propagateConstant(), and pulseOperator().

◆ pulseOperator()

Operator2 qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::pulseOperator ( double energyA,
double energyB,
double coupling,
const RamseyPulseSequence2DConfig & sequence,
double duration,
double phaseDegrees,
double hbar,
double maximumStep )
noexcept

Performs pulse operator.

Parameters
energyAThe energy a value used by the operation.
energyBThe energy b value used by the operation.
couplingThe coupling value used by the operation.
sequenceThe sequence value used by the operation.
durationThe duration value used by the operation.
phaseDegreesThe phase degrees value used by the operation.
hbarThe hbar value used by the operation.
maximumStepThe maximum step value used by the operation.

Definition at line 140 of file ramseyinterferometry2d.cpp.

References qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::State2::a, qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::Operator2::aa, qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::Operator2::ab, qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::State2::b, qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::Operator2::ba, qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::Operator2::bb, propagateConstant(), and pulseOperator().

Referenced by prepareMember(), and pulseOperator().

◆ sequenceValidForReference()

bool qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::sequenceValidForReference ( const RamseyPulseSequence2DConfig & sequence)
noexcept

Performs sequence valid for reference.

Parameters
sequenceThe sequence value used by the operation.

Definition at line 278 of file ramseyinterferometry2d.cpp.

References qpe::LinearSlopeX, and sequenceValidForReference().

Referenced by prepareEnsemble(), and sequenceValidForReference().

◆ validPair()

bool qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::validPair ( const BoundStateSpectrum1D & spectrum,
int a,
int b )
noexcept

Performs valid pair.

Parameters
spectrumThe spectrum value used by the operation.
aThe a value used by the operation.
bThe b value used by the operation.

Definition at line 69 of file ramseyinterferometry2d.cpp.

Variable Documentation

◆ EnsembleSpanSigma

const double qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::EnsembleSpanSigma = 3.0

Definition at line 27 of file ramseyinterferometry2d.cpp.

Referenced by prepareEnsemble().

◆ Pi

const double qpe::anonymous_namespace{ramseyinterferometry2d.cpp}::Pi = 3.1415926535897932384626433832795

Definition at line 26 of file ramseyinterferometry2d.cpp.