Belle II Software development
TOPGeoBarSegment Class Reference

Geometry parameters of a quartz bar segment. More...

#include <TOPGeoBarSegment.h>

Inheritance diagram for TOPGeoBarSegment:
TOPGeoBase TOPGeoMirrorSegment TOPGeoPrism

Public Member Functions

 TOPGeoBarSegment ()
 Default constructor.
 
 TOPGeoBarSegment (double width, double thickness, double length, const std::string &material, const std::string &name="TOPBarSegment")
 Useful constructor.
 
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.
 
virtual bool isConsistent () const override
 Check for consistency of data members.
 
virtual void print (const std::string &title="Bar segment geometry parameters") const override
 Print the content of the class.
 
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
 

Detailed Description

Geometry parameters of a quartz bar segment.

Definition at line 27 of file TOPGeoBarSegment.h.

Constructor & Destructor Documentation

◆ TOPGeoBarSegment() [1/2]

TOPGeoBarSegment ( )
inline

Default constructor.

Definition at line 33 of file TOPGeoBarSegment.h.

34 {}

◆ TOPGeoBarSegment() [2/2]

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

Useful constructor.

Parameters
widthbar segment width
thicknessbar segment thickness
lengthbar segment length
materialbar segment material name
nameobject name

Definition at line 44 of file TOPGeoBarSegment.h.

46 : TOPGeoBase(name),
47 m_width(width), m_thickness(thickness), m_length(length), m_material(material)
48 {}
std::string m_material
bar segment material name
float m_thickness
bar segment thickness
float m_length
bar segment length
float m_width
bar segment width
TOPGeoBase()
Default constructor.
Definition: TOPGeoBase.h:31

Member Function Documentation

◆ getBrokenGlueAngle()

double getBrokenGlueAngle ( ) const
inline

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
inline

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
inline

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

◆ getFullLength()

double getFullLength ( ) const
inline

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
static double s_unit
conversion unit for length
Definition: TOPGeoBase.h:86

◆ getGlueMaterial()

const std::string & getGlueMaterial ( ) const
inline

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
inlinevirtual

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
inline

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
inline

Returns bar segment material name.

Returns
material name

Definition at line 125 of file TOPGeoBarSegment.h.

125{return m_material;}

◆ 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

◆ getSerialNumber()

const std::string & getSerialNumber ( ) const
inline

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
inline

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
inline

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
inline

Returns surface reflectivity at given photon energy.

Parameters
energyphoton energy in [eV]
Returns
reflectivity

Definition at line 173 of file TOPGeoBarSegment.h.

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

◆ getThickness()

double getThickness ( ) const
inline

Returns bar segment thickness.

Returns
thickness

Definition at line 107 of file TOPGeoBarSegment.h.

107{return m_thickness / s_unit;}

◆ getVendor()

const std::string & getVendor ( ) const
inline

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
inline

Returns bar segment width.

Returns
width

Definition at line 101 of file TOPGeoBarSegment.h.

101{return m_width / s_unit;}

◆ setGlue()

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

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 
)
inlinevirtual

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;}

◆ setSurface()

void setSurface ( const GeoOpticalSurface surface,
double  sigmaAlpha 
)
inline

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 
)
inline

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
protected

angle of broken (delaminated) glue

Definition at line 231 of file TOPGeoBarSegment.h.

◆ m_brokenFraction

float m_brokenFraction = 0
protected

fraction of broken (delaminated) glue

Definition at line 230 of file TOPGeoBarSegment.h.

◆ m_brokenGlueMaterial

std::string m_brokenGlueMaterial
protected

broken glue material name

Definition at line 232 of file TOPGeoBarSegment.h.

◆ m_glueMaterial

std::string m_glueMaterial
protected

glue material name

Definition at line 227 of file TOPGeoBarSegment.h.

◆ m_glueThickness

float m_glueThickness = 0
protected

glue thickness

Definition at line 226 of file TOPGeoBarSegment.h.

◆ m_length

float m_length = 0
protected

bar segment length

Definition at line 224 of file TOPGeoBarSegment.h.

◆ m_material

std::string m_material
protected

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_serialNumber

std::string m_serialNumber
protected

serial number

Definition at line 234 of file TOPGeoBarSegment.h.

◆ m_sigmaAlpha

float m_sigmaAlpha = 0
protected

geant4 parameter for surface roughness

Definition at line 229 of file TOPGeoBarSegment.h.

◆ m_surface

GeoOpticalSurface m_surface
protected

optical surface

Definition at line 228 of file TOPGeoBarSegment.h.

◆ m_thickness

float m_thickness = 0
protected

bar segment thickness

Definition at line 223 of file TOPGeoBarSegment.h.

◆ m_vendor

std::string m_vendor
protected

vendor's name

Definition at line 233 of file TOPGeoBarSegment.h.

◆ m_width

float m_width = 0
protected

bar segment width

Definition at line 222 of file TOPGeoBarSegment.h.


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