47 "Current output level.");
54 "Gain of the amplifier. The output of the amplifier is the difference"
55 " between the totals in plus and minus inputs multiplied by the"
56 " gain. Defaults to 1" ,
60 "Saturation is the bound on the output. If output goes beyond the +/-"
61 "saturation range, it is truncated to the closer of +saturation and"
62 " -saturation. Defaults to the maximum double precision floating point"
63 " number representable on the system." ,
68 "Output of the amplifier, i.e. gain * (plus - minus)." ,
75 "Destination message to control gain dynamically.",
79 "Positive input terminal of the amplifier. All the messages connected"
80 " here are summed up to get total positive input.",
84 "Negative input terminal of the amplifier. All the messages connected"
85 " here are summed up to get total positive input.",
91 "Handles process call, updates internal time stamp.",
94 "Handles reinit call.",
96 static Finfo* processShared[] =
102 "This is a shared message to receive Process messages "
103 "from the scheduler objects."
104 "The first entry in the shared msg is a MsgDest "
105 "for the Process operation. It has a single argument, "
106 "ProcInfo, which holds lots of information about current "
107 "time, thread, dt and so on. The second entry is a MsgDest "
108 "for the Reinit operation. It also uses ProcInfo. ",
109 processShared,
sizeof( processShared ) /
sizeof(
Finfo* )
113 static Finfo * diffAmpFinfos[] = {
123 static string doc[] = {
125 "Author",
"Subhasis Ray, 2008, NCBS",
126 "Description",
"A difference amplifier. "
127 "Output is the difference between the total plus inputs and the total "
128 "minus inputs multiplied by gain. Gain can be set statically as a field"
129 " or can be a destination message and thus dynamically determined by the"
130 " output of another object. Same as GENESIS diffamp object."
137 sizeof(diffAmpFinfos)/
sizeof(
Finfo*),
140 sizeof(doc)/
sizeof(
string)
void minusFunc(double input)
void process(const Eref &e, ProcPtr p)
void setGain(double gain)
static SrcFinfo1< double > * output()
void plusFunc(double input)
static const Cinfo * diffAmpCinfo
static const Cinfo * initCinfo()
void reinit(const Eref &e, ProcPtr p)
void setSaturation(double saturation)
static const Cinfo * initCinfo()
static SrcFinfo1< double > * outputOut()
double getSaturation() const