Dripline-Cpp  v2.4.2
Dripline Implementation in C++
oscillator.hh
Go to the documentation of this file.
1 /*
2  * oscillator.hh
3  *
4  * Created on: May 15, 2019
5  * Author: N.S. Oblath
6  */
7 
8 #ifndef DRIPLINE_EXAMPLES_OSCILLATOR_HH_
9 #define DRIPLINE_EXAMPLES_OSCILLATOR_HH_
10 
11 #include "dripline_api.hh"
12 
13 #include "member_variables.hh"
14 
15 #include <chrono>
16 #include <complex>
17 #include <utility>
18 
19 namespace dripline
20 {
21 
23  {
24  public:
25  using clock_t = std::chrono::steady_clock;
26  using duration_t = std::chrono::duration< double >;
27  using time_point_t = std::chrono::time_point< std::chrono::steady_clock, duration_t >;
28 
29  using iq_t = std::complex< double >;
30 
31  public:
32  oscillator();
33  virtual ~oscillator();
34 
36  mv_accessible( double, frequency );
37 
39  mv_accessible( double, amplitude );
40 
42  mv_accessible( time_point_t, start_time );
43 
44  public:
45  std::pair< time_point_t, double > in_phase( time_point_t a_time = clock_t::now() );
46  std::pair< time_point_t, double > quadrature( time_point_t a_time = clock_t::now() );
47  std::pair< time_point_t, iq_t > iq( time_point_t a_time = clock_t::now() );
48 
49  };
50 
51 } /* namespace dripline */
52 
53 #endif /* DRIPLINE_EXAMPLES_OSCILLATOR_HH_ */
std::chrono::time_point< std::chrono::steady_clock, duration_t > time_point_t
Definition: oscillator.hh:27
std::chrono::steady_clock clock_t
Definition: oscillator.hh:25
std::chrono::duration< double > duration_t
Definition: oscillator.hh:26
std::complex< double > iq_t
Definition: oscillator.hh:29
#define DRIPLINE_EXAMPLES_API
Definition: dripline_api.hh:35