QuISP
Loading...
Searching...
No Matches
quisp::modules::IStationaryQubit Class Referenceabstract

#include <IStationaryQubit.h>

Inheritance diagram for quisp::modules::IStationaryQubit:
Collaboration diagram for quisp::modules::IStationaryQubit:

Public Member Functions

 IStationaryQubit ()
 
virtual ~IStationaryQubit ()
 
virtual void setFree (bool consumed)=0
 
virtual void Lock (unsigned long rs_id, int rule_id, int action_id)=0
 
virtual void Unlock ()=0
 
virtual bool isLocked ()=0
 
virtual void emitPhoton (int pulse)=0
 Emit photon.
 
virtual types::EigenvalueResult measureX ()=0
 
virtual types::EigenvalueResult measureY ()=0
 
virtual types::EigenvalueResult measureZ ()=0
 
virtual types::MeasurementOutcome measureRandomPauliBasis ()=0
 
virtual void gateCNOT (IStationaryQubit *target_qubit)=0
 
virtual void gateHadamard ()=0
 
virtual void gateX ()=0
 
virtual void gateZ ()=0
 
virtual void gateY ()=0
 
virtual void gateS ()=0
 
virtual void gateSdg ()=0
 
virtual backends::IQubitgetBackendQubitRef () const =0
 

Public Attributes

int qnic_type
 
int qnic_index
 
int action_index
 

Constructor & Destructor Documentation

◆ IStationaryQubit()

quisp::modules::IStationaryQubit::IStationaryQubit ( )
inline

◆ ~IStationaryQubit()

virtual quisp::modules::IStationaryQubit::~IStationaryQubit ( )
inlinevirtual

Member Function Documentation

◆ emitPhoton()

virtual void quisp::modules::IStationaryQubit::emitPhoton ( int pulse)
pure virtual

Emit photon.

Parameters
pulseis 1 for the beginning of the burst, 2 for the end.

Implemented in quisp::modules::StationaryQubit.

◆ gateCNOT()

virtual void quisp::modules::IStationaryQubit::gateCNOT ( IStationaryQubit * target_qubit)
pure virtual

◆ gateHadamard()

virtual void quisp::modules::IStationaryQubit::gateHadamard ( )
pure virtual

◆ gateS()

virtual void quisp::modules::IStationaryQubit::gateS ( )
pure virtual

◆ gateSdg()

virtual void quisp::modules::IStationaryQubit::gateSdg ( )
pure virtual

◆ gateX()

virtual void quisp::modules::IStationaryQubit::gateX ( )
pure virtual

◆ gateY()

virtual void quisp::modules::IStationaryQubit::gateY ( )
pure virtual

◆ gateZ()

virtual void quisp::modules::IStationaryQubit::gateZ ( )
pure virtual

◆ getBackendQubitRef()

virtual backends::IQubit * quisp::modules::IStationaryQubit::getBackendQubitRef ( ) const
pure virtual

◆ isLocked()

virtual bool quisp::modules::IStationaryQubit::isLocked ( )
pure virtual

◆ Lock()

virtual void quisp::modules::IStationaryQubit::Lock ( unsigned long rs_id,
int rule_id,
int action_id )
pure virtual

◆ measureRandomPauliBasis()

virtual types::MeasurementOutcome quisp::modules::IStationaryQubit::measureRandomPauliBasis ( )
pure virtual

◆ measureX()

virtual types::EigenvalueResult quisp::modules::IStationaryQubit::measureX ( )
pure virtual

◆ measureY()

virtual types::EigenvalueResult quisp::modules::IStationaryQubit::measureY ( )
pure virtual

◆ measureZ()

virtual types::EigenvalueResult quisp::modules::IStationaryQubit::measureZ ( )
pure virtual

◆ setFree()

virtual void quisp::modules::IStationaryQubit::setFree ( bool consumed)
pure virtual

◆ Unlock()

virtual void quisp::modules::IStationaryQubit::Unlock ( )
pure virtual

Member Data Documentation

◆ action_index

int quisp::modules::IStationaryQubit::action_index

◆ qnic_index

int quisp::modules::IStationaryQubit::qnic_index

◆ qnic_type

int quisp::modules::IStationaryQubit::qnic_type

The documentation for this class was generated from the following file: