3 #include "ScopeDefines.h"
5 #include "helpers/ScopeNumber.h"
6 #include "helpers/ScopeString.h"
14 namespace parameters {
16 using boost::property_tree::wptree;
26 std::array<PlaneProperties, SCOPE_NAREAS>
startat;
29 std::array<PlaneProperties, SCOPE_NAREAS>
stopat;
35 std::vector<std::array<PlaneProperties, SCOPE_NAREAS>>
planes___;
44 virtual double Range(
const uint32_t& _area);
47 virtual double Increment(
const uint32_t& _area);
50 virtual double Lambda(
const uint32_t& _area);
52 void Load(
const wptree& pt)
override;
53 void Save(wptree& pt)
const override;
72 std::array<ScopeNumber<uint32_t>, SCOPE_NAREAS>
frames;
75 std::array<ScopeNumber<double>, SCOPE_NAREAS>
totaltimes;
96 std::vector<std::array<PlaneProperties, SCOPE_NAREAS>>
planes;
98 void Load(
const wptree& pt)
override;
99 void Save(wptree& pt)
const override;
124 std::vector<std::array<PlaneProperties, SCOPE_NAREAS>>
planes;
129 void Load(
const wptree& pt)
override;
130 void Save(wptree& pt)
const override;
Parameters for timeseries acquisition.
void Load(const wptree &pt) override
load parameters from a boost::property_tree
ScopeNumber< bool > unlimited_repeats
Should acquisition go on until Stop pressed (true) or until repeats done (false)? ...
ScopeValue< ZDevice > zdevicetype
type of z device to use
void SetReadOnlyWhileScanning(const RunState &_runstate) override
set values that must not be changed to read-only during scanning.
std::array< PlaneProperties, SCOPE_NAREAS > startat
Start plane, measured with the zdevicetype.
ScopeNumber< uint32_t > repeats
How often should the timeseries be repeated.
void CheckTimes()
Check and correct times (e.g.
All parameter classes derive from this.
ScopeString triggerchannel
channel name for trigger input
std::array< ScopeNumber< uint32_t >, SCOPE_NAREAS > frames
number of frames in timeseries for each area
Base class for all Scope datatypes here, provides a uniform interface (and saves typing...).
ScopeNumber< double > overalltime
time in seconds for all timeseries
virtual void ResetPlanes()
Resets start/stop and all planes.
std::vector< std::array< PlaneProperties, SCOPE_NAREAS > > planes___
Vector with properties for every plane.
virtual double Increment(const uint32_t &_area)
distance between planes
ScopeNumber< double > spacing
Spacing between planes in microns.
ScopeNumber< uint32_t > repeats
How many repeats should be acquired if not unlimited_repeats?
void Save(wptree &pt) const override
save parameters into a boost:property_tree
virtual double Range(const uint32_t &_area)
total span of z stack
ScopeNumber< bool > triggered
the current/first repeat is triggered on triggerchannel
void Save(wptree &pt) const override
save parameters into a boost:property_tree
In here all declarations for all kinds of datatypes Scope needs.
virtual void UpdatePlanes()
Updates planes with positions and pockels adjustment etc.
void Load(const wptree &pt) override
load parameters from a boost::property_tree
void SetReadOnlyWhileScanning(const RunState &_runstate) override
set values that must not be changed to read-only during scanning.
ScopeNumber< double > overalltime
time in seconds for all timeseries
void Save(wptree &pt) const override
save parameters into a boost:property_tree
A templated class for a thread-safe value, with signals to GUI or other stuff that are called on valu...
void SetReadOnlyWhileScanning(const RunState &_runstate) override
set values that must not be changed to read-only during scanning.
std::array< ScopeNumber< double >, SCOPE_NAREAS > totaltimes
total acquisition time for each area
A templated class for a thread-safe std::wstring, with signals that are called on value changes...
std::vector< std::array< PlaneProperties, SCOPE_NAREAS > > planes
vector with properties for all planes, for alternating planes on alternating repeats, one for each area
std::array< PlaneProperties, SCOPE_NAREAS > stopat
Stop plane, measured with the zdevicetype.
std::vector< std::array< PlaneProperties, SCOPE_NAREAS > > planes
vector with properties for all planes, for alternating planes on repeating timeseries, one for each area
ScopeNumber< double > betweenrepeats
Time in seconds between the beginning of one and beginning of the next timeseries.
Various helper functions and classes for Scope.
virtual double Lambda(const uint32_t &_area)
space constant for exponential pockels interpolation
Parameters for behavior triggered acquisition.
ScopeNumber< bool > alltriggered
every repeat is triggered
Parameters for stack acquisition.
ScopeString gateline
The DAQmx digital line for gating.
ScopeValue< BehaviorMode > mode
Which mode to use.
void Load(const wptree &pt) override
load parameters from a boost::property_tree