49 GMirror(
const std::string& system, std::vector<std::string> pars,
const std::shared_ptr<GLogger>& logger);
56 [[nodiscard]]
virtual std::unique_ptr<GMirror>
clone()
const {
return std::make_unique<GMirror>(*
this); }
64 std::string description;
90 std::string matOptProps;
100 std::vector<double> photonEnergy;
101 std::vector<double> indexOfRefraction;
102 std::vector<double> reflectivity;
103 std::vector<double> efficiency;
104 std::vector<double> specularlobe;
105 std::vector<double> specularspike;
106 std::vector<double> backscatter;
107 std::vector<double> transmittance;
111 bool sigmaAlphaSet{};
122 void getMirrorPropertyFromString(
const std::string& parameter,
const std::string& propertyName);
130 [[nodiscard]] std::string
getName()
const {
return name; }
136 [[nodiscard]] std::string
getType()
const {
return type; }
137 [[nodiscard]] std::string
getFinish()
const {
return finish; }
138 [[nodiscard]] std::string
getModel()
const {
return model; }
139 [[nodiscard]] std::string
getBorder()
const {
return border; }
152 [[nodiscard]] std::vector<double>
getEfficiency()
const {
return efficiency; }
GMirror(const std::string &system, std::vector< std::string > pars, const std::shared_ptr< GLogger > &logger)
Construct a mirror from a serialized parameter list.