Inheritance diagram for code::RadarDataNetcdfWriter:
Public Types | |
Reflectivity | |
RawVelocity | |
the typename for this is "AliasedVelocity" | |
SpectrumWidth | |
DealiasedVelocity | |
the typename for this is "Velocity" | |
Zdr | |
Phi | |
RhoHV | |
SNRR | |
SNRD | |
NumRadarDataTypes | |
enum | RadarDataType { Reflectivity, RawVelocity, SpectrumWidth, DealiasedVelocity, Zdr, Phi, RhoHV, SNRR, SNRD, NumRadarDataTypes } |
The NumRadarDataTypes is used to initialize the various stores. More... | |
Public Member Functions | |
RadarDataNetcdfWriter (InitSmartPtr< NetcdfEncoder > ne, const std::string &indexLB="") | |
Give us a NetcdfEncoder to use and optionally, an Index LB to notify into. | |
virtual void | processReflectivity (const RadialSet &) |
virtual void | processVelocity (const RadialSet &) |
virtual void | processSpectrumWidth (const RadialSet &) |
virtual void | processZdr (const RadialSet &) |
virtual void | processPhi (const RadialSet &) |
virtual void | processRhoHV (const RadialSet &) |
virtual void | processSNRR (const RadialSet &) |
virtual void | processSNRD (const RadialSet &) |
virtual | ~RadarDataNetcdfWriter () |
virtual void | processVolumeStart (RadarDataAccumulator &) |
Perform any required processing on volume start. | |
virtual void | processElevation (RadarDataAccumulator &) |
The elevation data may be obtained using the getReflectivity(), getVelocity() and getSpectrumWidth() methods on the accumulator. | |
Static Public Member Functions | |
static void | setWriteElevationsOnly (bool flag) |
By default, this flag is false, so that montage records for virtual volumes get written out. | |
static void | setAlignmentResolution (float alignmentAzimuthalResolution) |
By default, this is negative, so that radial sets are not aligned before they get written out. | |
Protected Member Functions | |
virtual Index::Record | writeRadialSet (const RadialSet &) |
virtual Index::Record | getMontageRecord (const Angle &elev, const Index::Record &rec, const Time &vol_start_time, int virVolIdx) |
Get montage record according different data type. | |
virtual bool | needWritevol (const RadialSet &rs) |
check to see if we need to write a 'vol' record | |
void | process (const RadialSet &rs, int virtualVolumeIndex) |
The work-horse method. | |
virtual void | addVirtualVolume (const std::string &volType) |
Add a new type of virtual volume. | |
void | notifyAs (Index::Record &rec, const std::string &newType) |
Modify the selections of this record and notify to the LB. | |
Protected Attributes | |
InitSmartPtr< NetcdfEncoder > | ne |
SmartPtr< IndexRecordNotifier > | lb |
Time | m_volStartTime |
Angle | m_lastElevation |
std::vector< SmartPtr< VirtualVolume > > | virtualVolume |
The NumRadarDataTypes is used to initialize the various stores.
However, you don't need to call process() on all the data types.
code::RadarDataNetcdfWriter::RadarDataNetcdfWriter | ( | InitSmartPtr< NetcdfEncoder > | ne, | |
const std::string & | indexLB = "" | |||
) |
Give us a NetcdfEncoder to use and optionally, an Index LB to notify into.
virtual code::RadarDataNetcdfWriter::~RadarDataNetcdfWriter | ( | ) | [virtual] |
virtual void code::RadarDataNetcdfWriter::addVirtualVolume | ( | const std::string & | volType | ) | [protected, virtual] |
virtual Index::Record code::RadarDataNetcdfWriter::getMontageRecord | ( | const Angle & | elev, | |
const Index::Record & | rec, | |||
const Time & | vol_start_time, | |||
int | virVolIdx | |||
) | [protected, virtual] |
virtual bool code::RadarDataNetcdfWriter::needWritevol | ( | const RadialSet & | rs | ) | [protected, virtual] |
void code::RadarDataNetcdfWriter::notifyAs | ( | Index::Record & | rec, | |
const std::string & | newType | |||
) | [protected] |
Modify the selections of this record and notify to the LB.
void code::RadarDataNetcdfWriter::process | ( | const RadialSet & | rs, | |
int | virtualVolumeIndex | |||
) | [protected] |
The work-horse method.
It calls writeRadialSet, followed by update to the right virtual volume and writes to the montage record.
If the virtualVolumeIndex is negative, then the virtualVolume is not updated.
virtual void code::RadarDataAccumulator::ElevationHandler::processElevation | ( | RadarDataAccumulator & | ) | [virtual, inherited] |
The elevation data may be obtained using the getReflectivity(), getVelocity() and getSpectrumWidth() methods on the accumulator.
By default, this method calls processReflectivty() processVelocity() and processSpectrumWidth() if the respective data are available.
Override if you want to be notified even if the data are invalid.
Reimplemented in code::TDWRDataNetcdfWriter.
virtual void code::RadarDataNetcdfWriter::processPhi | ( | const RadialSet & | ) | [virtual] |
Reimplemented from code::RadarDataAccumulator::ElevationHandler.
virtual void code::RadarDataNetcdfWriter::processReflectivity | ( | const RadialSet & | ) | [virtual] |
Reimplemented from code::RadarDataAccumulator::ElevationHandler.
Reimplemented in code::TDWRDataNetcdfWriter.
virtual void code::RadarDataNetcdfWriter::processRhoHV | ( | const RadialSet & | ) | [virtual] |
Reimplemented from code::RadarDataAccumulator::ElevationHandler.
virtual void code::RadarDataNetcdfWriter::processSNRD | ( | const RadialSet & | ) | [virtual] |
Reimplemented from code::RadarDataAccumulator::ElevationHandler.
virtual void code::RadarDataNetcdfWriter::processSNRR | ( | const RadialSet & | ) | [virtual] |
Reimplemented from code::RadarDataAccumulator::ElevationHandler.
virtual void code::RadarDataNetcdfWriter::processSpectrumWidth | ( | const RadialSet & | ) | [virtual] |
Reimplemented from code::RadarDataAccumulator::ElevationHandler.
Reimplemented in code::TDWRDataNetcdfWriter.
virtual void code::RadarDataNetcdfWriter::processVelocity | ( | const RadialSet & | ) | [virtual] |
Reimplemented from code::RadarDataAccumulator::ElevationHandler.
Reimplemented in code::TDWRDataNetcdfWriter.
virtual void code::RadarDataNetcdfWriter::processVolumeStart | ( | RadarDataAccumulator & | ) | [virtual] |
Perform any required processing on volume start.
The time of the new volume may be obtained by using getVolumeStartTime() on the accumulator.
Reimplemented from code::RadarDataAccumulator::ElevationHandler.
virtual void code::RadarDataNetcdfWriter::processZdr | ( | const RadialSet & | ) | [virtual] |
Reimplemented from code::RadarDataAccumulator::ElevationHandler.
static void code::RadarDataNetcdfWriter::setAlignmentResolution | ( | float | alignmentAzimuthalResolution | ) | [inline, static] |
By default, this is negative, so that radial sets are not aligned before they get written out.
static void code::RadarDataNetcdfWriter::setWriteElevationsOnly | ( | bool | flag | ) | [inline, static] |
By default, this flag is false, so that montage records for virtual volumes get written out.
virtual Index::Record code::RadarDataNetcdfWriter::writeRadialSet | ( | const RadialSet & | ) | [protected, virtual] |
SmartPtr<IndexRecordNotifier> code::RadarDataNetcdfWriter::lb [protected] |
Angle code::RadarDataNetcdfWriter::m_lastElevation [protected] |
Time code::RadarDataNetcdfWriter::m_volStartTime [protected] |
InitSmartPtr< NetcdfEncoder > code::RadarDataNetcdfWriter::ne [protected] |
std::vector< SmartPtr< VirtualVolume > > code::RadarDataNetcdfWriter::virtualVolume [protected] |