CARMA C++
CenterManager.h
Go to the documentation of this file.
1 #ifndef SZA_UTIL_CENTERMANAGER_H
2 #define SZA_UTIL_CENTERMANAGER_H
3 
11 #include <list>
12 #include <map>
13 #include <vector>
14 
15 #include "carma/szautil/AntNum.h"
16 #include "carma/szautil/Center.h"
17 
18 #include "carma/szaarrayutils/source.h"
19 
20 namespace sza {
21  namespace util {
22 
23  class CenterManager {
24  public:
25 
29  CenterManager();
30 
34  virtual ~CenterManager();
35 
39  Center* changeCenter(AntNum::Id antennas, sza::array::SourceId srcId);
40 
44  Center* getCenter(sza::array::SourceId* srcId, bool throwOnError=true);
45 
49  Center* getCenter(unsigned catNumber);
50 
54  Center* getCenter(AntNum::Id antennas, bool reportError=true);
55 
59  std::list<Center* >* getCenterList();
60 
65  std::vector<std::pair<sza::array::SourceId, AntNum::Id> >
66  getCenterAssociations(AntNum::Id antennas);
67 
76  void updateCacheWindow(sza::array::CacheWindow* window,
77  double refMaxTime=0.0);
78 
79  private:
80 
84  std::list<Center* > centerList_;
85 
89  std::map<unsigned, Center* > centerBySourceIdMap_;
90 
94  std::map<AntNum::Id, Center* > centerByAntennaIdMap_;
95 
99  void updateAntennaCenterMap();
100 
101  }; // End class CenterManager
102 
103  } // End namespace util
104 } // End namespace sza
105 
106 
107 
108 #endif // End #ifndef SZA_UTIL_CENTERMANAGER_H
Tagged: Tue Apr 27 13:16:50 PDT 2004.
Tagged: Fri Nov 14 12:39:31 UTC 2003.
Id
Enumerate known receivers.
Definition: AntNum.h:35