AnalogDelayObject Class Reference

#include <AnalogDelayObject.h>

Inheritance diagram for AnalogDelayObject:

Inheritance graph
[legend]
Collaboration diagram for AnalogDelayObject:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 AnalogDelayObject (delay_t minimumDelay=1)
virtual ~AnalogDelayObject ()
virtual void setAnalogInput (double v, analog_port_id_t port=0)
 Analog input to given port.
virtual double getAnalogOutput (analog_port_id_t port=0) const
 Return the analog value currently associated with the given port.
void announceDelayedRead (delay_t delay)
virtual int advance (AdvanceInfo const &)
 Calculate the next state and output/propagate the result to succesors/outgoing objects.
virtual int init (InitializeInfo *ii)
 Called during network initialization (prior to reset).
virtual int reset (double dt)
 Called at the beginning of a simulation at t=0.
virtual int getFieldOffset (string fieldname)
void advanceCycle ()
double getCycledAnalogOutput (int delay)
bool isScheduledForAdvanceCycle ()
void setAddedForAdvanceCycle ()
void putNewCycleValues (double *val)
int initDistributedMode ()

Protected Attributes

CircularQueue< double > * delay_queue
delay_t minDelay
delay_t maxDelay
double input
double output
bool addedForAdvanceCycle

Friends

class SimObjectTypeTest


Detailed Description

Definition at line 10 of file AnalogDelayObject.h.


Constructor & Destructor Documentation

AnalogDelayObject::AnalogDelayObject ( delay_t  minimumDelay = 1  ) 

Definition at line 9 of file AnalogDelayObject.cpp.

References addedForAdvanceCycle, delay_queue, and maxDelay.

AnalogDelayObject::~AnalogDelayObject (  )  [virtual]

Definition at line 17 of file AnalogDelayObject.cpp.

References delay_queue.


Member Function Documentation

void AnalogDelayObject::setAnalogInput ( double  value,
analog_port_id_t  port = 0 
) [virtual]

Analog input to given port.

Reimplemented from SimObject.

Definition at line 51 of file AnalogDelayObject.cpp.

References input.

double AnalogDelayObject::getAnalogOutput ( analog_port_id_t  port = 0  )  const [virtual]

Return the analog value currently associated with the given port.

Reimplemented from SimObject.

Definition at line 56 of file AnalogDelayObject.cpp.

References delay_queue, and CircularQueue< T >::get().

Here is the call graph for this function:

void AnalogDelayObject::announceDelayedRead ( delay_t  delay  ) 

int AnalogDelayObject::advance ( AdvanceInfo const &   )  [virtual]

Calculate the next state and output/propagate the result to succesors/outgoing objects.

The return value of advance contains several bits of information which can be decoded with the bit masks ADVANCEFLAG_* like ADVANCEFLAG_HASSPIKED and ADVANCEFLAG_DEACTIVATE.

Reimplemented from SimObject.

Definition at line 67 of file AnalogDelayObject.cpp.

References delay_queue, CircularQueue< T >::get(), input, output, and CircularQueue< T >::put().

Here is the call graph for this function:

int AnalogDelayObject::init ( InitializeInfo ii  )  [virtual]

Called during network initialization (prior to reset).

Reimplemented from SimObject.

Definition at line 30 of file AnalogDelayObject.cpp.

References delay_queue, maxDelay, minDelay, and output.

int AnalogDelayObject::reset ( double  dt  )  [virtual]

Called at the beginning of a simulation at t=0.

Reimplemented from SimObject.

Definition at line 44 of file AnalogDelayObject.cpp.

References delay_queue, output, and CircularQueue< T >::reset().

Here is the call graph for this function:

int AnalogDelayObject::getFieldOffset ( string  fieldname  )  [virtual]

Definition at line 74 of file AnalogDelayObject.cpp.

References input, and output.

void AnalogDelayObject::advanceCycle (  ) 

Definition at line 61 of file AnalogDelayObject.cpp.

References delay_queue, minDelay, and CircularQueue< T >::moveMark().

Here is the call graph for this function:

double AnalogDelayObject::getCycledAnalogOutput ( int  delay  )  [inline]

Definition at line 46 of file AnalogDelayObject.h.

References delay_queue, and CircularQueue< T >::getFromMark().

Here is the call graph for this function:

bool AnalogDelayObject::isScheduledForAdvanceCycle (  )  [inline]

Definition at line 53 of file AnalogDelayObject.h.

References addedForAdvanceCycle.

Referenced by MTAnalogMessageCreator::addAnalogMessage().

void AnalogDelayObject::setAddedForAdvanceCycle (  )  [inline]

Definition at line 58 of file AnalogDelayObject.h.

References addedForAdvanceCycle.

Referenced by MultiThreadSimEngine::addForAdvanceCycle().

void AnalogDelayObject::putNewCycleValues ( double val  )  [inline]

Definition at line 63 of file AnalogDelayObject.h.

References delay_queue, minDelay, CircularQueue< T >::moveMark(), and CircularQueue< T >::putArray().

Here is the call graph for this function:

int AnalogDelayObject::initDistributedMode (  ) 

Definition at line 37 of file AnalogDelayObject.cpp.

References delay_queue, maxDelay, and output.


Friends And Related Function Documentation

friend class SimObjectTypeTest [friend]

Definition at line 78 of file AnalogDelayObject.h.


Member Data Documentation

Definition at line 74 of file AnalogDelayObject.h.

Referenced by advanceCycle(), init(), and putNewCycleValues().

Definition at line 79 of file AnalogDelayObject.h.

Referenced by advance(), getFieldOffset(), and setAnalogInput().

Definition at line 81 of file AnalogDelayObject.h.

Referenced by advance(), getFieldOffset(), init(), initDistributedMode(), and reset().


The documentation for this class was generated from the following files:

Generated on Wed Jul 9 16:34:46 2008 for PCSIM by  doxygen 1.5.5