Scope
|
#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::ScannerVectorFrameBasic * | GetSVParameters () 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< ScannerVectorFrameBasic > | Factory (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::Daq * | daqparameters |
parameters::ScannerVectorFrameBasic * | svparameters |
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 |
Calculates scanner, fast z, and pockels control voltages for a saw tooth frame scan.
Definition at line 8 of file ScannerVectorFrameSaw.h.
scope::ScannerVectorFrameSaw::ScannerVectorFrameSaw | ( | const ScannerVectorFillType & | _filltype | ) |
[in] | _filltype | type of vector fill, see GetInterleavedVector for details |
Definition at line 7 of file ScannerVectorFrameSaw.cpp.
|
overrideprotectedvirtual |
Calculate the scanner vector based on the current parameters.
Reimplemented from scope::ScannerVectorFrameBasic.
Definition at line 15 of file ScannerVectorFrameSaw.cpp.
|
protected |
Fill the samples for the x scanner axis.
Definition at line 87 of file ScannerVectorFrameSaw.cpp.
|
protected |
Fill the samples for the y scanner axis.
Definition at line 135 of file ScannerVectorFrameSaw.cpp.
|
protected |
Fill the samples for the fast z axis (stays constant here)
Definition at line 185 of file ScannerVectorFrameSaw.cpp.
|
protected |
Fill the samples for the Pockels cell (cutoff&retrace blanking for x and y)
Definition at line 208 of file ScannerVectorFrameSaw.cpp.
|
protected |
Fill the samples for x and Pockels cell for one line.
For filltype ScannerVectorFillTypeHelper::LineXPColumnYZ.
Definition at line 273 of file ScannerVectorFrameSaw.cpp.
|
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.
|
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.
|
protected |
Fill in the lookup vector.
Definition at line 58 of file ScannerVectorFrameSaw.cpp.
|
protected |
Rotate the Pockels samples in the scanner vector.
[in] | _pstart | the first Pockels sample. If e.g. the vector is filled XYZPXYZPXYZP... this should be 3. |
[in] | _interleavedfactor | the number of interleaved signals. For XYZP this is 4, for ZP 2 etc. |
[in] | _rotateby | the number of samples to rotate by. |
Definition at line 437 of file ScannerVectorFrameSaw.cpp.