StationaryQubit. https://arxiv.org/abs/1908.10758.
More...
#include <StationaryQubit.h>
◆ StationaryQubit()
quisp::modules::StationaryQubit::StationaryQubit |
( |
| ) |
|
◆ emitPhoton()
void quisp::modules::StationaryQubit::emitPhoton |
( |
int | pulse | ) |
|
|
overridevirtual |
Emit photon.
- Parameters
-
pulse | is 1 for the beginning of the burst, 2 for the end. |
pulse | 0 for nothing, 1 for first, 2 for last, 3 for first and last |
The stationary qubit shouldn't be already busy.
Implements quisp::modules::IStationaryQubit.
◆ finish()
void quisp::modules::StationaryQubit::finish |
( |
| ) |
|
|
overrideprotected |
◆ gateCNOT()
void quisp::modules::StationaryQubit::gateCNOT |
( |
IStationaryQubit * | target_qubit | ) |
|
|
overridevirtual |
◆ gateHadamard()
void quisp::modules::StationaryQubit::gateHadamard |
( |
| ) |
|
|
overridevirtual |
◆ gateS()
void quisp::modules::StationaryQubit::gateS |
( |
| ) |
|
|
overridevirtual |
◆ gateSdg()
void quisp::modules::StationaryQubit::gateSdg |
( |
| ) |
|
|
overridevirtual |
◆ gateX()
void quisp::modules::StationaryQubit::gateX |
( |
| ) |
|
|
overridevirtual |
◆ gateY()
void quisp::modules::StationaryQubit::gateY |
( |
| ) |
|
|
overridevirtual |
◆ gateZ()
void quisp::modules::StationaryQubit::gateZ |
( |
| ) |
|
|
overridevirtual |
◆ generateEntangledPhoton()
PhotonicQubit * quisp::modules::StationaryQubit::generateEntangledPhoton |
( |
| ) |
|
|
protected |
Generate photon entangled with the memory.
- Warning
- Shouldn't we destroy a possibly existing photon object before? <- No, I dont think so...
◆ getBackendQubitRef()
backends::IQubit * quisp::modules::StationaryQubit::getBackendQubitRef |
( |
| ) |
const |
|
overridevirtual |
◆ handleMessage()
void quisp::modules::StationaryQubit::handleMessage |
( |
omnetpp::cMessage * | msg | ) |
|
|
overrideprotected |
handle PhotonicQubit generated by StatinoryQubit itself
- Parameters
-
msg | is the PhotonicQubit message |
◆ initialize()
void quisp::modules::StationaryQubit::initialize |
( |
| ) |
|
|
overrideprotected |
◆ isLocked()
bool quisp::modules::StationaryQubit::isLocked |
( |
| ) |
|
|
overridevirtual |
◆ Lock()
void quisp::modules::StationaryQubit::Lock |
( |
unsigned long | rs_id, |
|
|
int | rule_id, |
|
|
int | action_id ) |
|
overridevirtual |
◆ measureRandomPauliBasis()
◆ measureX()
◆ measureY()
◆ measureZ()
◆ prepareBackendQubitConfiguration()
std::unique_ptr< IConfiguration > quisp::modules::StationaryQubit::prepareBackendQubitConfiguration |
( |
bool | overwrite | ) |
|
|
protected |
get the default backend configuration from the Bcakend module. if overwrite arg is true, collect StationaryQubit's backend qubit config and overwrite the default configuration with it. if you want to use different qubit configuration, it's useful.
◆ setBusy()
void quisp::modules::StationaryQubit::setBusy |
( |
| ) |
|
|
protected |
◆ setFree()
void quisp::modules::StationaryQubit::setFree |
( |
bool | consumed | ) |
|
|
overridevirtual |
◆ Unlock()
void quisp::modules::StationaryQubit::Unlock |
( |
| ) |
|
|
overridevirtual |
◆ backend
◆ emission_jittering_standard_deviation
double quisp::modules::StationaryQubit::emission_jittering_standard_deviation |
|
protected |
◆ emission_success_probability
double quisp::modules::StationaryQubit::emission_success_probability |
◆ emitted_time
omnetpp::simtime_t quisp::modules::StationaryQubit::emitted_time = -1 |
|
protected |
◆ is_busy
bool quisp::modules::StationaryQubit::is_busy |
|
protected |
◆ locked
bool quisp::modules::StationaryQubit::locked |
◆ locked_rule_id
unsigned long quisp::modules::StationaryQubit::locked_rule_id |
◆ locked_ruleset_id
unsigned long quisp::modules::StationaryQubit::locked_ruleset_id |
◆ node_address
int quisp::modules::StationaryQubit::node_address |
|
protected |
◆ provider
◆ qnic_address
int quisp::modules::StationaryQubit::qnic_address |
|
protected |
◆ qubit_ref
◆ stationary_qubit_address
int quisp::modules::StationaryQubit::stationary_qubit_address |
|
protected |
The documentation for this class was generated from the following files: