My Project
 All Classes Files Functions Variables Enumerations Enumerator Friends Macros Pages
CenterManager.h
Go to the documentation of this file.
1 #ifndef GCP_UTIL_CENTERMANAGER_H
2 #define GCP_UTIL_CENTERMANAGER_H
3 
11 #include <list>
12 #include <map>
13 #include <vector>
14 
15 #include "gcp/util/common/AntNum.h"
16 #include "gcp/util/common/Center.h"
17 
18 #include "gcp/control/code/unix/libsrc_src/source.h"
19 
20 namespace gcp {
21  namespace util {
22 
23  class CenterManager {
24  public:
25 
29  CenterManager();
30 
34  virtual ~CenterManager();
35 
40 
44  Center* getCenter(gcp::control::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<gcp::control::SourceId, AntNum::Id> >
67 
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 gcp
105 
106 
107 
108 
109 #endif // End #ifndef GCP_UTIL_CENTERMANAGER_H
virtual ~CenterManager()
Definition: CenterManager.cc:21
std::list< Center * > * getCenterList()
Definition: CenterManager.cc:260
void updateCacheWindow(gcp::control::CacheWindow *window, double refMaxTime=0.0)
Definition: CenterManager.cc:270
Definition: CenterManager.h:23
Center * getCenter(gcp::control::SourceId *srcId, bool throwOnError=true)
Definition: CenterManager.cc:183
Center * changeCenter(AntNum::Id antennas, gcp::control::SourceId srcId)
Definition: CenterManager.cc:32
Definition: cache.h:14
CenterManager()
Definition: CenterManager.cc:16
Id
Definition: AntNum.h:37
Definition: Center.h:19
Definition: source.h:105
std::vector< std::pair< gcp::control::SourceId, AntNum::Id > > getCenterAssociations(AntNum::Id antennas)
Definition: CenterManager.cc:127