casa::vpf::VpContainer Class Reference

#include <VisibilityProcessing.h>

Inheritance diagram for casa::vpf::VpContainer:
casa::vpf::VisibilityProcessor

List of all members.

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 VPs::const_iterator const_iterator
typedef 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, VpPortNetwork
typedef std::set< VpPortNetworkReverse
typedef std::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, VpPortvalidateConnectionPorts (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

Detailed Description

Definition at line 489 of file VisibilityProcessing.h.


Member Typedef Documentation

typedef VPs::const_iterator casa::vpf::VpContainer::const_iterator [protected]

Definition at line 533 of file VisibilityProcessing.h.

typedef VPs::iterator casa::vpf::VpContainer::iterator [protected]

Definition at line 534 of file VisibilityProcessing.h.

typedef std::map<VpPort, VpPort> casa::vpf::VpContainer::Network [private]

Definition at line 552 of file VisibilityProcessing.h.

typedef std::set<VpPort> casa::vpf::VpContainer::NetworkReverse [private]

Definition at line 553 of file VisibilityProcessing.h.

Definition at line 554 of file VisibilityProcessing.h.

typedef vector<VisibilityProcessor *> casa::vpf::VpContainer::VPs [protected]

Definition at line 532 of file VisibilityProcessing.h.


Constructor & Destructor Documentation

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 503 of file VisibilityProcessing.h.


Member Function Documentation

virtual void casa::vpf::VpContainer::add ( VisibilityProcessor processor  )  [virtual]

Adds a VP to the container.

Exception if VP is already in the container.

const_iterator casa::vpf::VpContainer::begin (  )  const [protected]
iterator casa::vpf::VpContainer::begin (  )  [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,
const String &  sinkPortName 
) [virtual]
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,
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.

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]
const_iterator casa::vpf::VpContainer::end (  )  const [protected]
iterator casa::vpf::VpContainer::end (  )  [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.


Friends And Related Function Documentation

friend class VisibilityProcessing [friend]

Definition at line 491 of file VisibilityProcessing.h.


Member Data Documentation

Definition at line 564 of file VisibilityProcessing.h.

Definition at line 565 of file VisibilityProcessing.h.

backwards order.

Definition at line 567 of file VisibilityProcessing.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1