11#include <top/dbobjects/TOPGeoBarSegment.h>
40 const std::string& material,
41 const std::string& name =
"TOPMirrorSegment"):
69 const std::string& material,
105 double getZc()
const;
145 void print(
const std::string& title =
"Mirror segment geometry parameters")
const override;
Represent an optical finish of a surface.
Geometry parameters of a quartz bar segment.
Geometry parameters of a mirror segment.
float m_xc
spherical mirror center-of-curvature in x
void setRadius(double radius)
Sets spherical mirror radius of curvature.
float m_coatingThickness
reflective coating thickness
void setCenterOfCurvature(double xc, double yc)
Sets spherical mirror center of curvature.
float m_yc
spherical mirror center-of-curvature in y
void setCoating(double thickness, const std::string &material, const GeoOpticalSurface &surface)
Sets parameters of reflective coating.
double getMirrorReflectivity(double energy) const
Returns mirror reflectivity at given photon energy.
float m_radius
spherical mirror radius
ClassDefOverride(TOPGeoMirrorSegment, 1)
ClassDef.
double getCoatingThickness() const
Returns reflective coating thickness.
TOPGeoMirrorSegment()
Default constructor.
double getYc() const
Returns spherical mirror center of curvature in y.
double getOuterRadius() const
Returns spherical mirror outer radius of curvature.
std::string m_coatingMaterial
reflective coating material
const std::string & getCoatingMaterial() const
Returns reflective coating material.
GeoOpticalSurface m_coatingSurface
reflective coating optical surface
TOPGeoMirrorSegment(double width, double thickness, double length, const std::string &material, const std::string &name="TOPMirrorSegment")
Useful constructor.
double getRadius() const
Returns spherical mirror radius of curvature.
const GeoOpticalSurface & getCoatingSurface() const
Returns reflective coating optical surface.
double getXc() const
Returns spherical mirror center of curvature in x.
bool isConsistent() const override
Check for consistency of data members.
static double s_unit
conversion unit for length
double getReflectivity(const GeoOpticalSurface &surface, double energy) const
Returns reflectivity of optical surface at given photon energy.
double getZc() const
Returns spherical mirror center of curvature in z (in local frame of this segment)
void print(const std::string &title="Mirror segment geometry parameters") const override
Print the content of the class.
Abstract base class for different kinds of events.