In file excitation.h:

class excitation

Class to manage an excitation channel.

Inheritance:


Public Classes

enum excitationchannel
Excitation channel type
invalid
not a channel
EPICS
represents an EPICS channel
testpoint
represents a test point channel
DAC
represents a digital-to-analog channel
DSG
represents a digital signal generator
enum capabilityflag
Flag representing a capability of an excitation channel
output
output channel?
GPSsync
syncronized with GPS?
periodicsignal
periodic signals?
randomsignal
random noise signals?
waveform
arbitrary waveform?
multiplewaveforms
multiple arbitrary waveforms?

Public Fields

static const double syncDelay
synchronization delay for excitation signals, ~200 ms
static const double syncUncertainty
synchronization uncertainty for non GPS signals, ~250 ms
static const double linkSpeed [2]
link speed in char/sec; first ethernet, second rs232 (cobox)
typedef std::vector <AWG_Component> signallist
signal list
typedef std::vector <AWG_Component> ::const_iterator const_sigiterator
signal list iterator
typedef std::vector <float> pointlist
point list
string chnname
channel name
excitationchannel channeltype
Type of excitation channel

Public Methods

explicit excitation (const string& Chnname, double Wait = 0)
Constructor.
excitation (const excitation& exc)
Copy constructor.
excitation& operator= (const excitation& exc)
Copy operator.
virtual ~excitation ()
Destructor.
bool operator! () const
Not operator.
bool operator== (const excitation& exc) const
Equality operator.
bool operator== (const string& name) const
Equality operator.
bool operator!= (const excitation& exc) const
Inequality operator.
bool operator!= (const string& name) const
Inequality operator.
virtual int capability (capabilityflag cap) const
Excitation channel capability.
virtual bool setup (const string& Chnname)
Setup of excitation channel.
virtual bool add (const AWG_Component& comp)
Add excitation signal.
virtual bool add (const_sigiterator begin, const_sigiterator end)
Add excitation signals.
virtual bool add (const pointlist& Points)
Add waveform points.
virtual double dwellTime () const
dwell time function.
virtual bool start (tainsec_t starttime = -1, tainsec_t timeout = -1)
Start excitation signals.
virtual bool stop (tainsec_t timeout = -1, tainsec_t ramptime = 0)
Stop excitation signals.
virtual bool freeze ()
Freeze excitation signals.
virtual bool reset (bool hard = false, tainsec_t timeout = -1)
Reset the excitation signal.

Protected Fields

mutable recursivemutex mux
mutex to protect excitation object
bool writeaccess
true if channel can be set
gdsChnInfo_t chninfo
channel info structure
double wait
settlign time
signallist signals
signal list
pointlist points
list of waveform points
mutable int slot
awg slot (ownership is transfered on copy)
mutable int inUse
counts how many times channel is in use (ownership is transfered on copy)
bool isTP
true if channel is a test point
double epicsvalue
value of epics channel before excitation was switched on

Documentation

Excitation object to manage a single excitation channel. This object is multi-thread safe.

static const double syncDelay
synchronization delay for excitation signals, ~200 ms

static const double syncUncertainty
synchronization uncertainty for non GPS signals, ~250 ms

static const double linkSpeed[2]
link speed in char/sec; first ethernet, second rs232 (cobox)

enum excitationchannel
Excitation channel type

invalid
not a channel

EPICS
represents an EPICS channel

testpoint
represents a test point channel

DAC
represents a digital-to-analog channel

DSG
represents a digital signal generator

enum capabilityflag
Flag representing a capability of an excitation channel

output
output channel?

GPSsync
syncronized with GPS?

periodicsignal
periodic signals?

randomsignal
random noise signals?

waveform
arbitrary waveform?

multiplewaveforms
multiple arbitrary waveforms?

typedef std::vector <AWG_Component> signallist
signal list

typedef std::vector <AWG_Component> ::const_iterator const_sigiterator
signal list iterator

typedef std::vector <float> pointlist
point list

string chnname
channel name

excitationchannel channeltype
Type of excitation channel

explicit excitation(const string& Chnname, double Wait = 0)
Constructs an excitation object.
Returns:
void
Parameters:
Chnname - name of channel
Wait - settling time

