casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
SDMDataViews.h
Go to the documentation of this file.
00001 #if     !defined(_SDMDATAVIEWS_H)
00002 
00003 #include <Angle.h>
00004 #include <ArrayTime.h>
00005 #include <ArrayTimeInterval.h>
00006 #include <CAtmPhaseCorrection.h>
00007 
00008 #include <boost/shared_array.hpp>
00009 
00010 using asdm::ArrayTime;
00011 using asdm::Interval;
00012 
00013 namespace sdmbin{
00014    
00019   typedef struct {
00020     public:
00021 
00022     ArrayTime                       time;             
00023 
00024 /*     int                             scanNum; */
00025 /*     int                             subscanNum; */
00026     int                             integrationNum;
00027     int                             subintegrationNum;
00028 
00029     Interval                        interval;         
00030 
00031     vector<ArrayTime>               v_timeCentroid;   
00032     vector<Interval>                v_exposure;       
00033 
00034     string                          axisStructure;    
00035     vector<vector<unsigned int> >   vv_sizes;         
00036     vector<vector<float*> >         vv_floatData;     
00037 
00038     vector<int>                     v_flagAnt;        
00039     vector<vector<int> >            vv_flagPol;       
00040     vector<vector<vector<int> > >   vvv_flagBaseband; 
00041 
00042   } SDMData;
00043 
00046   typedef struct {
00047     public:
00048     bool         sig;         
00049     bool         ref;         
00050     double       cal;         
00051     double       load;        
00052     unsigned int subscanNum;  
00053     string       obsMode;     
00054   } MSState;
00055 
00059   typedef struct {
00060     public:   
00061     int                         processorId;          
00062     int                         antennaId1;           
00063     int                         antennaId2;           
00064     int                         feedId1;              
00065     int                         feedId2;              
00066     int                         dataDescId;           
00067     double                      time;                 
00068     int                         fieldId;              
00069     double                      interval;             
00070     double                      timeCentroid;         
00071     double                      exposure;             
00072     vector<unsigned int>        projectPath;          
00073     vector<AtmPhaseCorrectionMod::AtmPhaseCorrection>  v_atmPhaseCorrection; 
00074     int                         binNum;               
00075     int                         numData;              
00076     vector<unsigned int>        v_dataShape;          
00077     vector<float*>              v_data;               
00078     float*                      cData;                
00079     float*                      mData;                
00080     vector<vector<asdm::Angle> >      phaseDir;             
00081     int                         stateId;              
00082     MSState                     msState;              
00083     unsigned int                flag;                 
00084   } MSData;
00085   
00086 
00096   typedef struct {
00097     public:
00098 
00099     int                             processorId;          
00100     vector<double>                  v_time;               
00101     vector<int>                     v_fieldId;            
00102 
00103     vector<double>                  v_interval;           
00104     vector<AtmPhaseCorrectionMod::AtmPhaseCorrection>      v_atmPhaseCorrection; 
00105     int                             binNum;               
00106 
00107     vector<unsigned int>            v_projectPath;        
00108     vector<int>                     v_antennaId1;         
00109     vector<int>                     v_antennaId2;         
00110     vector<int>                     v_feedId1;            
00111     vector<int>                     v_feedId2;            
00112     vector<int>                     v_dataDescId;         
00113     vector<double>                  v_timeCentroid;       
00114     vector<double>                  v_exposure;           
00115     vector<int>                     v_numData;            
00116     vector<vector<unsigned int> >   vv_dataShape;         
00117     vector<map<AtmPhaseCorrectionMod::AtmPhaseCorrection,float*> > v_m_data;     
00118     vector<vector<vector<asdm::Angle> > > v_phaseDir;           
00119     vector<int>                     v_stateId;            
00120     vector<MSState>                 v_msState;            
00121     vector<unsigned int>            v_flag;               
00122   } VMSData;
00123   
00136   typedef struct {
00137     public:
00138 
00139     int                             processorId;          
00140     vector<double>                  v_time;               
00141     vector<int>                     v_fieldId;            
00142 
00143     vector<double>                  v_interval;           
00144     vector<AtmPhaseCorrectionMod::AtmPhaseCorrection>      v_atmPhaseCorrection; 
00145     int                             binNum;               
00146 
00147     vector<unsigned int>            v_projectPath;        
00148     vector<int>                     v_antennaId1;         
00149     vector<int>                     v_antennaId2;         
00150     vector<int>                     v_feedId1;            
00151     vector<int>                     v_feedId2;            
00152     vector<int>                     v_dataDescId;         
00153     vector<double>                  v_timeCentroid;       
00154     vector<double>                  v_exposure;           
00155     vector<int>                     v_numData;            
00156     vector<vector<unsigned int> >   vv_dataShape;         
00157     vector<map<AtmPhaseCorrectionMod::AtmPhaseCorrection,boost::shared_array<float> > > v_m_data;     
00158     vector<vector<vector<asdm::Angle> > > v_phaseDir;           
00159     vector<int>                     v_stateId;            
00160     vector<MSState>                 v_msState;            
00161     vector<unsigned int>            v_flag;               
00162   } VMSDataWithSharedPtr;
00163 }
00164 
00165 #define _SDMDATAVIEWS_H
00166 #endif