Belle II Software  release-08-01-10
TOPGeoMirrorSegment Class Reference

Geometry parameters of a mirror segment. More...

#include <TOPGeoMirrorSegment.h>

Inheritance diagram for TOPGeoMirrorSegment:
Collaboration diagram for TOPGeoMirrorSegment:

Public Member Functions

 TOPGeoMirrorSegment ()
 Default constructor.
 
 TOPGeoMirrorSegment (double width, double thickness, double length, const std::string &material, const std::string &name="TOPMirrorSegment")
 Useful constructor. More...
 
void setRadius (double radius)
 Sets spherical mirror radius of curvature. More...
 
void setCenterOfCurvature (double xc, double yc)
 Sets spherical mirror center of curvature. More...
 
void setCoating (double thickness, const std::string &material, const GeoOpticalSurface &surface)
 Sets parameters of reflective coating. More...
 
double getRadius () const
 Returns spherical mirror radius of curvature. More...
 
double getOuterRadius () const
 Returns spherical mirror outer radius of curvature. More...
 
double getXc () const
 Returns spherical mirror center of curvature in x. More...
 
double getYc () const
 Returns spherical mirror center of curvature in y. More...
 
double getZc () const
 Returns spherical mirror center of curvature in z (in local frame of this segment) More...
 
double getCoatingThickness () const
 Returns reflective coating thickness. More...
 
const std::string & getCoatingMaterial () const
 Returns reflective coating material. More...
 
const GeoOpticalSurfacegetCoatingSurface () const
 Returns reflective coating optical surface. More...
 
double getMirrorReflectivity (double energy) const
 Returns mirror reflectivity at given photon energy. More...
 
bool isConsistent () const override
 Check for consistency of data members. More...
 
void print (const std::string &title="Mirror segment geometry parameters") const override
 Print the content of the class. More...
 
virtual void setGlue (double thickness, const std::string &material)
 Sets glue parameters (for glue on -z side) More...
 
virtual void setGlueDelamination (double fraction, double angle, const std::string &material)
 Sets glue to be broken (delaminated) More...
 
void setSurface (const GeoOpticalSurface &surface, double sigmaAlpha)
 Sets optical surface. More...
 
void setVendorData (const std::string &vendor, const std::string &serialNumber)
 Sets vendor's name and serial number. More...
 
double getWidth () const
 Returns bar segment width. More...
 
double getThickness () const
 Returns bar segment thickness. More...
 
double getLength () const
 Returns bar segment length. More...
 
double getFullLength () const
 Returns bar segment length including glue. More...
 
const std::string & getMaterial () const
 Returns bar segment material name. More...
 
virtual double getGlueThickness () const
 Returns glue thickness (glue on -z side) More...
 
const std::string & getGlueMaterial () const
 Returns glue material name (glue on -z side) More...
 
double getBrokenGlueFraction () const
 Returns fraction of the delaminated surface. More...
 
double getBrokenGlueAngle () const
 Returns angle of the delaminated surface. More...
 
const std::string & getBrokenGlueMaterial () const
 Returns material name which represents broken glue. More...
 
std::vector< std::pair< double, double > > getBrokenGlueContour () const
 Returns the x-y contour of broken glue.
 
const GeoOpticalSurfacegetSurface () const
 Returns optical surface. More...
 
double getSurfaceReflectivity (double energy) const
 Returns surface reflectivity at given photon energy. More...
 
double getSigmaAlpha () const
 Returns geant4 parameter describing surface roughness. More...
 
const std::string & getVendor () const
 Returns vendor's name. More...
 
const std::string & getSerialNumber () const
 Returns serial number. More...
 
void setName (const std::string &name)
 Sets object name. More...
 
const std::string & getName () const
 Returns object name. More...
 
virtual void printSurface (const GeoOpticalSurface &surface) const
 Print the content of optical surface. More...
 
double getReflectivity (const GeoOpticalSurface &surface, double energy) const
 Returns reflectivity of optical surface at given photon energy. More...
 

Protected Member Functions

void constructContour (double A, double B, double fraction, double angle, std::vector< std::pair< double, double > > &contour) const
 Construct a 2D contour. More...
 
 ClassDefOverride (TOPGeoBarSegment, 3)
 ClassDef.
 
void printUnderlined (const std::string &title) const
 Print the content of the class. More...
 
 ClassDef (TOPGeoBase, 1)
 ClassDef.
 

Protected Attributes

float m_width = 0
 bar segment width
 
float m_thickness = 0
 bar segment thickness
 
float m_length = 0
 bar segment length
 
std::string m_material
 bar segment material name
 
float m_glueThickness = 0
 glue thickness
 
std::string m_glueMaterial
 glue material name
 