excitation(const excitation& exc)
Constructs an excitation object. When constructing a new excitation object from another one, the channel ownership is transfered to the new excitation object, i.e. the old object should not be used any further.
Returns:
void
Parameters:
exc - excitation object

excitation& operator= (const excitation& exc)
Copies an excitation object. When copying an excitation object from another one, the channel ownership is transfered to the new excitation object, i.e. the old object should not be used any further.
Returns:
void
Parameters:
exc - excitation object

virtual ~excitation()
Destructs the excitation managment object.
Returns:
void

bool operator! () const
Checks validity of excitation channel.
Returns:
true if excitation channel is invalid

bool operator== (const excitation& exc) const
Compares two channel object by their name.
Returns:
true if equal
Parameters:
exc - excitation channel

bool operator== (const string& name) const
Compares two channel object by their name.
Returns:
true if equal
Parameters:
name - channel name

bool operator!= (const excitation& exc) const
Compares two channel object by their name.
Returns:
true if not equal
Parameters:
exc - excitation channel

bool operator!= (const string& name) const
Compares two channel object by their name.
Returns:
true if not equal
Parameters:
name - channel name

virtual int capability(capabilityflag cap) const
Describes the capabilities of an excitation channel. This function returns non-zero if the queried capability is available for this excitation channel. Supported capability flags are:
flag Description
output the channel can be used to apply an excitation
GPSsync the output signal can be syncronized with GPS
periodicsignal periodic signals are supported
randomsignal random noise signals are supported
waveform arbitary waveforms are supported
multiplewaveforms multiple arbitrary waveforms are supported

Returns:
non-zero if capability available
Parameters:
cap - capability flag

virtual bool setup(const string& Chnname)
Sets up an excitation channel given the channel name. Returns false if the channel name doesn't correspond to an excitation channel.
Returns:
true if successful
Parameters:
Chnname - name of channel

virtual bool add(const AWG_Component& comp)
Adds a signal to an excitation channel.
Returns:
true if successful
Parameters:
comp - waveform component

virtual bool add(const_sigiterator begin, const_sigiterator end)
Adds a signal list to an excitation channel. If begin and end describe a valid iterator pair, the return value points to the element behind the last added one. Thus, if all components were added, it points to end.
Returns:
true if successful
Parameters:
begin - iterator to first wavform component
end - iterator to one behind last waveform component

virtual bool add(const pointlist& Points)
Adds a list of waveform points to an excitation channel. This is only useful for arbitary waveforms.
Returns:
true if successful
Parameters:
Points - list of waveform points

virtual double dwellTime() const
Returns the dwell time of the excitation.
Returns:
dwell time

virtual bool start(tainsec_t starttime = -1, tainsec_t timeout = -1)
Switches the excitation signal on. If the excitation signal can be synchronized with GPS an optional start time (in GPS nsec) can be specified; otherwise this argument is ignored.
Returns:
true if successful
Parameters:
start - start time of waveform (in GPS nsec)
timeout - max. time for start to succeed (<0 wait forever)

virtual bool stop(tainsec_t timeout = -1, tainsec_t ramptime = 0)
Switches the excitation signal off.
Returns:
true if successful
Parameters:
timeout - max. time for stop to succeed (<0 wait forever)
ramptime - time to ramp down the signal

virtual bool freeze()
Freezes the excitation signal.
Returns:
true if successful

virtual bool reset(bool hard = false, tainsec_t timeout = -1)
Reset an excitation channel. A hard reset will switch off the excitation signal and will disconnect the channel from the excitation engine/signal generator. A soft reset switches the excitation signal off (and resets the signal list).
Returns:
true if successful
Parameters:
hard - hard (true) or soft reset
timeout - max. time for reset to succeed (<0 wait forever)

mutable recursivemutex mux
mutex to protect excitation object

bool writeaccess
true if channel can be set

gdsChnInfo_t chninfo
channel info structure

double wait
settlign time

signallist signals
signal list

pointlist points
list of waveform points

mutable int slot
awg slot (ownership is transfered on copy)

mutable int inUse
counts how many times channel is in use (ownership is transfered on copy)

bool isTP
true if channel is a test point

double epicsvalue
value of epics channel before excitation was switched on


This class has no child classes.
Author:
DS, November 98
See Also:
Excitation management API

alphabetic index hierarchy of classes


Please send questions and comments to sigg_d@ligo-wa.caltech.edu


generated by doc++