CARMA C++
PipelineControlImpl.h
1 #ifndef CARMA_PIPELINE_PIPELINECONTROLIMPL_H
2 #define CARMA_PIPELINE_PIPELINECONTROLIMPL_H
3 
4 #include <string>
5 #include <tao/Basic_Types.h>
6 
7 namespace carma {
8 
9 namespace util {
10  class SeqShort;
11 }
12 
13 namespace pipeline {
14 
15  class BlankFlag;
16  class CoherenceStage;
17  class Decimator;
18  class Integrator;
19  class Publisher;
20  class SelfCalStage;
21  class TsysStage;
22  class VisBrickWriter;
23 
24  class PipelineControlImpl {
25  public:
26 
27  PipelineControlImpl(
28  carma::pipeline::CoherenceStage & coherence,
29  carma::pipeline::BlankFlag & blankFlag,
30  carma::pipeline::Integrator & integrator,
32  carma::pipeline::Decimator & decimator,
33  carma::pipeline::SelfCalStage & selfCal,
34  carma::pipeline::TsysStage & tsys,
35  carma::pipeline::Publisher & publisher );
36 
37  virtual ~PipelineControlImpl();
38 
39  virtual void resetTsys( const carma::util::SeqShort & carmaAntNoSeq );
40 
41  virtual void keepEndChannels(bool keep, CORBA::UShort astroBandNo );
42 
43  virtual void decimate(bool dec, CORBA::UShort astroBandNo );
44 
45  virtual void startIntegration( double intTime,
46  CORBA::Long numRecords,
47  double gap,
48  CORBA::Boolean science,
49  CORBA::Long seqNo );
50 
51  virtual void stopIntegration();
52 
53  virtual void resetTimeSinceLastIntegration( );
54 
55  void applyTsysCalibration( CORBA::Boolean apply );
56 
57  void applyFluxCalibration( CORBA::Boolean apply );
58 
59  virtual void activateCoherenceMonitor();
60  virtual void deactivateCoherenceMonitor();
61 
62  virtual void activateDecimator();
63  virtual void deactivateDecimator();
64 
65  virtual void activateTsys();
66  virtual void deactivateTsys();
67 
68  virtual void activateBlankFlag();
69  virtual void deactivateBlankFlag();
70 
71  virtual void activateSelfCal();
72  virtual void deactivateSelfCal();
73 
74  virtual void activatePublisher();
75  virtual void deactivatePublisher();
76 
77  virtual void logCalibrationOnce( CORBA::Short astroband );
78 
79  virtual void setReferenceAnt( CORBA::Short antNo );
80 
81  private:
82 
83  carma::pipeline::CoherenceStage & coherence_;
84  carma::pipeline::BlankFlag & blankFlag_;
85  carma::pipeline::Integrator & integrator_;
87  carma::pipeline::Decimator & decimator_;
88  carma::pipeline::SelfCalStage & selfCal_;
89  carma::pipeline::TsysStage & tsys_;
90  carma::pipeline::Publisher & publisher_;
91 
92  }; // End class PipelineControlImpl
93 
94 } // End namespace pipeline
95 } // End namespace carma
96 #endif // End #ifndef CARMA_PIPELINE_PIPELINECONTROLIMPL_H
Concrete class for writing out Correlator Data to a File.
sequence< short > SeqShort
Sequence of CORBA::Short.
Definition: SeqTypedefs.idl:10
Class used to publish Correlator Data and send data out via a notification channel.