GeoOpticalSurface m_surface
 optical surface
 
float m_sigmaAlpha = 0
 geant4 parameter for surface roughness
 
float m_brokenFraction = 0
 fraction of broken (delaminated) glue
 
float m_brokenAngle = 0
 angle of broken (delaminated) glue
 
std::string m_brokenGlueMaterial
 broken glue material name
 
std::string m_vendor
 vendor's name
 
std::string m_serialNumber
 serial number
 
std::string m_name
 geometry object name
 

Static Protected Attributes

static double s_unit = Unit::cm
 conversion unit for length
 
static std::string s_unitName
 conversion unit name
 

Private Member Functions

 ClassDefOverride (TOPGeoMirrorSegment, 1)
 ClassDef.
 

Private Attributes

float m_radius = 0
 spherical mirror radius
 
float m_xc = 0
 spherical mirror center-of-curvature in x
 
float m_yc = 0
 spherical mirror center-of-curvature in y
 
float m_coatingThickness = 0
 reflective coating thickness
 
std::string m_coatingMaterial
 reflective coating material
 
GeoOpticalSurface m_coatingSurface
 reflective coating optical surface
 

Detailed Description

Geometry parameters of a mirror segment.

Definition at line 22 of file TOPGeoMirrorSegment.h.

Constructor & Destructor Documentation

◆ TOPGeoMirrorSegment()

TOPGeoMirrorSegment ( double  width,
double  thickness,
double  length,
const std::string &  material,
const std::string &  name = "TOPMirrorSegment" 
)
inline

Useful constructor.

Parameters
widthmirror segment width
thicknessmirror segment thickness
lengthmirror segment length
materialmirror segment material name
nameobject name

Definition at line 39 of file TOPGeoMirrorSegment.h.

41  :
42  TOPGeoBarSegment(width, thickness, length, material, name)
43  {}
TOPGeoBarSegment()
Default constructor.

Member Function Documentation

◆ getBrokenGlueAngle()

double getBrokenGlueAngle ( ) const
inlineinherited

Returns angle of the delaminated surface.

Returns
angle

Definition at line 149 of file TOPGeoBarSegment.h.

◆ getBrokenGlueFraction()

double getBrokenGlueFraction ( ) const
inlineinherited

Returns fraction of the delaminated surface.

Returns
fraction

Definition at line 143 of file TOPGeoBarSegment.h.

◆ getBrokenGlueMaterial()

const std::string& getBrokenGlueMaterial ( ) const
inlineinherited

Returns material name which represents broken glue.

Returns
material name

Definition at line 155 of file TOPGeoBarSegment.h.

◆ getCoatingMaterial()

const std::string& getCoatingMaterial ( ) const
inline

Returns reflective coating material.

Returns
material name

Definition at line 117 of file TOPGeoMirrorSegment.h.

◆ getCoatingSurface()

const GeoOpticalSurface& getCoatingSurface ( ) const
inline

Returns reflective coating optical surface.

Returns
optical surface

Definition at line 123 of file TOPGeoMirrorSegment.h.

◆ getCoatingThickness()

double getCoatingThickness ( ) const
inline

Returns reflective coating thickness.

Returns
thickness

Definition at line 111 of file TOPGeoMirrorSegment.h.

◆ getFullLength()

double getFullLength ( ) const
inlineinherited

Returns bar segment length including glue.

Returns
full length

Definition at line 119 of file TOPGeoBarSegment.h.

◆ getGlueMaterial()

const std::string& getGlueMaterial ( ) const
inlineinherited

Returns glue material name (glue on -z side)

Returns
material name

Definition at line 137 of file TOPGeoBarSegment.h.

◆ getGlueThickness()

virtual double getGlueThickness ( ) const
inlinevirtualinherited

Returns glue thickness (glue on -z side)

Returns
thickness

Reimplemented in TOPGeoPrism.

Definition at line 131 of file TOPGeoBarSegment.h.

◆ getLength()

double getLength ( ) const
inlineinherited

Returns bar segment length.

Returns
length

Definition at line 113 of file TOPGeoBarSegment.h.

◆ getMaterial()

const std::string& getMaterial ( void  ) const
inlineinherited

Returns bar segment material name.

Returns
material name

Definition at line 125 of file TOPGeoBarSegment.h.

◆ getMirrorReflectivity()

double getMirrorReflectivity ( double  energy) const
inline

Returns mirror reflectivity at given photon energy.

Parameters
energyphoton energy in [eV]
Returns
reflectivity

Definition at line 130 of file TOPGeoMirrorSegment.h.

◆ getName()

const std::string& getName ( void  ) const
inlineinherited

Returns object name.

