Scope
scope::ScannerVectorFrameSaw Class Reference

#include <ScannerVectorFrameSaw.h>

Inherits scope::ScannerVectorFrameBasic.

Public Member Functions

 ScannerVectorFrameSaw (const ScannerVectorFillType &_filltype)
 
- Public Member Functions inherited from scope::ScannerVectorFrameBasic
 ScannerVectorFrameBasic (const ScannerVectorType &_type, const ScannerVectorFillType &_filltype)
 
virtual ~ScannerVectorFrameBasic ()
 
virtual void SetParameters (parameters::Daq *const _daqparameters, parameters::ScannerVectorFrameBasic *const _svparameters, parameters::SCOPE_FPUZCONTROL_T *const _zparameters)
 
virtual void SetPockels (const double &_pockelsval)
 
virtual void SetZoom (const double &_zoom)
 
virtual void SetScannderdelay (const uint32_t &_scannerdelaysamples)
 
virtual std::shared_ptr< const std::vector< int16_t > > GetInterleavedVector () const
 
virtual std::shared_ptr< const std::vector< size_t > > GetLookupVector () const
 
virtual parameters::ScannerVectorFrameBasicGetSVParameters () const
 
ScannerVectorFillType FillType () const
 

Protected Member Functions

void UpdateVector () override
 
void FillX ()
 
void FillY ()
 
void FillZ ()
 
void FillP ()
 
void FillXP ()
 
void FillYZ ()
 
void FillZP ()
 
void FillLookup ()
 
void RotateP (const size_t &_pstart, const size_t &_interleavedfactor, const int32_t &_rotateby)
 

Additional Inherited Members

- Static Public Member Functions inherited from scope::ScannerVectorFrameBasic
static std::unique_ptr< ScannerVectorFrameBasicFactory (const ScannerVectorType &_type, const ScannerVectorFillType &_filltype)
 
- Protected Types inherited from scope::ScannerVectorFrameBasic
typedef std::vector< int16_t >::iterator iterator
 
- Protected Attributes inherited from scope::ScannerVectorFrameBasic
const ScannerVectorTypeHelper::Mode type
 
const ScannerVectorFillTypeHelper::Mode filltype
 
parameters::Daqdaqparameters
 
parameters::ScannerVectorFrameBasicsvparameters
 
parameters::SCOPE_FPUZCONTROL_T * zparameters
 
std::shared_ptr< std::vector< int16_t > > vecptr
 
std::shared_ptr< std::vector< std::size_t > > lookup
 
int32_t lookup_rotation
 

Detailed Description

Calculates scanner, fast z, and pockels control voltages for a saw tooth frame scan.

Definition at line 8 of file ScannerVectorFrameSaw.h.

Constructor & Destructor Documentation

scope::ScannerVectorFrameSaw::ScannerVectorFrameSaw ( const ScannerVectorFillType _filltype)
  • Parameters
    [in]_filltypetype of vector fill, see GetInterleavedVector for details

Definition at line 7 of file ScannerVectorFrameSaw.cpp.

Member Function Documentation

void scope::ScannerVectorFrameSaw::UpdateVector ( )
overrideprotectedvirtual

Calculate the scanner vector based on the current parameters.

Reimplemented from scope::ScannerVectorFrameBasic.

Definition at line 15 of file ScannerVectorFrameSaw.cpp.

void scope::ScannerVectorFrameSaw::FillX ( )
protected

Fill the samples for the x scanner axis.

Definition at line 87 of file ScannerVectorFrameSaw.cpp.

void scope::ScannerVectorFrameSaw::FillY ( )
protected

Fill the samples for the y scanner axis.

Definition at line 135 of file ScannerVectorFrameSaw.cpp.

void scope::ScannerVectorFrameSaw::FillZ ( )
protected

Fill the samples for the fast z axis (stays constant here)

Definition at line 185 of file ScannerVectorFrameSaw.cpp.

void scope::ScannerVectorFrameSaw::FillP ( )
protected

Fill the samples for the Pockels cell (cutoff&retrace blanking for x and y)

Definition at line 208 of file ScannerVectorFrameSaw.cpp.

void scope::ScannerVectorFrameSaw::FillXP ( )
protected

Fill the samples for x and Pockels cell for one line.

For filltype ScannerVectorFillTypeHelper::LineXPColumnYZ.

Definition at line 273 of file ScannerVectorFrameSaw.cpp.

void scope::ScannerVectorFrameSaw::FillYZ ( )
protected

Fill the samples for y and fast z for one column (one sample per line).

For filltype ScannerVectorFillTypeHelper::LineXPColumnYZ.

Definition at line 357 of file ScannerVectorFrameSaw.cpp.

void scope::ScannerVectorFrameSaw::FillZP ( )
protected

Fill the samples for fast z and Pockels for one line, used for slave areas.

For filltype ScannerVectorFillTypeHelper::LineZP.

Definition at line 410 of file ScannerVectorFrameSaw.cpp.

void scope::ScannerVectorFrameSaw::FillLookup ( )
protected

Fill in the lookup vector.

Definition at line 58 of file ScannerVectorFrameSaw.cpp.

void scope::ScannerVectorFrameSaw::RotateP ( const size_t &  _pstart,
const size_t &  _interleavedfactor,
const int32_t &  _rotateby 
)
protected

Rotate the Pockels samples in the scanner vector.

Parameters
[in]_pstartthe first Pockels sample. If e.g. the vector is filled XYZPXYZPXYZP... this should be 3.
[in]_interleavedfactorthe number of interleaved signals. For XYZP this is 4, for ZP 2 etc.
[in]_rotatebythe number of samples to rotate by.

Definition at line 437 of file ScannerVectorFrameSaw.cpp.


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