casa
5.7.0-16
|
#include <VisibilityProcessing.h>
Classes | |
class | VpSet |
Public Member Functions | |
VpContainer (const casacore::String &name, const std::vector< casacore::String > &inputs=std::vector< casacore::String >(1,"In"), const std::vector< casacore::String > &outputs=std::vector< casacore::String >()) | |
Creates a VpContainer object providing the specified inputs and outputs. More... | |
virtual | ~VpContainer () |
virtual void | add (VisibilityProcessor *processor) |
Adds a VP to the container. More... | |
virtual void | connect (VisibilityProcessor *sourceVp, const casacore::String &sourcePortName, VisibilityProcessor *sinkVp, const casacore::String &sinkPortName) |
Connects the specified output to the specified input. More... | |
virtual void | connect (const casacore::String &sourcePortName, VisibilityProcessor *sinkVp, const casacore::String &sinkPortName) |
virtual void | connect (VisibilityProcessor *sourceVp, const casacore::String &sourcePortName, const casacore::String &sinkPortName) |
virtual void | chunkStart (const SubchunkIndex &sci) |
virtual void | fillWithSequence (VisibilityProcessor *first,...) |
Fills the container with the specified set of VPs. More... | |
virtual casa::asyncio::PrefetchColumns | getPrefetchColumns () const |
Returns the columns that are required to be prefetched if async I/O is used. More... | |
Public Member Functions inherited from casa::vpf::VisibilityProcessor | |
VisibilityProcessor (const VisibilityProcessor &)=delete | |
VisibilityProcessor & | operator= (const VisibilityProcessor &)=delete |
VisibilityProcessor () | |
VisibilityProcessor (const casacore::String &name, const std::vector< casacore::String > &inputNames, const std::vector< casacore::String > &outputNames=std::vector< casacore::String >(), casacore::Bool makeIoPorts=false) | |
virtual | ~VisibilityProcessor () |
void | chunkStart (const SubchunkIndex &) |
chunkStart is called to inform the VP that a new chunk is starting. More... | |
ProcessingResult | doProcessing (ProcessingType processingType, VpData &inputData, VpEngine *vpEngine, const SubchunkIndex &subChunkIndex) |
Called to cause the VP to process the provided inputs. More... | |
const VpContainer * | getContainer () const |
Returns a pointer to the containing VP or NULL if this VP is top-level. More... | |
casacore::String | getFullName () const |
The full name of a VP is a dotted list of the names of all the containing VPs ending with the name of this VP (e.g., vp0.vp1...vpN.thisVp). More... | |
VpPort | getInput (const casacore::String &name) const |
Returns the input port having the specified name. More... | |
VpPorts | getInputs (casacore::Bool connectedOnly=false) const |
Returns a collection of the input ports for this VP; optionally only the connected ports are returned. More... | |
casacore::String | getName () const |
Returns the name of this VP. More... | |
casacore::Int | getNSubchunksProcessed () const |
Returns the number of Subchunks processed (mainly for testing) More... | |
casacore::Int | getNSubchunksUniqueProcessed () const |
Returns the number of unique Subchunks (i.e., iteration ignored) processed. More... | |
VpPort | getOutput (const casacore::String &name) const |
Returns the output port having the specified name. More... | |
VpPorts | getOutputs (casacore::Bool connectedOnly=false) const |
Returns a collection of the output ports for this VP; optionally only the connected ports are returned. More... | |
void | processingStart () |
Called by the framework when the processing is about to begin (i.e., prior to the first VisBuffer being fed into the graph. More... | |
void | validate () |
Called to ask the VP to check its validity (i.e., are all needed inputs connected, etc.). More... | |
Protected Types | |
typedef std::vector < VisibilityProcessor * > | VPs |
typedef VPs::const_iterator | const_iterator |
typedef VPs::iterator | iterator |
Protected Member Functions | |
iterator | begin () |
const_iterator | begin () const |
casacore::Bool | contains (const VisibilityProcessor *) const |
virtual ProcessingResult | doProcessingImpl (ProcessingType processingType, VpData &inputData, const SubchunkIndex &subChunkIndex) |
Requests processing of the provided (possibly empty) input data. More... | |
casacore::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. More... | |
size_t | size () const |
virtual void | validateImpl () |
Called to allow the node to validate its initial state. More... | |
Protected Member Functions inherited from casa::vpf::VisibilityProcessor | |
virtual void | chunkStartImpl (const SubchunkIndex &) |
The public API contains many methods that are not virtual. More... | |
VpPorts | definePorts (const std::vector< casacore::String > &portNames, VpPort::Type type, const casacore::String &typeName) |
Defines the set of possible input ports for this VP. More... | |
VpPorts | portsUnconnected (const VpPorts &ports, casacore::Bool(VpPort::*isConnected)() const, const std::vector< casacore::String > &except=std::vector< casacore::String >()) const |
Returns a collection of the ports that are not connected using the provided connection method; some ports may also be excluded from this list by name. More... | |
void | throwIfAnyInputsUnconnected (const std::vector< casacore::String > &exceptThese=std::vector< casacore::String >()) const |
Methods to ease the validation process. More... | |
void | throwIfAnyInputsUnconnectedExcept (const casacore::String &exceptThisOne) const |
void | throwIfAnyOutputsUnconnected (const std::vector< casacore::String > &exceptThese=std::vector< casacore::String >()) const |
void | throwIfAnyOutputsUnconnectedExcept (const casacore::String &exceptThisOne) const |
void | throwIfAnyPortsUnconnected () const |
Private Types | |
typedef std::map< VpPort, VpPort > | Network |
typedef std::set< VpPort > | NetworkReverse |
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 *) |
std::pair< VpPort, VpPort > | validateConnectionPorts (VisibilityProcessor *sourceVp, const casacore::String &sourcePortName, VisibilityProcessor *sinkVp, const casacore::String &sinkPortName) |
Private Attributes | |
Network | network_p |
NetworkReverse | networkReverse_p |
VPs | vps_p |
backwards order. More... | |
Friends | |
class | VisibilityProcessing |
Additional Inherited Members | |
Public Types inherited from casa::vpf::VisibilityProcessor | |
enum | ChunkCode { Normal, RepeatChunk } |
enum | ProcessingType { Subchunk, EndOfChunk, EndOfData } |
typedef std::tuple< ChunkCode, VpData > | ProcessingResult |
Definition at line 489 of file VisibilityProcessing.h.
|
protected |
Definition at line 533 of file VisibilityProcessing.h.
|
protected |
Definition at line 534 of file VisibilityProcessing.h.
|
private |
Definition at line 552 of file VisibilityProcessing.h.
|
private |
Definition at line 553 of file VisibilityProcessing.h.
|
private |
Definition at line 554 of file VisibilityProcessing.h.
|
protected |
Definition at line 532 of file VisibilityProcessing.h.
casa::vpf::VpContainer::VpContainer | ( | const casacore::String & | name, |
const std::vector< casacore::String > & | inputs = std::vector< casacore::String >(1,"In") , |
||
const std::vector< casacore::String > & | outputs = std::vector< casacore::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.
|
inlinevirtual |
Definition at line 503 of file VisibilityProcessing.h.
|
virtual |
Adds a VP to the container.
Exception if VP is already in the container.
|
protected |
|
protected |
|
virtual |
|
virtual |
Connects the specified output to the specified input.
The VP pointer may be omitted if the port belongs to the container.
|
virtual |
|
virtual |
|
protected |
|
protectedvirtual |
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.
|
protected |
|
protected |
|
protected |
|
virtual |
Fills the container with the specified set of VPs.
The container must be empty prior to this call.
|
private |
|
private |
|
private |
|
private |
|
private |
|
virtual |
Returns the columns that are required to be prefetched if async I/O is used.
Reimplemented from casa::vpf::VisibilityProcessor.
|
private |
|
protectedvirtual |
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.
|
private |
|
protected |
|
private |
|
protectedvirtual |
Called to allow the node to validate its initial state.
An casacore::AipsError should be thrown if this node decides that it is invalid.
Implements casa::vpf::VisibilityProcessor.
|
friend |
Definition at line 491 of file VisibilityProcessing.h.
|
private |
Definition at line 564 of file VisibilityProcessing.h.
|
private |
Definition at line 565 of file VisibilityProcessing.h.
|
private |
backwards order.
Definition at line 567 of file VisibilityProcessing.h.