Belle II Software development
TOPGeoMirrorSegment Class Reference

Geometry parameters of a mirror segment. More...

#include <TOPGeoMirrorSegment.h>

Inheritance diagram for TOPGeoMirrorSegment:
TOPGeoBarSegment TOPGeoBase

Public Member Functions

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

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.
 
 ClassDefOverride (TOPGeoBarSegment, 3)
 ClassDef.
 
void printUnderlined (const std::string &title) const
 Print the content of the class.
 
 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() [1/2]

TOPGeoMirrorSegment ( )
inline

Default constructor.

Definition at line 28 of file TOPGeoMirrorSegment.h.

29 {}

◆ TOPGeoMirrorSegment() [2/2]

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.

149{return m_brokenAngle;}
float m_brokenAngle
angle of broken (delaminated) glue

◆ getBrokenGlueFraction()

double getBrokenGlueFraction ( ) const
inlineinherited

Returns fraction of the delaminated surface.

Returns
fraction

Definition at line 143 of file TOPGeoBarSegment.h.

143{return m_brokenFraction;}
float m_brokenFraction
fraction of broken (delaminated) glue

◆ 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.

155{return m_brokenGlueMaterial;}
std::string m_brokenGlueMaterial
broken glue material name

◆ getCoatingMaterial()

const std::string & getCoatingMaterial ( ) const
inline

Returns reflective coating material.

Returns
material name

Definition at line 117 of file TOPGeoMirrorSegment.h.

117{return m_coatingMaterial;}
std::string m_coatingMaterial
reflective coating material

◆ getCoatingSurface()

const GeoOpticalSurface & getCoatingSurface ( ) const
inline

Returns reflective coating optical surface.

Returns
optical surface

Definition at line 123 of file TOPGeoMirrorSegment.h.

123{return m_coatingSurface;}
GeoOpticalSurface m_coatingSurface
reflective coating optical surface

◆ getCoatingThickness()

double getCoatingThickness ( ) const
inline

Returns reflective coating thickness.

Returns
thickness

Definition at line 111 of file TOPGeoMirrorSegment.h.

111{return m_coatingThickness / s_unit;}
float m_coatingThickness
reflective coating thickness
static double s_unit
conversion unit for length
Definition: TOPGeoBase.h:86

◆ getFullLength()

double getFullLength ( ) const
inlineinherited

Returns bar segment length including glue.

Returns
full length

Definition at line 119 of file TOPGeoBarSegment.h.

119{return (m_length + m_glueThickness) / s_unit;}
float m_glueThickness
glue thickness
float m_length
bar segment length

◆ 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.

137{return m_glueMaterial;}
std::string m_glueMaterial
glue material name

◆ 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.

131{return m_glueThickness / s_unit;}

◆ getLength()

double getLength ( ) const
inlineinherited

Returns bar segment length.

Returns
length

Definition at line 113 of file TOPGeoBarSegment.h.

113{return m_length / s_unit;}

◆ getMaterial()

const std::string & getMaterial ( ) const
inlineinherited

Returns bar segment material name.

Returns
material name

Definition at line 125 of file TOPGeoBarSegment.h.

125{return m_material;}
std::string m_material
bar segment material name

◆ 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.

131 {
133 }
double getReflectivity(const GeoOpticalSurface &surface, double energy) const
Returns reflectivity of optical surface at given photon energy.
Definition: TOPGeoBase.cc:72

◆ getName()

const std::string & getName ( ) const
inlineinherited

Returns object name.

Returns
object name

Definition at line 51 of file TOPGeoBase.h.

51{return m_name;}
std::string m_name
geometry object name
Definition: TOPGeoBase.h:89

◆ getOuterRadius()

double getOuterRadius ( ) const
inline

Returns spherical mirror outer radius of curvature.

Returns
radius

Definition at line 87 of file TOPGeoMirrorSegment.h.

float m_radius
spherical mirror radius

◆ getRadius()

double getRadius ( ) const
inline

Returns spherical mirror radius of curvature.

Returns
radius

Definition at line 81 of file TOPGeoMirrorSegment.h.

81{return m_radius / s_unit;}

◆ getSerialNumber()

const std::string & getSerialNumber ( ) const
inlineinherited

Returns serial number.

Returns
serial number

Definition at line 194 of file TOPGeoBarSegment.h.

194{return m_serialNumber;}
std::string m_serialNumber
serial number

◆ getSigmaAlpha()

double getSigmaAlpha ( ) const
inlineinherited

Returns geant4 parameter describing surface roughness.

Returns
surface roughness

Definition at line 182 of file TOPGeoBarSegment.h.

182{return m_sigmaAlpha;}
float m_sigmaAlpha
geant4 parameter for surface roughness

◆ getSurface()

const GeoOpticalSurface & getSurface ( ) const
inlineinherited

Returns optical surface.

Returns
optical surface

Definition at line 166 of file TOPGeoBarSegment.h.

166{return m_surface;}
GeoOpticalSurface m_surface
optical surface

◆ 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.

174 {
176 }

◆ getThickness()

double getThickness ( ) const
inlineinherited

Returns bar segment thickness.

