3 #ifndef CARMA_PIPELINE_STAGE_H
4 #define CARMA_PIPELINE_STAGE_H
6 #include "carma/correlator/lib/CorrelatorDataPtr.h"
23 namespace correlator {
77 const carma::correlator::lib::CorrelatorDataPtr cd );
99 carma::correlator::lib::CorrelatorDataPtr
101 carma::correlator::lib::CorrelatorDataPtr cd );
125 virtual void preprocess(
126 const carma::correlator::lib::CorrelatorDataPtr cd ) = 0;
131 virtual carma::correlator::lib::CorrelatorDataPtr
132 postprocess( carma::correlator::lib::CorrelatorDataPtr cd ) = 0;
150 Stage( carma::monitor::StageStats & stageStats,
151 const std::string & name );
167 const ::std::auto_ptr<Pimpl> pimpl_;
174 #endif // #ifndef CARMA_PIPELINE_STAGE_H
Base interface for a correlator pipeline stage.
void processCorrelatorBand(carma::correlator::lib::CorrelatorBand *cb)
Process a single correlator band.
void activate()
Activate this stage.
virtual void fillMonitorData()=0
Fill in monitor data Implementor should count on this being called from a separate thread...
Class to hold a Band of Correlator Data.
unsigned int frameType
Half second frames since Jan 1, 2000.
void deactivate()
Deactivate this stage.
carma::util::frameType getDataFrameCount() const
Get correlator data frame count.
bool isStageActive() const
Is this stage active?
void preprocessCorrelatorData(const carma::correlator::lib::CorrelatorDataPtr cd)
Preprocess correlator data.
virtual ~Stage()
Destructor.
void fillMonitorStageStats()
Write internally stored and calculated stage stats.
carma::correlator::lib::CorrelatorDataPtr postprocessCorrelatorData(carma::correlator::lib::CorrelatorDataPtr cd)
Postprocess correlator data This is the final processing step for a stage and is called after process...
Stage(carma::monitor::StageStats &stageStats, const std::string &name)
Constructor.
std::string getName() const
Get name of stage.
void fillStageMonitorData()
Fill per stage monitor data.