MOOSE - Multiscale Object Oriented Simulation Environment
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
PulseGen.h
Go to the documentation of this file.
1 // PulseGen.h ---
2 //
3 // Filename: PulseGen.h
4 // Description:
5 // Author: Subhasis Ray
6 // Maintainer:
7 // Created: Mon Feb 20 01:21:32 2012 (+0530)
8 // Version:
9 // Last-Updated: Mon Feb 20 16:42:41 2012 (+0530)
10 // By: Subhasis Ray
11 // Update #: 60
12 // URL:
13 // Keywords:
14 // Compatibility:
15 //
16 //
17 
18 // Commentary:
19 //
20 //
21 //
22 //
23 
24 // Change log:
25 //
26 // 2012-02-20 01:22:01 (+0530) Subha - started porting old moose code
27 // to dh_branch.
28 //
29 
30 // Code:
31 
32 #ifndef _PULSEGEN_H
33 #define _PULSEGEN_H
34 
40 class PulseGen
41 {
47  static const int FREE_RUN = 0;
63  static const int EXT_TRIG = 1;
68  static const int EXT_GATE = 2;
69 
70 #ifdef DO_UNIT_TESTS
71  friend void testPulseGen();
72 #endif
73  public:
74  PulseGen();
75  ~PulseGen();
76 
78  // Value field access function definitions
80 
81  void setFirstDelay(double value );
82  double getFirstDelay() const;
83  void setFirstWidth(double value );
84  double getFirstWidth( ) const;
85  void setFirstLevel(double value );
86  double getFirstLevel( ) const;
87  void setSecondDelay(double value );
88  double getSecondDelay( ) const;
89  void setSecondWidth(double value );
90  double getSecondWidth( ) const;
91  void setSecondLevel(double value );
92  double getSecondLevel( ) const;
93  void setBaseLevel(double value);
94  double getBaseLevel() const;
95  void setTrigMode(unsigned int value);
96  unsigned int getTrigMode() const;
97  double getOutput() const ;
98  double getTrigTime() const;
99  int getPreviousInput() const;
100  void setCount(unsigned int count);
101  unsigned int getCount() const;
102  void setLevel(unsigned int pulseNo, double level);
103  void setWidth(unsigned int pulseNo, double width);
104  void setDelay(unsigned int pulseNo, double delay);
105  double getWidth(unsigned int index) const;
106  double getDelay(unsigned int index) const;
107  double getLevel(unsigned int index) const;
108 
110  // Dest function definitions
112 
113  void input(double input);
114 
115  void process( const Eref& e, ProcPtr p );
116 
117  void reinit( const Eref& e, ProcPtr p );
118 
120  static const Cinfo* initCinfo();
121 
122  protected:
123  vector <double> delay_;
124  vector <double> level_;
125  vector <double> width_;
126 
127  double output_;
128  double baseLevel_;
129  double trigTime_;
130  unsigned int trigMode_;
132 
134  int input_;
135 };
136 
137 #endif // _PULSEGEN_H
138 //
139 // PulseGen.h ends here
uint32_t value
Definition: moosemodule.h:42
double getWidth(unsigned int index) const
Definition: PulseGen.cpp:351
vector< double > delay_
Definition: PulseGen.h:123
double trigTime_
Definition: PulseGen.h:129
int prevInput_
Definition: PulseGen.h:133
double output_
Definition: PulseGen.h:127
double getTrigTime() const
static const Cinfo * initCinfo()
Definition: PulseGen.cpp:42
static const int EXT_GATE
Definition: PulseGen.h:68
void setWidth(unsigned int pulseNo, double width)
Definition: PulseGen.cpp:360
void setLevel(unsigned int pulseNo, double level)
Definition: PulseGen.cpp:342
double getSecondWidth() const
Definition: PulseGen.cpp:263
void reinit(const Eref &e, ProcPtr p)
Definition: PulseGen.cpp:466
void setCount(unsigned int count)
Definition: PulseGen.cpp:311
double getFirstWidth() const
Definition: PulseGen.cpp:227
int getPreviousInput() const
Definition: PulseGen.cpp:306
double baseLevel_
Definition: PulseGen.h:128
void setDelay(unsigned int pulseNo, double delay)
Definition: PulseGen.cpp:378
void setSecondWidth(double value)
Definition: PulseGen.cpp:256
unsigned int trigMode_
Definition: PulseGen.h:130
double getBaseLevel() const
Definition: PulseGen.cpp:289
double getSecondDelay() const
Definition: PulseGen.cpp:277
void setSecondDelay(double value)
Definition: PulseGen.cpp:271
bool secondPulse_
Definition: PulseGen.h:131
unsigned int getCount() const
Definition: PulseGen.cpp:327
double getFirstLevel() const
Definition: PulseGen.cpp:217
void setTrigMode(unsigned int value)
Definition: PulseGen.cpp:293
void setFirstWidth(double value)
Definition: PulseGen.cpp:222
Definition: Eref.h:26
void setFirstLevel(double value)
Definition: PulseGen.cpp:212
static const int FREE_RUN
Definition: PulseGen.h:47
int input_
Definition: PulseGen.h:134
unsigned int getTrigMode() const
Definition: PulseGen.cpp:297
double getLevel(unsigned int index) const
Definition: PulseGen.cpp:332
void input(double input)
Definition: PulseGen.cpp:392
vector< double > level_
Definition: PulseGen.h:124
static const int EXT_TRIG
Definition: PulseGen.h:63
void process(const Eref &e, ProcPtr p)
Definition: PulseGen.cpp:398
double getFirstDelay() const
Definition: PulseGen.cpp:235
void setBaseLevel(double value)
Definition: PulseGen.cpp:285
double getOutput() const
Definition: PulseGen.cpp:301
Definition: Cinfo.h:18
double getSecondLevel() const
Definition: PulseGen.cpp:247
double getDelay(unsigned int index) const
Definition: PulseGen.cpp:368
void setFirstDelay(double value)
Definition: PulseGen.cpp:231
void setSecondLevel(double value)
Definition: PulseGen.cpp:240
vector< double > width_
Definition: PulseGen.h:125