1 #ifndef CARMA_MONITOR_PIPELINESUBSYSTEMTEMPLATE_H
2 #define CARMA_MONITOR_PIPELINESUBSYSTEMTEMPLATE_H
14 template <
typename S >
29 carma::monitor::PipelineStatus &
30 getPipelineStatus( )
const;
32 carma::monitor::StageStats &
33 getCatchDataStageStats( )
const;
35 carma::monitor::CatchDataStage &
36 getCatchDataStage( )
const;
38 carma::monitor::CatchDataBand &
39 getCatchDataBand(
int bandIdx )
const;
41 carma::monitor::StageStats &
42 getCoherenceStageStats( )
const;
44 carma::monitor::StageStats &
45 getDecimationStageStats( )
const;
50 carma::monitor::Decimation &
53 carma::monitor::SelfCal &
54 getSelfCal(
int bandIdx,
bool usb )
const;
56 carma::monitor::StageStats &
57 getPassBandStageStats( )
const;
59 carma::monitor::StageStats &
60 getTsysStageStats( )
const;
62 carma::monitor::TsysStage &
63 getTsysStage( )
const;
65 carma::monitor::StageStats &
66 getBlankFlagStageStats( )
const;
68 carma::monitor::BlankFlagStage &
69 getBlankFlagStage( )
const;
71 carma::monitor::StageStats &
72 getLinelengthStageStats( )
const;
74 carma::monitor::StageStats &
75 getIFcorrectionStageStats( )
const;
77 carma::monitor::StageStats &
78 getWvrStageStats( )
const;
80 carma::monitor::StageStats &
81 getSelfCalStageStats( )
const;
83 carma::monitor::StageStats &
84 getCorrelatorPublisherStageStats( )
const;
86 carma::monitor::CorrelatorPublisherStage &
87 getCorrelatorPublisherStage( )
const;
89 carma::monitor::StageStats &
90 getIntegratorStageStats( )
const;
92 carma::monitor::IntegratorStage &
93 getIntegratorStage( )
const;
95 carma::monitor::StageStats &
96 getVisBrickStageStats( )
const;
98 carma::monitor::VisBrickStage &
99 getVisBrickStage( )
const;
140 ::std::auto_ptr<S> pipelineStorage_;
150 template<
typename S>
154 pipelineStorage_( new S ),
155 pipeline_( *( pipelineStorage_.get( ) ) )
159 template<
typename S>
162 S & pl ) : pipelineStorage_( ), pipeline_( pl )
164 CARMA_CPTRACE( carma::util::Trace::TRACE3,
"~PipelineSubsystemTemplate" );
167 template<
typename S>
172 template<
typename S>
174 carma::monitor::PipelineStatus &
177 return pipeline_.pipelineStatus( );
180 template<
typename S>
182 carma::monitor::StageStats &
185 return pipeline_.catchDataStageContainer( ).stageStats( );
188 template<
typename S>
190 carma::monitor::CatchDataStage &
193 return pipeline_.catchDataStageContainer( ).catchDataStage( );
196 template<
typename S >
198 carma::monitor::CatchDataBand &
200 const int bandIdx )
const
202 return pipeline_.catchDataBandContainer( bandIdx ).catchDataBand();
205 template<
typename S >
207 carma::monitor::StageStats &
211 return pipeline_.coherenceStageContainer( ).stageStats( );
214 template<
typename S >
216 carma::monitor::StageStats &
220 return pipeline_.decimatorStageContainer( ).stageStats( );
223 template<
typename S >
225 carma::monitor::Decimation &
227 const int bandIdx )
const
229 return pipeline_.decimationBandContainer( bandIdx ).decimation( );
232 template<
typename S >
234 carma::monitor::SelfCal &
236 const int bandIdx,
const bool usb )
const
239 return pipeline_.selfCalUsbIntegContainer( bandIdx ).selfCal( );
241 return pipeline_.selfCalLsbIntegContainer( bandIdx ).selfCal( );
244 template<
typename S >
246 carma::monitor::StageStats &
249 return pipeline_.passBandStageContainer( ).stageStats( );
252 template<
typename S >
254 carma::monitor::StageStats &
257 return pipeline_.tsysStageContainer( ).stageStats( );
260 template<
typename S >
262 carma::monitor::TsysStage &
265 return pipeline_.tsysStageContainer( ).tsysStage( );
268 template<
typename S >
270 carma::monitor::StageStats &
273 return pipeline_.blankFlagStageContainer( ).stageStats( );
276 template<
typename S >
278 carma::monitor::BlankFlagStage &
281 return pipeline_.blankFlagStageContainer( ).blankFlagStage( );
284 template<
typename S >
286 carma::monitor::StageStats &
289 return pipeline_.linelengthStageContainer( ).stageStats( );
292 template<
typename S >
294 carma::monitor::StageStats &
298 return pipeline_.iFcorrectionStageContainer( ).stageStats( );
301 template<
typename S >
303 carma::monitor::StageStats &
306 return pipeline_.wvrStageContainer( ).stageStats( );
309 template<
typename S >
311 carma::monitor::StageStats &
314 return pipeline_.selfCalIntegStageContainer( ).stageStats( );
317 template<
typename S >
319 carma::monitor::StageStats &
323 return pipeline_.correlatorPublisherContainer( ).stageStats( );
326 template<
typename S >
328 carma::monitor::CorrelatorPublisherStage &
332 return pipeline_.correlatorPublisherContainer().correlatorPublisherStage();
335 template<
typename S >
337 carma::monitor::StageStats &
340 return pipeline_.integratorStageContainer( ).stageStats( );
343 template<
typename S >
345 carma::monitor::IntegratorStage &
348 return pipeline_.integratorStageContainer( ).integratorStage( );
351 template<
typename S >
353 carma::monitor::StageStats &
356 return pipeline_.visBrickStageContainer( ).stageStats( );
359 template<
typename S >
361 carma::monitor::VisBrickStage &
364 return pipeline_.visBrickStageContainer( ).visBrickStage( );
367 template<
typename S >
372 return S::catchDataBandContainerCount( );
375 template<
typename S >
377 carma::monitor::LastIntegration &
380 return pipeline_.lastIntegration();
383 template<
typename S>
388 pipeline_.startAutoWriter( delay );
391 template<
typename S>
396 pipeline_.stopAutoWriter( );
399 template<
typename S>
404 return pipeline_.autoWriterIsAlive( );
407 template<
typename S>
412 pipeline_.writeWithoutResettingValidities( );
#define CARMA_CPTRACE(priorityLevel, message)
Macro for people who just want to use the Trace object created for them in carma::util::Program.
void stopAutoWriter()
Stop the autowriter.
Interface file for the carma::util::Trace class and related macros.
bool autoWriterIsAlive() const
Check to see if the autowriter is alive.
Abstract base class for retrieving pipeline monitor system components common between the spectral lin...
void write()
Write frame data Use when not using autowriter.
int getBandCount() const
Retrieve band count - differs among wb and sl systems.
carma::monitor::LastIntegration & lastIntegration() const
Retrieve reference to lastIntegration container.
Templatized implementation of PipelineSubsystem interface.
void startAutoWriter(float delay)
Start the monitor system auto writer (automatically writes data to the Frame Scriber Publisher every ...
carma::monitor::Decimation & getDecimation(int bandIdx) const
Retrieve a reference to common Decimation container.