Returns
object name

Definition at line 51 of file TOPGeoBase.h.

◆ getOuterRadius()

double getOuterRadius ( void  ) const
inline

Returns spherical mirror outer radius of curvature.

Returns
radius

Definition at line 87 of file TOPGeoMirrorSegment.h.

◆ getRadius()

double getRadius ( ) const
inline

Returns spherical mirror radius of curvature.

Returns
radius

Definition at line 81 of file TOPGeoMirrorSegment.h.

◆ getSerialNumber()

const std::string& getSerialNumber ( ) const
inlineinherited

Returns serial number.

Returns
serial number

Definition at line 194 of file TOPGeoBarSegment.h.

◆ getSigmaAlpha()

double getSigmaAlpha ( ) const
inlineinherited

Returns geant4 parameter describing surface roughness.

Returns
surface roughness

Definition at line 182 of file TOPGeoBarSegment.h.

◆ getSurface()

const GeoOpticalSurface& getSurface ( ) const
inlineinherited

Returns optical surface.

Returns
optical surface

Definition at line 166 of file TOPGeoBarSegment.h.

◆ getSurfaceReflectivity()

double getSurfaceReflectivity ( double  energy) const
inlineinherited

Returns surface reflectivity at given photon energy.

Parameters
energyphoton energy in [eV]
Returns
reflectivity

Definition at line 173 of file TOPGeoBarSegment.h.

◆ getThickness()

double getThickness ( ) const
inlineinherited

Returns bar segment thickness.

Returns
thickness

Definition at line 107 of file TOPGeoBarSegment.h.

◆ getVendor()

const std::string& getVendor ( ) const
inlineinherited

Returns vendor's name.

Returns
name

Definition at line 188 of file TOPGeoBarSegment.h.

◆ getWidth()

double getWidth ( ) const
inlineinherited

Returns bar segment width.

Returns
width

Definition at line 101 of file TOPGeoBarSegment.h.

◆ getXc()

double getXc ( ) const
inline

Returns spherical mirror center of curvature in x.

Returns
center of curvature in x

Definition at line 93 of file TOPGeoMirrorSegment.h.

◆ getYc()

double getYc ( ) const
inline

Returns spherical mirror center of curvature in y.

Returns
center of curvature in y

Definition at line 99 of file TOPGeoMirrorSegment.h.

◆ setCenterOfCurvature()

void setCenterOfCurvature ( double  xc,
double  yc 
)
inline

Sets spherical mirror center of curvature.

Parameters
xcx-coordinate
ycy-coordinate

Definition at line 56 of file TOPGeoMirrorSegment.h.

◆ setCoating()

void setCoating ( double  thickness,
const std::string &  material,
const GeoOpticalSurface surface 
)
inline

Sets parameters of reflective coating.

Parameters
thicknesscoating thickness
materialmaterial name
surfaceoptical surface properties

Definition at line 68 of file TOPGeoMirrorSegment.h.

◆ setGlue()

virtual void setGlue ( double  thickness,
const std::string &  material 
)
inlinevirtualinherited

Sets glue parameters (for glue on -z side)

Parameters
thicknessglue thickness
materialglue material name

Reimplemented in TOPGeoPrism.

Definition at line 55 of file TOPGeoBarSegment.h.

◆ setGlueDelamination()

virtual void setGlueDelamination ( double  fraction,
double  angle,
const std::string &  material 
)
inlinevirtualinherited

Sets glue to be broken (delaminated)

Parameters
fractionfraction of the delaminated surface
angleangle of the delaminated surface
materialmaterial name to simulate the delaminated glue

Reimplemented in TOPGeoPrism.

Definition at line 67 of file TOPGeoBarSegment.h.

◆ setName()

void setName ( const std::string &  name)
inlineinherited

Sets object name.

Parameters
nameobject name

Definition at line 45 of file TOPGeoBase.h.

◆ setRadius()

void setRadius ( double  radius)
inline

Sets spherical mirror radius of curvature.

Parameters
radiusradius

Definition at line 49 of file TOPGeoMirrorSegment.h.

◆ setSurface()

void setSurface ( const GeoOpticalSurface surface,
double  sigmaAlpha 
)
inlineinherited

Sets optical surface.

Parameters
surfaceoptical surface
sigmaAlphageant4 parameter for surface roughness

Definition at line 80 of file TOPGeoBarSegment.h.

◆ setVendorData()

void setVendorData ( const std::string &  vendor,
const std::string &  serialNumber 
)
inlineinherited

Sets vendor's name and serial number.

Parameters
vendorvendor's name
serialNumberserial number

Definition at line 91 of file TOPGeoBarSegment.h.


The documentation for this class was generated from the following files: