54 void copyAlphas(std::vector<RealType>& alphas, std::vector<RealType>& weights)
const noexcept;
68 [[nodiscard]] std::string
getName()
const {
return _name; }
75 [[nodiscard]]
bool getSyncOnPulse() const noexcept {
return _sync_on_pulse; }
82 [[nodiscard]] std::optional<RealType>
getPhaseOffset() const noexcept {
return _phase_offset; }
89 [[nodiscard]] std::optional<RealType>
getFreqOffset() const noexcept {
return _freq_offset; }
145 std::vector<RealType> _alphas;
146 std::vector<RealType> _weights;
147 std::optional<RealType> _freq_offset;
148 std::optional<RealType> _phase_offset;
149 std::optional<RealType> _random_phase_stdev;
150 std::optional<RealType> _random_freq_stdev;
152 bool _sync_on_pulse{
false};
Manages timing properties such as frequency, offsets, and synchronization.
PrototypeTiming & operator=(PrototypeTiming &&)=default
void setSyncOnPulse() noexcept
Enables synchronization on pulse.
void setAlpha(RealType alpha, RealType weight) noexcept
Sets an alpha and weight value.
void setRandomPhaseOffsetStdev(RealType stdev) noexcept
Sets a random phase offset standard deviation.
std::optional< RealType > getRandomPhaseOffsetStdev() const noexcept
~PrototypeTiming()=default
bool getSyncOnPulse() const noexcept
Checks if synchronization on pulse is enabled.
PrototypeTiming & operator=(const PrototypeTiming &)=default
std::string getName() const
Gets the name of the timing source.
PrototypeTiming(std::string name) noexcept
Constructor for PrototypeTiming.
void setFreqOffset(RealType offset) noexcept
Sets the frequency offset.
std::optional< RealType > getRandomFreqOffsetStdev() const noexcept
PrototypeTiming(const PrototypeTiming &)=default
void setPhaseOffset(RealType offset) noexcept
Sets the phase offset.
void setRandomFreqOffsetStdev(RealType stdev) noexcept
Sets a random frequency offset standard deviation.
RealType getFrequency() const noexcept
Gets the current frequency.
void setFrequency(const RealType freq) noexcept
Sets the frequency value.
PrototypeTiming(PrototypeTiming &&)=default
std::optional< RealType > getPhaseOffset() const noexcept
Gets the phase offset.
void copyAlphas(std::vector< RealType > &alphas, std::vector< RealType > &weights) const noexcept
Copies the alphas and weights vectors.
std::optional< RealType > getFreqOffset() const noexcept
Gets the frequency offset.
Global configuration file for the project.
double RealType
Type for real numbers.