3 #include <boost/lexical_cast.hpp>
5 #include <fdet/Diaphragm.h>
7 #include <utl/Reader.h>
8 #include <utl/ErrorLogger.h>
9 #include <utl/MathConstants.h>
11 #include <utl/UTCDateTime.h>
13 #include <det/VManager.h>
14 #include <det/Detector.h>
15 #include <fdet/FDetector.h>
17 #include <fdet/Telescope.h>
25 Diaphragm::Diaphragm(
const unsigned int eyeId,
const unsigned int telId,
26 const std::string& physEyeIdString,
27 const std::string& physTelIdString) :
30 fPhysicalEyeIdString(physEyeIdString),
31 fPhysicalTelescopeIdString(physTelIdString),
34 fCorrectorRingCommissionTime(0)
81 "Corrector ring commission time");
83 new TimeStamp(boost::lexical_cast<UTCDateTime>(timeString).GetTimeStamp());
94 const std::string& property,
95 const std::string& component,
96 const std::string& errorMsg)
100 requestedData =
new T;
103 return *requestedData;
111 const std::string& property,
112 const std::string& component,
113 const std::string& errorMsg)
116 const VManager& manager = Detector::GetInstance().GetFManagerRegister();
122 if (property ==
"radius")
126 manager.
GetData(requestedData, property, component, indexMap);
128 if (foundFlag == VManager::eNotFound) {
130 err <<
"Did not find requested component for " << errorMsg <<
"; "
131 << VManager::QueryInfoMessage(property, component, indexMap);
std::string fPhysicalTelescopeIdString
constexpr T Sqr(const T &x)
Base class for exceptions trying to access non-existing components.
std::string fPhysicalEyeIdString
Interface for detector managers.
A TimeStamp holds GPS second and nanosecond for some event.
virtual Status GetData(double &returnData, const std::string &componentProperty, const std::string &componentName, const IndexMap &componentIndex) const =0
utl::TimeStamp * fCorrectorRingCommissionTime
const T & GetDiaphragmData(T *&requestedData, const std::string &property, const std::string &component, const std::string &errorMsg) const
fTelescopeId(t.GetTelescopeId())
std::map< std::string, std::string > IndexMap
double GetRadius() const
Radius of the diaphragm.
bool HasCorrectorRing() const
#define ERROR(message)
Macro for logging error messages.
Status
Specifies success or (eventually) various possible failure modes.