casa
$Rev:20696$
|
#include <VisibilityProcessing.h>
Classes | |
class | VpSet |
Public Member Functions | |
VpContainer (const String &name, const vector< String > &inputs=vector< String >(1,"In"), const vector< String > &outputs=vector< String >()) | |
Creates a VpContainer object providing the specified inputs and outputs. | |
virtual | ~VpContainer () |
virtual void | add (VisibilityProcessor *processor) |
Adds a VP to the container. | |
virtual void | connect (VisibilityProcessor *sourceVp, const String &sourcePortName, VisibilityProcessor *sinkVp, const String &sinkPortName) |
Connects the specified output to the specified input. | |
virtual void | connect (const String &sourcePortName, VisibilityProcessor *sinkVp, const String &sinkPortName) |
virtual void | connect (VisibilityProcessor *sourceVp, const String &sourcePortName, const String &sinkPortName) |
virtual void | chunkStart (const SubchunkIndex &sci) |
chunkStart is called to inform the VP that a new chunk is starting. | |
virtual void | fillWithSequence (VisibilityProcessor *first,...) |
Fills the container with the specified set of VPs. | |
virtual casa::asyncio::PrefetchColumns | getPrefetchColumns () const |
Returns the columns that are required to be prefetched if async I/O is used. | |
Protected Types | |
typedef vector < VisibilityProcessor * > | VPs |
typedef boost::indirect_iterator < VPs::const_iterator > | const_iterator |
typedef boost::indirect_iterator < VPs::iterator > | iterator |
Protected Member Functions | |
iterator | begin () |
const_iterator | begin () const |
Bool | contains (const VisibilityProcessor *) const |
virtual ProcessingResult | doProcessingImpl (ProcessingType processingType, VpData &inputData, const SubchunkIndex &subChunkIndex) |
Requests processing of the provided (possibly empty) input data. | |
Bool | empty () const |
iterator | end () |
const_iterator | end () const |
virtual void | processingStartImpl () |
Called when data processing is about to beging; this allows the VP to perform any initialization that it desires now that it is completely connected into the graph. | |
size_t | size () const |
virtual void | validateImpl () |
Called to allow the node to validate its initial state. | |
Private Types | |
typedef std::map< VpPort, VpPort > | Network |
typedef std::set< VpPort > | NetworkReverse |
typedef boost::tuple < VisibilityProcessor *, VpData > | ReadyVpAndData |
Private Member Functions | |
ReadyVpAndData | findReadyVp (VpSet &vpsWaiting, VpData &inputs, bool flushing) const |
ReadyVpAndData | findReadyVpFlushing (VpSet &vpsWaiting, VpData &inputs) const |
ReadyVpAndData | findReadyVpNormal (VpSet &vpsWaiting, VpData &inputs) const |
bool | follows (const VisibilityProcessor *a, const VisibilityProcessor *b) const |
bool | followsSet (const VisibilityProcessor *a, const VpSet &vpSet) const |
void | orderContents () |
void | remapPorts (VpData &data, const VisibilityProcessor *) |
pair< VpPort, VpPort > | validateConnectionPorts (VisibilityProcessor *sourceVp, const String &sourcePortName, VisibilityProcessor *sinkVp, const String &sinkPortName) |
Private Attributes | |
Network | network_p |
NetworkReverse | networkReverse_p |
VPs | vps_p |
backwards order. | |
Friends | |
class | VisibilityProcessing |
Definition at line 493 of file VisibilityProcessing.h.
typedef boost::indirect_iterator<VPs::const_iterator> casa::vpf::VpContainer::const_iterator [protected] |
Definition at line 537 of file VisibilityProcessing.h.
typedef boost::indirect_iterator<VPs::iterator> casa::vpf::VpContainer::iterator [protected] |
Definition at line 538 of file VisibilityProcessing.h.
typedef std::map<VpPort, VpPort> casa::vpf::VpContainer::Network [private] |
Definition at line 556 of file VisibilityProcessing.h.
typedef std::set<VpPort> casa::vpf::VpContainer::NetworkReverse [private] |
Definition at line 557 of file VisibilityProcessing.h.
typedef boost::tuple<VisibilityProcessor *, VpData> casa::vpf::VpContainer::ReadyVpAndData [private] |
Definition at line 558 of file VisibilityProcessing.h.
typedef vector<VisibilityProcessor *> casa::vpf::VpContainer::VPs [protected] |
Definition at line 536 of file VisibilityProcessing.h.
casa::vpf::VpContainer::VpContainer | ( | const String & | name, |
const vector< String > & | inputs = vector< String >(1,"In") , |
||
const vector< String > & | outputs = vector< String >() |
||
) |
Creates a VpContainer object providing the specified inputs and outputs.
These inputs and outputs will potentially be connected to the inputs and outputs of the VPs that are contained in the container.
virtual casa::vpf::VpContainer::~VpContainer | ( | ) | [inline, virtual] |
Definition at line 507 of file VisibilityProcessing.h.
virtual void casa::vpf::VpContainer::add | ( | VisibilityProcessor * | processor | ) | [virtual] |
Adds a VP to the container.
Exception if VP is already in the container.
iterator casa::vpf::VpContainer::begin | ( | ) | [protected] |
const_iterator casa::vpf::VpContainer::begin | ( | ) | const [protected] |
virtual void casa::vpf::VpContainer::chunkStart | ( | const SubchunkIndex & | ) | [virtual] |
chunkStart is called to inform the VP that a new chunk is starting.
Reimplemented from casa::vpf::VisibilityProcessor.
virtual void casa::vpf::VpContainer::connect | ( | VisibilityProcessor * | sourceVp, |
const String & | sourcePortName, | ||
VisibilityProcessor * | sinkVp, | ||
const String & | sinkPortName | ||
) | [virtual] |
Connects the specified output to the specified input.
The VP pointer may be omitted if the port belongs to the container.
virtual void casa::vpf::VpContainer::connect | ( | const String & | sourcePortName, |
VisibilityProcessor * | sinkVp, | ||
const String & | sinkPortName | ||
) | [virtual] |
virtual void casa::vpf::VpContainer::connect | ( | VisibilityProcessor * | sourceVp, |
const String & | sourcePortName, | ||
const String & | sinkPortName | ||
) | [virtual] |
Bool casa::vpf::VpContainer::contains | ( | const VisibilityProcessor * | ) | const [protected] |
virtual ProcessingResult casa::vpf::VpContainer::doProcessingImpl | ( | ProcessingType | processingType, |
VpData & | inputData, | ||
const SubchunkIndex & | subChunkIndex | ||
) | [protected, virtual] |
Requests processing of the provided (possibly empty) input data.
This is called on each subchunk (then inputData will be nonempty) and at the end of a chunk and the end of the entire data set. These last two call types allow the VP to output any data that it might have been accumulating across multiple subchunks, etc.
Implements casa::vpf::VisibilityProcessor.
Bool casa::vpf::VpContainer::empty | ( | ) | const [protected] |
iterator casa::vpf::VpContainer::end | ( | ) | [protected] |
const_iterator casa::vpf::VpContainer::end | ( | ) | const [protected] |
virtual void casa::vpf::VpContainer::fillWithSequence | ( | VisibilityProcessor * | first, |
... | |||
) | [virtual] |
Fills the container with the specified set of VPs.
The container must be empty prior to this call.
ReadyVpAndData casa::vpf::VpContainer::findReadyVp | ( | VpSet & | vpsWaiting, |
VpData & | inputs, | ||
bool | flushing | ||
) | const [private] |
ReadyVpAndData casa::vpf::VpContainer::findReadyVpFlushing | ( | VpSet & | vpsWaiting, |
VpData & | inputs | ||
) | const [private] |
ReadyVpAndData casa::vpf::VpContainer::findReadyVpNormal | ( | VpSet & | vpsWaiting, |
VpData & | inputs | ||
) | const [private] |
bool casa::vpf::VpContainer::follows | ( | const VisibilityProcessor * | a, |
const VisibilityProcessor * | b | ||
) | const [private] |
bool casa::vpf::VpContainer::followsSet | ( | const VisibilityProcessor * | a, |
const VpSet & | vpSet | ||
) | const [private] |
virtual casa::asyncio::PrefetchColumns casa::vpf::VpContainer::getPrefetchColumns | ( | ) | const [virtual] |
Returns the columns that are required to be prefetched if async I/O is used.
Reimplemented from casa::vpf::VisibilityProcessor.
void casa::vpf::VpContainer::orderContents | ( | ) | [private] |
virtual void casa::vpf::VpContainer::processingStartImpl | ( | ) | [protected, virtual] |
Called when data processing is about to beging; this allows the VP to perform any initialization that it desires now that it is completely connected into the graph.
Reimplemented from casa::vpf::VisibilityProcessor.
void casa::vpf::VpContainer::remapPorts | ( | VpData & | data, |
const VisibilityProcessor * | |||
) | [private] |
size_t casa::vpf::VpContainer::size | ( | ) | const [protected] |
pair<VpPort,VpPort> casa::vpf::VpContainer::validateConnectionPorts | ( | VisibilityProcessor * | sourceVp, |
const String & | sourcePortName, | ||
VisibilityProcessor * | sinkVp, | ||
const String & | sinkPortName | ||
) | [private] |
virtual void casa::vpf::VpContainer::validateImpl | ( | ) | [protected, virtual] |
Called to allow the node to validate its initial state.
An AipsError should be thrown if this node decides that it is invalid.
Implements casa::vpf::VisibilityProcessor.
friend class VisibilityProcessing [friend] |
Definition at line 495 of file VisibilityProcessing.h.
Network casa::vpf::VpContainer::network_p [private] |
Definition at line 568 of file VisibilityProcessing.h.
Definition at line 569 of file VisibilityProcessing.h.
VPs casa::vpf::VpContainer::vps_p [private] |
backwards order.
Definition at line 571 of file VisibilityProcessing.h.