vol::VolumeUpdater Class Reference

List of all members.

Detailed Description

Controls a VolumeCreator, feeding it appropriate data.

Typical usage is to create a VolumeUpdater and attach it to multiple Indexes.

Author:
Lakshman
Version:
Id
vol_VolumeUpdater.h,v 1.31 2011/11/03 15:29:24 Valliappa.Lakshmanan Exp


Public Member Functions

 VolumeUpdater (const std::string &outputDir, const std::vector< std::string > &in_dt, code::SmartPtr< code::IndexRecordNotifier > lb, bool shouldVolume, bool write3D, bool notifySlices, bool isRealTime, int writeIntervalInSeconds, int stagger_merger_no, int stagger_tot_mergers, code::SmartPtr< VolumeCreator > creatorToUse)
 The VolumeUpdater uses a VolumeCreator to create the grid, and then writes the outputs as Netcdf files to the given output directory.
void addVolumeAlgorithm (code::SmartPtr< VolumeGridAlgorithm > alg)
code::SmartPtr< NSEGridnse ()
VolumeCreatorvolumeCreator ()
 get the VolumeCreator to change flags.
void processInput (const code::DataType &dt)
 Processes this data -- assumes that it matches the type of data you said we'd processing in the in_dt param .
bool processRawObservations (const std::string &dataType, const std::vector< std::string > &params)
 Just like processInput, except that instead of a true datatype, a RawObservationStruct or WeightedObservationStruct is provided.
virtual void actionPerformed (const code::ActionEvent *)
 To attach to an Index.
virtual ~VolumeUpdater ()
void writeOutputs ()
 force it to write all its outputs now.
void updateProductTime (const code::Time &new_data_time)

Classes

class  DesiredType
class  TimedUpdater


Constructor & Destructor Documentation

vol::VolumeUpdater::VolumeUpdater ( const std::string &  outputDir,
const std::vector< std::string > &  in_dt,
code::SmartPtr< code::IndexRecordNotifier >  lb,
bool  shouldVolume,
bool  write3D,
bool  notifySlices,
bool  isRealTime,
int  writeIntervalInSeconds,
int  stagger_merger_no,
int  stagger_tot_mergers,
code::SmartPtr< VolumeCreator creatorToUse 
)

The VolumeUpdater uses a VolumeCreator to create the grid, and then writes the outputs as Netcdf files to the given output directory.

As an ActionListener, it can be attached to an Index for receiving update notification.

Parameters:
outputDir where the netcdf files should be put.
in_dt name of the data type to process (e.g: Reflectivity) The names of the output products will be MergedReflectivity MergedReflectivityAverage, etc.
lb which linear buffer to notify of the created products.
shouldVolume whether the 3D grid should be written out level by level, or simply used to compute derived products.
writeInterval once every how many seconds should we attempt to write? 0 or less indicates writing whenever there is a new update
creator The volume creator to use (create a VolumeCreator using the VolumeCreatorFactory)

virtual vol::VolumeUpdater::~VolumeUpdater (  )  [inline, virtual]


Member Function Documentation

virtual void vol::VolumeUpdater::actionPerformed ( const code::ActionEvent *   )  [virtual]

To attach to an Index.

void vol::VolumeUpdater::addVolumeAlgorithm ( code::SmartPtr< VolumeGridAlgorithm alg  )  [inline]

code::SmartPtr<NSEGrid> vol::VolumeUpdater::nse (  )  [inline]

void vol::VolumeUpdater::processInput ( const code::DataType &  dt  ) 

Processes this data -- assumes that it matches the type of data you said we'd processing in the in_dt param .

.. This will update the volume and write the outputs.

bool vol::VolumeUpdater::processRawObservations ( const std::string &  dataType,
const std::vector< std::string > &  params 
)

Just like processInput, except that instead of a true datatype, a RawObservationStruct or WeightedObservationStruct is provided.

Returns:
false if this is not a RawObservationStruct

void vol::VolumeUpdater::updateProductTime ( const code::Time &  new_data_time  ) 

VolumeCreator& vol::VolumeUpdater::volumeCreator (  )  [inline]

get the VolumeCreator to change flags.

void vol::VolumeUpdater::writeOutputs (  ) 

force it to write all its outputs now.


Generated on Fri May 4 13:40:23 2012 for WDSS-IIw2algs by  doxygen 1.4.7