Inscoper::NBO::PockelsCell
Represents the XML element PockelsCell . More...
#include <PockelsCell.h>
Inherits from NBOBaseClass
Public Functions
Detailed Description
class Inscoper :: NBO :: PockelsCell ;
Represents the XML element PockelsCell .
Pockels cells are the basic components of electro-optic modulators. A Pockels cell is a device consisting of an electro-optic crystal (with some electrodes attached to it) through which a light beam can propagate. The phase delay in the crystal (→ Pockels effect) can be modulated by applying a variable electric voltage. The Pockels cell thus acts as a voltage-controlled waveplate.
Public Functions Documentation
function PockelsCell function ~PockelsCell function getTypeName
std :: string getTypeName () const override
Returns the class type name.
Return : The class type name
function getXMLName
std :: string getXMLName () const override
Returns the XML element name corresponding to this class.
Return : The XML element name
function getNBOType
ENBOType getNBOType () const override
Returns the NBO Type corresponding to this class.
Return : The NBO Type value
function getChildren
std :: vector < NBOBaseClassPtr > getChildren () const override
Returns a list of all classes derived from this class.
Return : The list of derived classes
function getSubElements
std :: vector < NBOBaseClassPtr > getSubElements () const override
Returns a list of all child elements contained in this class.
Return : The list of child classes
function fromJsonFile
void fromJsonFile (
const std :: string & path ,
bool validate = true
)
Populates this object from a JSON file.
Parameters :
path The path to the JSON file
validate If true, validates constraints on value. Default is true.
function fromJsonString
void fromJsonString (
const std :: string & json_string ,
bool validate = true
)
Populates this object from a JSON string.
Parameters :
json_string The JSON content as a string
validate If true, validates constraints on value. Default is true.
function fromXmlFile
void fromXmlFile (
const std :: string & path ,
bool validate = true
)
Populates this object from a XML file.
Parameters :
path The path to the XML file
validate If true, validates constraints on value. Default is true.
function fromXmlString
void fromXmlString (
const std :: string & xml_string ,
bool validate = true
)
Populates this object from a XML string.
Parameters :
xml_string The XML content as a string
validate If true, validates constraints on value. Default is true.
function toXmlFile
void toXmlFile (
const std :: string & filename ,
bool validate = true
) const
Serializes this object to an XML file.
Parameters :
filename The path to the output XML file
validate If true, validates constraints on value. Default is true.
function toXmlString
std :: string toXmlString (
bool validate = true
) const
Serializes this object to an XML string.
Parameters :
validate If true, validates constraints on value. Default is true.
Return : A string containing the XML representation of this object
function setHalfWaveVoltage
void setHalfWaveVoltage (
const float & value ,
bool validate = true
)
Sets the value of the HalfWaveVoltage attribute.
Parameters :
value The value to set
validate If true, validates constraints on value. Default is true.
This field record the Voltage required for inducing a phase change equivalent to a half an optical wavelength. In an amplitude modulator, the applied voltage has to be changed by this value in order to go from the operation point with minimum transmission to that with maximum transmission. The HalfWaveVoltage can be referred to as, Uπ, Uλ/2 or Vλ/2.
function getHalfWaveVoltage
float getHalfWaveVoltage () const
Returns the value of the HalfWaveVoltage attribute.
Return : The value of the attribute
This field record the Voltage required for inducing a phase change equivalent to a half an optical wavelength. In an amplitude modulator, the applied voltage has to be changed by this value in order to go from the operation point with minimum transmission to that with maximum transmission. The HalfWaveVoltage can be referred to as, Uπ, Uλ/2 or Vλ/2.
function resetHalfWaveVoltage
void resetHalfWaveVoltage ()
Resets the HalfWaveVoltage attribute to an unset state.
This field record the Voltage required for inducing a phase change equivalent to a half an optical wavelength. In an amplitude modulator, the applied voltage has to be changed by this value in order to go from the operation point with minimum transmission to that with maximum transmission. The HalfWaveVoltage can be referred to as, Uπ, Uλ/2 or Vλ/2.
function hasHalfWaveVoltage
bool hasHalfWaveVoltage () const
Checks whether the HalfWaveVoltage attribute is present.
Return : true if the attribute has been set, false otherwise
This field record the Voltage required for inducing a phase change equivalent to a half an optical wavelength. In an amplitude modulator, the applied voltage has to be changed by this value in order to go from the operation point with minimum transmission to that with maximum transmission. The HalfWaveVoltage can be referred to as, Uπ, Uλ/2 or Vλ/2.
function setHalfWaveVoltageUnit
void setHalfWaveVoltageUnit (
const Inscoper :: NBO :: UnitsElectricPotential_TypePtr & value ,
bool validate = true
)
Sets the value of the HalfWaveVoltageUnit attribute.
Parameters :
value The value to set
validate If true, validates constraints on value. Default is true.
No description available in the XSD standard.
function getHalfWaveVoltageUnit
UnitsElectricPotential_TypePtr getHalfWaveVoltageUnit () const
Returns the value of the HalfWaveVoltageUnit attribute.
Return : The value of the attribute
No description available in the XSD standard.
function resetHalfWaveVoltageUnit
void resetHalfWaveVoltageUnit ()
Resets the HalfWaveVoltageUnit attribute to an unset state.
No description available in the XSD standard.
function hasHalfWaveVoltageUnit
bool hasHalfWaveVoltageUnit () const
Checks whether the optional HalfWaveVoltageUnit attribute is present.
Return : true if the optional attribute has been set, false otherwise
No description available in the XSD standard.
function setMaterial
void setMaterial (
const Inscoper :: NBO :: PockelsCellMaterial_TypePtr & value ,
bool validate = true
)
Sets the value of the Material attribute.
Parameters :
value The value to set
validate If true, validates constraints on value. Default is true.
This field describes the nonlinear crystal materials used to contruct this Pockels cell.
function getMaterial
PockelsCellMaterial_TypePtr getMaterial () const
Returns the value of the Material attribute.
Return : The value of the attribute
This field describes the nonlinear crystal materials used to contruct this Pockels cell.
function resetMaterial
Resets the Material attribute to an unset state.
This field describes the nonlinear crystal materials used to contruct this Pockels cell.
function hasMaterial
Checks whether the optional Material attribute is present.
Return : true if the optional attribute has been set, false otherwise
This field describes the nonlinear crystal materials used to contruct this Pockels cell.
function fromBase
static std :: shared_ptr < PockelsCell > fromBase (
NBOBaseClassPtr base
)
Cast a NBOBaseClass to a PockelsCell .
Parameters :
base The base class to cast
Return : The casted element, or nullptr if the cast fails
Updated on 2026-09-23 at 16:50:38 +0200