, including all inherited members.
addDefaultSort_p | casa::VisibilityIteratorReadImpl | [protected] |
advance() | casa::ViReadImplAsync | [virtual] |
allBeamOffsetsZero() const | casa::ViReadImplAsync | [virtual] |
allSelectedSpectralWindows(Vector< Int > &, Vector< Int > &) | casa::ViReadImplAsync | [inline, virtual] |
antenna1(Vector< Int > &) const | casa::ViReadImplAsync | [inline, virtual] |
antenna2(Vector< Int > &) const | casa::ViReadImplAsync | [inline, virtual] |
antennaMounts() const | casa::ViReadImplAsync | [virtual] |
arrayId() const | casa::ViReadImplAsync | [inline, virtual] |
asyncEnabled_p | casa::VisibilityIteratorReadImpl | [protected] |
attachColumns(const Table &t) | casa::VisibilityIteratorReadImpl | [protected, virtual] |
attachColumnsSafe(const Table &t) | casa::VisibilityIteratorReadImpl | [protected] |
attachTable() const | casa::VisibilityIteratorReadImpl | [protected, virtual] |
attachVisBuffer(VisBuffer &vb) | casa::ViReadImplAsync | [virtual] |
augmentPrefetchColumns(const PrefetchColumns &prefetchColumnsBase) | casa::ViReadImplAsync | [protected] |
azel(Double) const | casa::ViReadImplAsync | [inline, virtual] |
azel0(Double) const | casa::ViReadImplAsync | [inline, virtual] |
azel0Calculate(Double time, MSDerivedValues &msd, MDirection &azel0, const MEpoch &mEpoch0) | casa::VisibilityIteratorReadImpl | [static] |
azelCalculate(Double time, MSDerivedValues &msd, Vector< MDirection > &azel, Int nAnt, const MEpoch &mEpoch0) | casa::VisibilityIteratorReadImpl | [static] |
cache_p | casa::VisibilityIteratorReadImpl | [mutable, protected] |
channel(Vector< Int > &) const | casa::ViReadImplAsync | [inline, virtual] |
channelGroupSize() const | casa::ViReadImplAsync | [inline, virtual] |
channelGroupSize_p | casa::VisibilityIteratorReadImpl | [protected] |
channelIndex() const | casa::ViReadImplAsync | [inline, virtual] |
channels_p | casa::VisibilityIteratorReadImpl | [protected] |
chunkNumber_p | casa::VisibilityIteratorReadImpl | [protected] |
CJones(Vector< SquareMatrix< Complex, 2 > > &) const | casa::ViReadImplAsync | [inline, virtual] |
clone() const | casa::ViReadImplAsync | |
casa::VisibilityIteratorReadImpl::clone(ROVisibilityIterator *rovi) const | casa::VisibilityIteratorReadImpl | [virtual] |
columns_p | casa::VisibilityIteratorReadImpl | [protected] |
construct(const Block< MeasurementSet > &mss, const PrefetchColumns &prefetchColumns, const Block< Int > &sortColumns, const Bool addDefaultSortCols, Double timeInterval, Bool writable) | casa::ViReadImplAsync | [protected] |
corrType(Vector< Int > &) const | casa::ViReadImplAsync | [inline, virtual] |
curChanGroup_p | casa::VisibilityIteratorReadImpl | [protected] |
curEndRow_p | casa::VisibilityIteratorReadImpl | [protected] |
curNGroups_p | casa::VisibilityIteratorReadImpl | [protected] |
curNumRow_p | casa::VisibilityIteratorReadImpl | [protected] |
curStartRow_p | casa::VisibilityIteratorReadImpl | [protected] |
curTableNumRow_p | casa::VisibilityIteratorReadImpl | [protected] |
DataColumn typedef | casa::VisibilityIteratorReadImpl | |
dataDescriptionId() const | casa::ViReadImplAsync | [inline, virtual] |
detachVisBuffer(VisBuffer &vb) | casa::ViReadImplAsync | [virtual] |
doChannelSelection() | casa::VisibilityIteratorReadImpl | [protected, virtual] |
dumpPrefetchColumns() const | casa::ViReadImplAsync | [private] |
existsColumn(VisBufferComponents::EnumType id) const | casa::VisibilityIteratorReadImpl | [virtual] |
existsFlagCategory() const | casa::VisibilityIteratorReadImpl | |
existsWeightSpectrum() const | casa::ViReadImplAsync | [inline] |
exposure(Vector< Double > &) const | casa::ViReadImplAsync | [inline, virtual] |
feed1(Vector< Int > &) const | casa::ViReadImplAsync | [inline, virtual] |
feed2(Vector< Int > &) const | casa::ViReadImplAsync | [inline, virtual] |
feed_pa(Double time) const | casa::VisibilityIteratorReadImpl | [virtual] |
feed_paCalculate(Double time, MSDerivedValues &msd, Int nAntennas, const MEpoch &mEpoch0, const Vector< Float > &receptor0Angle) | casa::VisibilityIteratorReadImpl | [static] |
fieldId() const | casa::ViReadImplAsync | [inline, virtual] |
fieldName() const | casa::ViReadImplAsync | [inline, virtual] |
fillVisBuffer() | casa::ViReadImplAsync | [protected] |
flag(Cube< Bool > &) const | casa::ViReadImplAsync | [inline, virtual] |
flag(Matrix< Bool > &) const | casa::ViReadImplAsync | [inline, virtual] |
flagCategory(Array< Bool > &) const | casa::ViReadImplAsync | [inline, virtual] |
flagRow(Vector< Bool > &) const | casa::ViReadImplAsync | [inline, virtual] |
floatData(Cube< Float > &) const | casa::ViReadImplAsync | [inline, virtual] |
floatDataFound_p | casa::VisibilityIteratorReadImpl | [protected] |
frequency(Vector< Double > &) const | casa::ViReadImplAsync | [inline, virtual] |
getBeamOffsets() const | casa::ViReadImplAsync | [virtual] |
getChannelFrequency() const | casa::VisibilityIteratorReadImpl | |
getChannelGroupNumber() const | casa::VisibilityIteratorReadImpl | |
getChannelIncrement() const | casa::VisibilityIteratorReadImpl | |
getChannelSelection(Block< Vector< Int > > &, Block< Vector< Int > > &, Block< Vector< Int > > &, Block< Vector< Int > > &, Block< Vector< Int > > &) | casa::ViReadImplAsync | [virtual] |
getChannelStart() const | casa::VisibilityIteratorReadImpl | |
getChannelWidth() const | casa::VisibilityIteratorReadImpl | |
getCol(const ROScalarColumn< Bool > &column, Vector< Bool > &array, Bool resize=False) const | casa::VisibilityIteratorReadImpl | [protected, virtual] |
getCol(const ROScalarColumn< Int > &column, Vector< Int > &array, Bool resize=False) const | casa::VisibilityIteratorReadImpl | [protected, virtual] |
getCol(const ROScalarColumn< Double > &column, Vector< Double > &array, Bool resize=False) const | casa::VisibilityIteratorReadImpl | [protected, virtual] |
getCol(const ROArrayColumn< Bool > &column, Array< Bool > &array, Bool resize=False) const | casa::VisibilityIteratorReadImpl | [protected, virtual] |
getCol(const ROArrayColumn< Float > &column, Array< Float > &array, Bool resize=False) const | casa::VisibilityIteratorReadImpl | [protected, virtual] |
getCol(const ROArrayColumn< Double > &column, Array< Double > &array, Bool resize=False) const | casa::VisibilityIteratorReadImpl | [protected, virtual] |
getCol(const ROArrayColumn< Complex > &column, Array< Complex > &array, Bool resize=False) const | casa::VisibilityIteratorReadImpl | [protected, virtual] |
getCol(const ROArrayColumn< Bool > &column, const Slicer &slicer, Array< Bool > &array, Bool resize=False) const | casa::VisibilityIteratorReadImpl | [protected, virtual] |
getCol(const ROArrayColumn< Float > &column, const Slicer &slicer, Array< Float > &array, Bool resize=False) const | casa::VisibilityIteratorReadImpl | [protected, virtual] |
getCol(const ROArrayColumn< Complex > &column, const Slicer &slicer, Array< Complex > &array, Bool resize=False) const | casa::VisibilityIteratorReadImpl | [protected, virtual] |
getColArray(const ROArrayColumn< T > &column, Array< T > &array, Bool resize) const | casa::VisibilityIteratorReadImpl | [protected] |
getColScalar(const ROScalarColumn< T > &column, Vector< T > &array, Bool resize) const | casa::VisibilityIteratorReadImpl | [protected] |
getDataColumn(ROVisibilityIterator::DataColumn whichOne, const Slicer &slicer, Cube< Complex > &data) const | casa::VisibilityIteratorReadImpl | [protected, virtual] |
getDataColumn(DataColumn whichOne, Cube< Complex > &data) const | casa::VisibilityIteratorReadImpl | [protected, virtual] |
getDataDescriptionId() const | casa::ViReadImplAsync | [inline] |
getDefaultNBuffers() | casa::ViReadImplAsync | [static] |
getEpoch() const | casa::ViReadImplAsync | [virtual] |
getFloatDataColumn(Cube< Float > &) const | casa::ViReadImplAsync | [inline, virtual] |
getFloatDataColumn(const Slicer &, Cube< Float > &) const | casa::ViReadImplAsync | [inline, virtual] |
getFreqInSpwRange(Double &freqStart, Double &freqEnd, MFrequency::Types freqframe=MFrequency::LSRK) const | casa::VisibilityIteratorReadImpl | [virtual] |
getImagingWeightGenerator() const | casa::VisibilityIteratorReadImpl | |
getInterpolatedFloatDataFlagWeight() const | casa::ViReadImplAsync | [inline] |
getInterpolatedVisFlagWeight(DataColumn) const | casa::ViReadImplAsync | [inline] |
getInterval() const | casa::VisibilityIteratorReadImpl | [inline, virtual] |
getLsrInfo(Block< Int > &channelGroupNumber, Block< Int > &channelIncrement, Block< Int > &channelStart, Block< Int > &channelWidth, MPosition &observatoryPositon, MDirection &phaseCenter, Bool &velocitySelection) const | casa::VisibilityIteratorReadImpl | [protected, virtual] |
getMeasurementSet() const | casa::ViReadImplAsync | [inline] |
getMeasurementSetId() const | casa::ViReadImplAsync | [inline] |
getMeasurementSets() const | casa::VisibilityIteratorReadImpl | [protected] |
getMEpoch() const | casa::ViReadImplAsync | [inline] |
getMs() const | casa::ViReadImplAsync | [protected] |
getMSD() const | casa::VisibilityIteratorReadImpl | [protected] |
getNAntennas() const | casa::ViReadImplAsync | [inline] |
getObservatoryFrequencyType() const | casa::VisibilityIteratorReadImpl | |
getObservatoryPosition() const | casa::VisibilityIteratorReadImpl | |
getPhaseCenter() const | casa::VisibilityIteratorReadImpl | |
getPrefetchColumns() const | casa::ViReadImplAsync | |
getReceptor0Angle() | casa::ViReadImplAsync | [inline] |
getRowIds() const | casa::ViReadImplAsync | [inline] |
getSortColumns() const | casa::VisibilityIteratorReadImpl | [virtual] |
getSpwInFreqRange(Block< Vector< Int > > &spw, Block< Vector< Int > > &start, Block< Vector< Int > > &nchan, Double freqStart, Double freqEnd, Double freqStep, MFrequency::Types freqFrame=MFrequency::LSRK) const | casa::VisibilityIteratorReadImpl | [virtual] |
getSubchunkId() const | casa::VisibilityIteratorReadImpl | [virtual] |
getTopoFreqs() | casa::VisibilityIteratorReadImpl | [protected, virtual] |
getTopoFreqs(Vector< Double > &lsrFreq, Vector< Double > &selFreq) | casa::VisibilityIteratorReadImpl | [protected, virtual] |
getVisBuffer() | casa::ViReadImplAsync | [virtual] |
hourang(Double) const | casa::ViReadImplAsync | [inline, virtual] |
hourangCalculate(Double time, MSDerivedValues &msd, const MEpoch &mEpoch0) | casa::VisibilityIteratorReadImpl | [static] |
imwgt_p | casa::VisibilityIteratorReadImpl | [protected] |
initialize(const Block< MeasurementSet > &mss) | casa::VisibilityIteratorReadImpl | [protected, virtual] |
initialized_p | casa::VisibilityIteratorReadImpl | [protected] |
interface_p | casa::ViReadImplAsync | [private] |
isAsyncEnabled() const | casa::VisibilityIteratorReadImpl | |
isInSelectedSPW(const Int &spw) | casa::VisibilityIteratorReadImpl | [protected, virtual] |
isMultiMS_p | casa::VisibilityIteratorReadImpl | [protected] |
isWritable() const | casa::VisibilityIteratorReadImpl | [inline, virtual] |
lsrFrequency(Vector< Double > &) const | casa::ViReadImplAsync | [inline, virtual] |
lsrFrequency(const Int &, Vector< Double > &, Bool &) | casa::ViReadImplAsync | [inline] |
casa::VisibilityIteratorReadImpl::lsrFrequency(const Int &spw, Vector< Double > &freq, Bool &convert, const Bool ignoreconv=False) | casa::VisibilityIteratorReadImpl | [virtual] |
casa::VisibilityIteratorReadImpl::lsrFrequency(const Int &spw, Vector< Double > &freq, Bool &convert, const Block< Int > &chanStart, const Block< Int > &chanWidth, const Block< Int > &chanInc, const Block< Int > &numChanGroup, const ROArrayColumn< Double > &chanFreqs, const ROScalarColumn< Int > &obsMFreqTypes, const MEpoch &ep, const MPosition &obsPos, const MDirection &dir, const Bool ignoreconv=False) | casa::VisibilityIteratorReadImpl | [static] |
MeasurementSets typedef | casa::VisibilityIteratorReadImpl | [protected] |
measurementSets_p | casa::VisibilityIteratorReadImpl | [protected] |
more() const | casa::ViReadImplAsync | [virtual] |
more_p | casa::VisibilityIteratorReadImpl | [protected] |
moreChunks() const | casa::ViReadImplAsync | [virtual] |
ms() const | casa::ViReadImplAsync | [inline, virtual] |
msChannels_p | casa::VisibilityIteratorReadImpl | [protected] |
msColumns() const | casa::ViReadImplAsync | [virtual] |
msCounter_p | casa::VisibilityIteratorReadImpl | [protected] |
msd_p | casa::VisibilityIteratorReadImpl | [mutable, protected] |
msId() const | casa::ViReadImplAsync | [virtual] |
msId_p | casa::ViReadImplAsync | [private] |
msIter_p | casa::VisibilityIteratorReadImpl | [protected] |
msIterAtOrigin_p | casa::VisibilityIteratorReadImpl | [protected] |
nAnt_p | casa::VisibilityIteratorReadImpl | [protected] |
nChan_p | casa::VisibilityIteratorReadImpl | [protected] |
nCorr() const | casa::ViReadImplAsync | [inline, virtual] |
newArrayId() const | casa::ViReadImplAsync | [inline, virtual] |
newChanGroup_p | casa::VisibilityIteratorReadImpl | [protected] |
newFieldId() const | casa::ViReadImplAsync | [inline, virtual] |
newMS() const | casa::ViReadImplAsync | [inline, virtual] |
newSpectralWindow() const | casa::ViReadImplAsync | [inline, virtual] |
nextChunk() | casa::ViReadImplAsync | [virtual] |
nPol_p | casa::VisibilityIteratorReadImpl | [protected] |
nRow() const | casa::ViReadImplAsync | [inline, virtual] |
nRowBlocking_p | casa::VisibilityIteratorReadImpl | [protected] |
nRowChunk() const | casa::ViReadImplAsync | [virtual] |
nSubInterval() const | casa::ViReadImplAsync | [inline, virtual] |
numberAnt() | casa::VisibilityIteratorReadImpl | [virtual] |
numberCoh() | casa::ViReadImplAsync | [inline, virtual] |
numberDDId() | casa::ViReadImplAsync | [inline, virtual] |
numberPol() | casa::ViReadImplAsync | [inline, virtual] |
numberSpw() | casa::ViReadImplAsync | [virtual] |
observationId(Vector< Int > &) const | casa::ViReadImplAsync | [inline, virtual] |
operator=(const ViReadImplAsync &MSI) | casa::ViReadImplAsync | [private] |
casa::VisibilityIteratorReadImpl::operator=(const VisibilityIteratorReadImpl &other) | casa::VisibilityIteratorReadImpl | |
origin() | casa::ViReadImplAsync | [virtual] |
originChunks() | casa::ViReadImplAsync | [virtual] |
casa::VisibilityIteratorReadImpl::originChunks(Bool forceRewind) | casa::VisibilityIteratorReadImpl | [protected, virtual] |
parang(Double) const | casa::ViReadImplAsync | [inline, virtual] |
parang0(Double) const | casa::ViReadImplAsync | [inline, virtual] |
parang0Calculate(Double time, MSDerivedValues &msd, const MEpoch &epoch0) | casa::VisibilityIteratorReadImpl | [static] |
parangCalculate(Double time, MSDerivedValues &msd, int nAntennas, const MEpoch mEpoch0) | casa::VisibilityIteratorReadImpl | [static] |
phaseCenter() const | casa::ViReadImplAsync | [inline, virtual] |
polarizationId() const | casa::ViReadImplAsync | [inline, virtual] |
polFrame() const | casa::ViReadImplAsync | [inline, virtual] |
prefetchColumnName(Int id) | casa::ViReadImplAsync | [static] |
PrefetchColumns typedef | casa::ViReadImplAsync | |
prefetchColumns_p | casa::ViReadImplAsync | [private] |
processorId(Vector< Int > &) const | casa::ViReadImplAsync | [inline, virtual] |
readComplete() | casa::ViReadImplAsync | [protected] |
receptorAngles() const | casa::ViReadImplAsync | [virtual] |
rovi_p | casa::VisibilityIteratorReadImpl | [protected] |
Rovia_Test class | casa::ViReadImplAsync | [friend] |
ROVisIterator class | casa::ViReadImplAsync | [friend] |
rowIds(Vector< uInt > &) const | casa::ViReadImplAsync | [inline, virtual] |
saveMss(const Block< MeasurementSet > &mss) | casa::ViReadImplAsync | [protected] |
saveMss(const MeasurementSet &ms) | casa::ViReadImplAsync | [protected] |
scan(Vector< Int > &) const | casa::ViReadImplAsync | [inline, virtual] |
selectChannel(Int nGroup=1, Int start=0, Int width=0, Int increment=1, Int spectralWindow=-1) | casa::ViReadImplAsync | [virtual] |
selectChannel(const Block< Vector< Int > > &blockNGroup, const Block< Vector< Int > > &blockStart, const Block< Vector< Int > > &blockWidth, const Block< Vector< Int > > &blockIncr, const Block< Vector< Int > > &blockSpw) | casa::ViReadImplAsync | [virtual] |
selectVelocity(Int, const MVRadialVelocity &, const MVRadialVelocity &, MRadialVelocity::Types, MDoppler::Types, Bool) | casa::ViReadImplAsync | [virtual] |
selRows_p | casa::VisibilityIteratorReadImpl | [protected] |
setAsyncEnabled(Bool enable) | casa::VisibilityIteratorReadImpl | [protected] |
setInterval(Double timeInterval) | casa::ViReadImplAsync | [virtual] |
setPrefetchColumns(const PrefetchColumns &prefetchColumns) | casa::ViReadImplAsync | |
setRowBlocking(Int nRow) | casa::ViReadImplAsync | [virtual] |
setSelTable() | casa::VisibilityIteratorReadImpl | [protected, virtual] |
setState() | casa::VisibilityIteratorReadImpl | [protected, virtual] |
setTileCache() | casa::VisibilityIteratorReadImpl | [protected, virtual] |
sigma(Vector< Float > &) const | casa::ViReadImplAsync | [inline, virtual] |
sigmaMat(Matrix< Float > &) const | casa::ViReadImplAsync | [inline, virtual] |
slicer_p | casa::VisibilityIteratorReadImpl | [protected] |
slicesToMatrices(Vector< Matrix< Int > > &matv, const Vector< Vector< Slice > > &slicesv, const Vector< Int > &widthsv) const | casa::VisibilityIteratorReadImpl | |
slurp() const | casa::ViReadImplAsync | [inline, virtual] |
sortColumns_p | casa::VisibilityIteratorReadImpl | [protected] |
sourceName() const | casa::ViReadImplAsync | [inline, virtual] |
spectralWindow() const | casa::ViReadImplAsync | [inline, virtual] |
stateId(Vector< Int > &) const | casa::ViReadImplAsync | [inline, virtual] |
stateOk_p | casa::VisibilityIteratorReadImpl | [protected] |
subchunk_p | casa::VisibilityIteratorReadImpl | [protected] |
swapyz(Cube< T > &out, const Cube< T > &in) const | casa::VisibilityIteratorReadImpl | [protected] |
tileCacheIsSet_p | casa::VisibilityIteratorReadImpl | [protected] |
time(Vector< Double > &) const | casa::ViReadImplAsync | [inline, virtual] |
time_p | casa::VisibilityIteratorReadImpl | [protected] |
timeCentroid(Vector< Double > &) const | casa::ViReadImplAsync | [inline, virtual] |
timeInterval(Vector< Double > &) const | casa::ViReadImplAsync | [inline, virtual] |
timeInterval_p | casa::VisibilityIteratorReadImpl | [protected] |
update_rowIds() const | casa::VisibilityIteratorReadImpl | [protected, virtual] |
updateMsd() | casa::ViReadImplAsync | [private] |
updateSlicer() | casa::VisibilityIteratorReadImpl | [protected, virtual] |
useImagingWeight(const VisImagingWeight &imWgt) | casa::VisibilityIteratorReadImpl | [virtual] |
useSlicer_p | casa::VisibilityIteratorReadImpl | [protected] |
usesTiledDataManager(const String &columnName, const MeasurementSet &ms) const | casa::VisibilityIteratorReadImpl | [protected] |
uvw(Vector< RigidVector< Double, 3 > > &) const | casa::ViReadImplAsync | [inline, virtual] |
uvwMat(Matrix< Double > &) const | casa::ViReadImplAsync | [inline, virtual] |
vbaWrapperStack_p | casa::ViReadImplAsync | [private] |
vbStack_p | casa::VisibilityIteratorReadImpl | [protected] |
velInterpolation(const String &) | casa::ViReadImplAsync | [inline, virtual] |
velocity_p | casa::VisibilityIteratorReadImpl | [protected] |
ViReadImplAsync(const Block< MeasurementSet > &mss, const PrefetchColumns &prefetchColumns, const Block< Int > &sortColumns, const Bool addDefaultSortCols, Double timeInterval, Bool writable) | casa::ViReadImplAsync | |
ViReadImplAsync(const PrefetchColumns &prefetchColumns, const VisibilityIteratorReadImpl &other, Bool writable) | casa::ViReadImplAsync | |
ViReadImplAsync(const ROVisibilityIterator &rovi, const PrefetchColumns &prefetchColumns, Int nReadAheadBuffers=-1) | casa::ViReadImplAsync | [protected] |
ViReadImplAsync(const ViReadImplAsync &MSI) | casa::ViReadImplAsync | [private] |
visBufferAsync_p | casa::ViReadImplAsync | [private] |
visibility(Cube< Complex > &, DataColumn) const | casa::ViReadImplAsync | [inline, virtual] |
visibility(Matrix< CStokesVector > &, DataColumn) const | casa::ViReadImplAsync | [inline, virtual] |
VisibilityIteratorReadImpl() | casa::VisibilityIteratorReadImpl | |
VisibilityIteratorReadImpl(ROVisibilityIterator *rovi, const Block< MeasurementSet > &mss, const Block< Int > &sortColumns, const Bool addDefaultSortCols, Double timeInterval) | casa::VisibilityIteratorReadImpl | |
VisibilityIteratorReadImpl(const VisibilityIteratorReadImpl &other, ROVisibilityIterator *rovi) | casa::VisibilityIteratorReadImpl | |
visibilityShape() const | casa::ViReadImplAsync | [inline, virtual] |
VisIterator class | casa::ViReadImplAsync | [friend] |
ViWriteImplAsync class | casa::ViReadImplAsync | [friend] |
vlaData_p | casa::ViReadImplAsync | [private] |
vlat_p | casa::ViReadImplAsync | [private] |
weight(Vector< Float > &) const | casa::ViReadImplAsync | [inline, virtual] |
weightMat(Matrix< Float > &) const | casa::ViReadImplAsync | [inline, virtual] |
weightSlicer_p | casa::VisibilityIteratorReadImpl | [protected] |
weightSpectrum(Cube< Float > &) const | casa::ViReadImplAsync | [inline, virtual] |
~ViReadImplAsync() | casa::ViReadImplAsync | |
~VisibilityIteratorReadImpl() | casa::VisibilityIteratorReadImpl | [virtual] |