RAntennaTypeXMLManager.h
Go to the documentation of this file.
1 #ifndef _rdet_RAntennaTypeXMLManager_h_
2 #define _rdet_RAntennaTypeXMLManager_h_
3 
4 #include <map>
5 #include <string>
6 
7 #include <det/VManager.h>
8 #include <utl/ErrorLogger.h>
9 
10 
11 namespace utl {
12  class Reader;
13  class Branch;
14  class TabulatedFunction;
15  class TabulatedFunctionComplexLgAmpPhase;
16 }
17 
18 namespace rdet {
19 
36  struct RTransferPattern;
37 
39 
40  public:
42 
43  void Init(const std::string& configLink);
44 
45  VMANAGER_GETDATA_CALL(InternalGetData, std::vector<double>) //Probably this will change....
46  VMANAGER_GETDATA_CALL(InternalGetData, std::vector<std::string>)
47 
48 
49  VMANAGER_GETDATA_NOTFOUND(std::vector<bool>)
50  VMANAGER_GETDATA_NOTFOUND(std::vector<int>) //Probably this will change....
51  VMANAGER_GETDATA_NOTFOUND(std::map<std::string, double>)
52  VMANAGER_GETDATA_NOTFOUND(std::list<double>)
53  VMANAGER_GETDATA_NOTFOUND(std::list<int>)
54  VMANAGER_GETDATA_NOTFOUND(std::list<std::string>)
55  VMANAGER_GETDATA_NOTFOUND(utl::TabulatedFunction)
56  VMANAGER_GETDATA_NOTFOUND(utl::TabulatedFunctionComplexLgAmpPhase)
59  VMANAGER_GETDATA_NOTFOUND(std::string)
60  VMANAGER_GETDATA_NOTFOUND(std::vector<std::vector<int> >)
61  VMANAGER_GETDATA_NOTFOUND(std::list<std::pair<int, int> >)
62  VMANAGER_GETDATA_NOTFOUND(std::map<int, utl::TabulatedFunction>)
63 
64  private:
65  //InternalGetData provides reading in of vectors for the antenna.xml file format
66  template<typename T>
67  Status InternalGetData(T& returnData,
68  const std::string& antennaProp,
69  const std::string& antennaType,
70  const IndexMap& propIndex) const;
71 
72  //These function help the InternalGetData function to locate the data:
73  utl::Branch FindAntennaType(const std::string& antennaType) const;
74  utl::Branch FindAntennaTypeProperty(const std::string& antennaType, const std::string& antennaProp) const;
75  utl::Branch FindAntennaTypePropertyIndex(const std::string& antennaType, const std::string& antennaProp,
76  const IndexMap& propIndex) const;
77 
79 
80  };
81 
82 }
83 
84 
85 #endif
void Init(const std::string &configLink)
Manager Initialization. configLink is the CentralConfig hook for the configuration file...
Interface for detector managers.
Definition: VManager.h:115
#define VMANAGER_GETDATA_CALL(_GetData_, _T_...)
Definition: VManager.h:59
utl::Branch FindAntennaTypeProperty(const std::string &antennaType, const std::string &antennaProp) const
#define VMANAGER_GETDATA_HANDLE_DENIED
Definition: VManager.h:75
utl::Branch FindAntennaTypePropertyIndex(const std::string &antennaType, const std::string &antennaProp, const IndexMap &propIndex) const
Manager for RD description in XML &quot;AntennaType&quot; files.
std::map< std::string, std::string > IndexMap
Definition: VManager.h:133
#define VMANAGER_GETDATA_NOTFOUND(_T_...)
Definition: VManager.h:41
Status
Specifies success or (eventually) various possible failure modes.
Definition: VManager.h:127

, generated on Tue Sep 26 2023.