Returns
thickness

Definition at line 107 of file TOPGeoBarSegment.h.

107{return m_thickness / s_unit;}
float m_thickness
bar segment thickness

◆ getVendor()

const std::string & getVendor ( ) const
inlineinherited

Returns vendor's name.

Returns
name

Definition at line 188 of file TOPGeoBarSegment.h.

188{return m_vendor;}
std::string m_vendor
vendor's name

◆ getWidth()

double getWidth ( ) const
inlineinherited

Returns bar segment width.

Returns
width

Definition at line 101 of file TOPGeoBarSegment.h.

101{return m_width / s_unit;}
float m_width
bar segment width

◆ 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.

93{return m_xc / s_unit;}
float m_xc
spherical mirror center-of-curvature in x

◆ 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.

99{return m_yc / s_unit;}
float m_yc
spherical mirror center-of-curvature in y

◆ 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.

57 {
58 m_xc = xc;
59 m_yc = yc;
60 }

◆ 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.

71 {
72 m_coatingThickness = thickness;
73 m_coatingMaterial = material;
74 m_coatingSurface = surface;
75 }

◆ 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.

56 {
57 m_glueThickness = thickness;
58 m_glueMaterial = material;
59 }

◆ 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.

69 {
70 m_brokenFraction = fraction;
71 m_brokenAngle = angle;
72 m_brokenGlueMaterial = material;
73 }

◆ setName()

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

Sets object name.

Parameters
nameobject name

Definition at line 45 of file TOPGeoBase.h.

45{m_name = name;}

◆ setRadius()

void setRadius ( double  radius)
inline

Sets spherical mirror radius of curvature.

Parameters
radiusradius

Definition at line 49 of file TOPGeoMirrorSegment.h.

49{m_radius = radius;}

◆ 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.

81 {
82 m_surface = surface;
83 m_sigmaAlpha = sigmaAlpha;
84 }

◆ 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.

92 {
93 m_vendor = vendor;
94 m_serialNumber = serialNumber;
95 }

Member Data Documentation

◆ m_brokenAngle

float m_brokenAngle = 0
protectedinherited

angle of broken (delaminated) glue

Definition at line 231 of file TOPGeoBarSegment.h.

◆ m_brokenFraction

float m_brokenFraction = 0
protectedinherited

fraction of broken (delaminated) glue

Definition at line 230 of file TOPGeoBarSegment.h.

◆ m_brokenGlueMaterial

std::string m_brokenGlueMaterial
protectedinherited

broken glue material name

Definition at line 232 of file TOPGeoBarSegment.h.

◆ m_coatingMaterial

std::string m_coatingMaterial
private

reflective coating material

Definition at line 153 of file TOPGeoMirrorSegment.h.

◆ m_coatingSurface

GeoOpticalSurface m_coatingSurface
private

reflective coating optical surface

Definition at line 154 of file TOPGeoMirrorSegment.h.

◆ m_coatingThickness

float m_coatingThickness = 0
private

reflective coating thickness

Definition at line 152 of file TOPGeoMirrorSegment.h.

◆ m_glueMaterial

std::string m_glueMaterial
protectedinherited

glue material name

Definition at line 227 of file TOPGeoBarSegment.h.

◆ m_glueThickness

float m_glueThickness = 0
protectedinherited

glue thickness

Definition at line 226 of file TOPGeoBarSegment.h.

◆ m_length

float m_length = 0
protectedinherited

bar segment length

Definition at line 224 of file TOPGeoBarSegment.h.

◆ m_material

std::string m_material
protectedinherited

bar segment material name

Definition at line 225 of file TOPGeoBarSegment.h.

◆ m_name

std::string m_name
protectedinherited

geometry object name

Definition at line 89 of file TOPGeoBase.h.

◆ m_radius

float m_radius = 0
private

spherical mirror radius

Definition at line 149 of file TOPGeoMirrorSegment.h.

◆ m_serialNumber

std::string m_serialNumber
protectedinherited

serial number

Definition at line 234 of file TOPGeoBarSegment.h.

◆ m_sigmaAlpha

float m_sigmaAlpha = 0
protectedinherited

geant4 parameter for surface roughness

Definition at line 229 of file TOPGeoBarSegment.h.

◆ m_surface

GeoOpticalSurface m_surface
protectedinherited

optical surface

Definition at line 228 of file TOPGeoBarSegment.h.

◆ m_thickness

float m_thickness = 0
protectedinherited

bar segment thickness

Definition at line 223 of file TOPGeoBarSegment.h.

◆ m_vendor

std::string m_vendor
protectedinherited

vendor's name

Definition at line 233 of file TOPGeoBarSegment.h.

◆ m_width

float m_width = 0
protectedinherited

bar segment width

Definition at line 222 of file TOPGeoBarSegment.h.

◆ m_xc

float m_xc = 0
private

spherical mirror center-of-curvature in x

Definition at line 150 of file TOPGeoMirrorSegment.h.

◆ m_yc

float m_yc = 0
private

spherical mirror center-of-curvature in y

Definition at line 151 of file TOPGeoMirrorSegment.h.


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