11#include <top/dbobjects/TOPGeoBase.h>
12#include <geometry/dbobjects/GeoOpticalSurface.h>
45 const std::string& material,
46 const std::string& name =
"TOPBarSegment"):
TOPGeoBase(name),
55 virtual void setGlue(
double thickness,
const std::string& material)
68 const std::string& material)
91 void setVendorData(
const std::string& vendor,
const std::string& serialNumber)
207 virtual void print(
const std::string& title =
"Bar segment geometry parameters")
const override;
220 std::vector<std::pair<double, double> >& contour)
const;
Represent an optical finish of a surface.
Geometry parameters of a quartz bar segment.
void setVendorData(const std::string &vendor, const std::string &serialNumber)
Sets vendor's name and serial number.
double getWidth() const
Returns bar segment width.
ClassDefOverride(TOPGeoBarSegment, 3)
ClassDef.
float m_glueThickness
glue thickness
virtual void setGlue(double thickness, const std::string &material)
Sets glue parameters (for glue on -z side)
std::string m_material
bar segment material name
double getBrokenGlueAngle() const
Returns angle of the delaminated surface.
TOPGeoBarSegment(double width, double thickness, double length, const std::string &material, const std::string &name="TOPBarSegment")
Useful constructor.
std::string m_brokenGlueMaterial
broken glue material name
const std::string & getGlueMaterial() const
Returns glue material name (glue on -z side)
double getFullLength() const
Returns bar segment length including glue.
std::string m_serialNumber
serial number
GeoOpticalSurface m_surface
optical surface
double getThickness() const
Returns bar segment thickness.
float m_brokenFraction
fraction of broken (delaminated) glue
float m_thickness
bar segment thickness
std::string m_glueMaterial
glue material name
double getSigmaAlpha() const
Returns geant4 parameter describing surface roughness.
double getBrokenGlueFraction() const
Returns fraction of the delaminated surface.
TOPGeoBarSegment()
Default constructor.
const std::string & getMaterial() const
Returns bar segment material name.
const GeoOpticalSurface & getSurface() const
Returns optical surface.
const std::string & getVendor() const
Returns vendor's name.
double getSurfaceReflectivity(double energy) const
Returns surface reflectivity at given photon energy.
float m_sigmaAlpha
geant4 parameter for surface roughness
void setSurface(const GeoOpticalSurface &surface, double sigmaAlpha)
Sets optical surface.
float m_length
bar segment length
std::string m_vendor
vendor's name
virtual void setGlueDelamination(double fraction, double angle, const std::string &material)
Sets glue to be broken (delaminated)
double getLength() const
Returns bar segment length.
float m_width
bar segment width
virtual double getGlueThickness() const
Returns glue thickness (glue on -z side)
const std::string & getBrokenGlueMaterial() const
Returns material name which represents broken glue.
const std::string & getSerialNumber() const
Returns serial number.
float m_brokenAngle
angle of broken (delaminated) glue
Base class for geometry parameters.
virtual bool isConsistent() const override
Check for consistency of data members.
static double s_unit
conversion unit for length
virtual void print(const std::string &title="Bar segment geometry parameters") const override
Print the content of the class.
double getReflectivity(const GeoOpticalSurface &surface, double energy) const
Returns reflectivity of optical surface at given photon energy.
void constructContour(double A, double B, double fraction, double angle, std::vector< std::pair< double, double > > &contour) const
Construct a 2D contour.
std::vector< std::pair< double, double > > getBrokenGlueContour() const
Returns the x-y contour of broken glue.
Abstract base class for different kinds of events.