gain_schedule.h

Go to the documentation of this file.
00001 // Author: Justin Kinney
00002 // Date: Sep 2008
00003 
00004 #ifndef GAIN_SCHEDULE_H
00005 #define GAIN_SCHEDULE_H 1
00006 
00007 #include "meshmorph.h"
00008 
00009 class Gain_Schedule
00010 {
00011 private:
00012   float  max_gain; // maximum allowed gain
00013 //  float  ref_gain; // reference gain
00014   float      gain; // active gain, all the time
00015   float      step; // gain change increment
00016 //  int      period; // used to schedule gain changes
00017   static Gain_Schedule * only_one;
00018   Gain_Schedule                   (void);
00019   Gain_Schedule                   (Gain_Schedule const &);
00020   Gain_Schedule & operator =      (Gain_Schedule const &);
00021   ~Gain_Schedule                  (void);
00022 public:
00023   static Gain_Schedule & instance (void);
00024   void   updateMaxGain            (void);
00025 //  void   updateGain               (void);
00026 
00031   double getMaxGain (void) const
00032   {
00033     return max_gain;
00034   }
00035 
00040   double getGain (void) const
00041   {
00042     return gain;
00043   }
00044 
00045 //  /** Get reference gain.
00046 //   * \return Reference gain.
00047 //   */
00048 //
00049 //  double getRefGain (void) const
00050 //  {
00051 //    return ref_gain;
00052 //  }
00053 
00054 //  /** Reset gain to reference value.
00058   void resetGain (void)
00059   {
00060     //gain = ref_gain;
00061     gain = max_gain;
00062   }
00063 
00067   void halveGain (void)
00068   {
00069     gain = gain/2.0;
00070   }
00071 
00072 //  /** Initialize reference gain.
00073 //  */
00074 //
00075 //  void initGain (void)
00076 //  {
00077 //    // initialize reference gain
00078 //    ref_gain = gain;
00079 //  }
00080 
00081 //  /** Update decrement time until next gain change.
00082 //  */
00083 //
00084 //  void updateGainPeriod (void)
00085 //  {
00086 //    // update period
00087 //    if (period>0){period--;}
00088 //  }
00089 
00090 };
00091 
00092 #endif

Generated on Fri Feb 13 13:58:10 2009 for meshmorph by  doxygen 1.5.1