26#ifndef LATTICES_LATTICECONCAT_H
27#define LATTICES_LATTICECONCAT_H
31#include <casacore/casa/aips.h>
32#include <casacore/lattices/Lattices/MaskedLattice.h>
33#include <casacore/casa/Containers/Block.h>
287#ifndef CASACORE_NO_AUTO_TEMPLATES
288#include <casacore/lattices/Lattices/LatticeConcat.tcc>
LockType
Define the possible lock types.
virtual uInt ndim() const
Return the number of axes in this Lattice.
virtual const Lattice< Bool > & pixelMask() const
Get access to the pixelmask.
LatticeConcat< T > & operator=(const LatticeConcat< T > &other)
Assignment operator (reference semantics)
virtual LatticeConcat< T > * cloneML() const
Make a copy of the derived object (reference semantics).
Bool isTempClose() const
Returns the tempClose constructor state.
virtual void tempClose()
Temporarily close the lattice.
LatticeConcat()
Default constructor.
Bool getMaskSlice1(Array< Bool > &buffer, const Slicer §ion, uInt nLattices)
Slicer setup2(Bool &first, IPosition &blc2, IPosition &trc2, Int shape2, Int axis, const IPosition &blc, const IPosition &trc, const IPosition &stride, Int start)
virtual IPosition shape() const
Find the shape that the concatenated lattice will be.
Bool getSlice2(Array< T > &buffer, const Slicer §ion, uInt nLattices)
virtual ~LatticeConcat()
Destructor.
virtual Bool lock(FileLocker::LockType, uInt nattempts)
Handle the (un)locking and syncing, etc.
virtual void resync()
Resynchronize the Lattice object with the lattice file.
void setup1(IPosition &blc, IPosition &trc, IPosition &stride, IPosition &blc2, IPosition &trc2, IPosition &blc3, IPosition &trc3, IPosition &stride3, const Slicer §ion)
virtual Lattice< Bool > & pixelMask()
virtual void reopen()
Explicitly reopen the temporarily closed lattice.
void setTempClose(Bool tmpClose)
Set the tempClose state.
uInt nlattices() const
Return the number of lattices set so far.
virtual void flush()
Flush the data (but do not unlock).
uInt latticeDim() const
Returns the number of dimensions of the input lattices (may be different by one from output lattice).
virtual Bool doGetSlice(Array< T > &buffer, const Slicer §ion)
Do the actual get of the data.
void setLattice(MaskedLattice< T > &lattice)
Adds a clone of the lattice to the list to be concatenated.
virtual Bool hasPixelMask() const
Does the lattice have a pixelmask?
LatticeConcat(uInt axis, Bool tempClose=True)
Constructor.
LatticeConcat(const LatticeConcat< T > &other)
Copy constructor (reference semantics)
virtual Bool hasLock(FileLocker::LockType) const
Bool putSlice2(const Array< T > &buffer, const IPosition &where, const IPosition &stride, uInt nLattices)
virtual void doPutSlice(const Array< T > &sourceBuffer, const IPosition &where, const IPosition &stride)
Do the actual put of the data into the Lattice.
MaskedLattice< T > * lattice(uInt i) const
Return pointer for specified lattice.
virtual String name(Bool stripPath=False) const
Name.
virtual Bool doGetMaskSlice(Array< Bool > &buffer, const Slicer §ion)
Do the actual get of the mask data.
void checkAxis(uInt axis, uInt ndim) const
virtual IPosition doNiceCursorShape(uInt maxPixels) const
Return the best cursor shape.
uInt axis() const
Returns the current concatenation axis (0 relative)
virtual const LatticeRegion * getRegionPtr() const
Get the region used (always returns 0).
Bool getSlice1(Array< T > &buffer, const Slicer §ion, uInt nLattices)
Bool getMaskSlice2(Array< Bool > &buffer, const Slicer §ion, uInt nLattices)
LatticeConcat< Bool > * pPixelMask_p
PtrBlock< MaskedLattice< T > * > lattices_p
virtual Bool isWritable() const
If all of the underlying lattices are writable returns True.
void tempClose(uInt which)
Close/reopen a specific lattice.
Bool putSlice1(const Array< T > &buffer, const IPosition &where, const IPosition &stride, uInt nLattices)
virtual Bool isMasked() const
Has the object really a mask?
A drop-in replacement for Block<T*>.
String: the storage and methods of handling collections of characters.
this file contains all the compiler specific defines
bool Bool
Define the standard types used by Casacore.