2 #include "ScannerVectorFrameBasic.h"
3 #include "ScannerVectorFrameSaw.h"
4 #include "ScannerVectorFrameBiDi.h"
5 #include "ScannerVectorFramePlaneHopper.h"
6 #include "ScannerVectorFrameResonanceBiDi.h"
7 #include "ScannerVectorFrameResonanceHopper.h"
14 , daqparameters(nullptr)
16 , zparameters(nullptr)
17 , lookup_rotation(0) {
29 case ScannerVectorTypeHelper::Sawtooth:
31 case ScannerVectorTypeHelper::Bidirectional:
33 case ScannerVectorTypeHelper::Planehopper:
35 case ScannerVectorTypeHelper::ResonanceBiDi:
37 case ScannerVectorTypeHelper::ResonanceHopper:
76 lookup_rotation = _scannerdelaysamples;
virtual T Set(const T &_v, const bool &_callguisignal=true, const bool &_callothersignal=true, const bool &_callatnochange=false)
Sets the value and calls both change signals if the value actually changed.
ScopeNumber< double > pockels
pockels cell value
virtual std::shared_ptr< const std::vector< int16_t > > GetInterleavedVector() const
Frame scanning with ETL plane hopping.
Calculates scanner, fast z, and pockels control voltages for a saw tooth frame scan.
virtual void UpdateVector()
Calculate the scanner vector based on the current parameters.
Parent class for frame scans.
virtual void SetPockels(const double &_pockelsval)
Set current pockels value and update.
ScannerVectorFrameBasic(const ScannerVectorType &_type, const ScannerVectorFillType &_filltype)
Initialize data vector.
All parameters for scanner data generation and pixel acquisition If you add/remove parameters or deri...
virtual parameters::ScannerVectorFrameBasic * GetSVParameters() const
A scanner vector for bidirectional frame scanning.
Base class for all Scope datatypes here, provides a uniform interface (and saves typing...).
This is the include file for standard system include files, or project specific include files that ar...
T::Mode t
the enum from the template class
virtual ~ScannerVectorFrameBasic()
We need a virtual destructor here, so that derived types get correctly destroyed. ...
parameters::ScannerVectorFrameBasic * svparameters
current scanner vector parameter set (needs to be pointer for dynamic_cast in derived classes and bec...
int32_t lookup_rotation
how much is the current lookup vector rotated to adjust for scannerdelay
std::shared_ptr< std::vector< std::size_t > > lookup
gives the position in the image vector for each position in the acquired data vector (keep in mind th...
static std::unique_ptr< ScannerVectorFrameBasic > Factory(const ScannerVectorType &_type, const ScannerVectorFillType &_filltype)
A static factory method for scan vectors.
virtual void SetZoom(const double &_zoom)
Set current zoom factor and update.
virtual std::shared_ptr< const std::vector< size_t > > GetLookupVector() const
parameters::Daq * daqparameters
current daq parameter set
virtual void SetParameters(parameters::Daq *const _daqparameters, parameters::ScannerVectorFrameBasic *const _svparameters, parameters::SCOPE_FPUZCONTROL_T *const _zparameters)
Set current parameters and update vector.
std::shared_ptr< std::vector< int16_t > > vecptr
the actual scanner vector (if fullframevector) with x, y, fast z, Pockels either interleaved (for ful...
Parameters for a ScannerVectorFrameBasic.
ScopeNumber< double > zoom
current zoom factor (from 1 to 20).
uint32_t TotalPixels() const override
parameters::SCOPE_FPUZCONTROL_T * zparameters
current fast z parameter set
Calculates scanner, fast z, and pockels control voltages for a bidirectional frame scan with a resona...
virtual void SetScannderdelay(const uint32_t &_scannerdelaysamples)
Set the current position for the fast z control.