CPulseParamsComp.h
Go to the documentation of this file.
1 #ifndef isig_CPulseControllerParamsComp_included
2 #define isig_CPulseControllerParamsComp_included
3 
4 
5 // ACF includes
6 #include "imath/CVarVector.h"
7 #include "icomp/CComponentBase.h"
8 
9 // ACF-Solutions includes
10 #include "isig/IPulseParams.h"
11 #include "isig/IPulseConstraints.h"
12 
13 
14 namespace isig
15 {
16 
17 
22  public icomp::CComponentBase,
23  virtual public isig::IPulseParams
24 {
25 public:
27 
28  I_BEGIN_COMPONENT(CPulseParamsComp);
29  I_REGISTER_INTERFACE(isig::IPulseParams);
30  I_REGISTER_INTERFACE(iser::ISerializable);
31  I_REGISTER_INTERFACE(istd::IChangeable);
32  I_ASSIGN(m_pulseConstraintsCompPtr, "Constraints", "Description of strobe parameter limits", false, "Constraints");
33  I_ASSIGN(m_delayTimeAttrPtr, "DelayTime", "Delay time from trigger to pulse, it is in seconds", true, 0);
34  I_ASSIGN(m_pulseDurationAttrPtr, "PulseDuration", "Duration of signal puls in seconds", true, 0);
35  I_ASSIGN(m_relaxingTimeAttrPtr, "RelaxingTime", "Relaxing time before new trigger is accepted after pulse", true, 0);
36  I_END_COMPONENT;
37 
39 
40  // reimplemented (isig::IPulseParams)
41  virtual const IPulseConstraints* GetPulseConstraints() const;
42  virtual double GetDelayTime() const;
43  virtual void SetDelayTime(double time);
44  virtual double GetPulseDuration() const;
45  virtual void SetPulseDuration(double time);
46  virtual double GetRelaxingTime() const;
47  virtual void SetRelaxingTime(double time);
48 
49  // reimplemented (iser::ISerializable)
50  virtual bool Serialize(iser::IArchive& archive);
51 
52 protected:
53  // reimplemented (icomp::CComponentBase)
54  virtual void OnComponentCreated();
55 
56 private:
57  I_REF(IPulseConstraints, m_pulseConstraintsCompPtr);
58  I_ATTR(double, m_delayTimeAttrPtr);
59  I_ATTR(double, m_pulseDurationAttrPtr);
60  I_ATTR(double, m_relaxingTimeAttrPtr);
61 
62  double m_delayTime;
63  double m_pulseDuration;
64  double m_relaxingTime;
65 };
66 
67 
68 } // namespace isig
69 
70 
71 #endif // !isig_CPulseControllerParamsComp_included
72 
73 
virtual double GetRelaxingTime() const
Get relaxing time period after pulse ends needed to accept new begin.
icomp::CComponentBase BaseClass
virtual void OnComponentCreated()
virtual double GetDelayTime() const
Get delay time from begin (for example trigger edge) to pulse begin.
virtual void SetPulseDuration(double time)
Set pulse duration time.
virtual const IPulseConstraints * GetPulseConstraints() const
Get access to constraits of this parameters.
Constraits of signal pulse paramters (isig::IPulseParams).
virtual void SetRelaxingTime(double time)
Get relaxing time period after pulse ends needed to accept new begin.
virtual void SetDelayTime(double time)
Set delay time from begin (for example trigger edge) to pulse begin.
virtual bool Serialize(iser::IArchive &archive)
Simple component implementation of IPulseParams interface.
Parammeters of single signal pulse.
Definition: IPulseParams.h:19
virtual double GetPulseDuration() const
Get pulse duration time.

© 2007-2011 Witold Gantzke and Kirill Lepskiy