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

Geometry parameters of prism. More...

#include <TOPGeoPrism.h>

Inheritance diagram for TOPGeoPrism:
Collaboration diagram for TOPGeoPrism:

Classes

struct  PeelOffRegion
 Parameters of peel-off cookie region (corresponds to 2x2 PMT's) More...
 
struct  UnfoldedWindow
 Unfolded prism exit window. More...
 

Public Member Functions

 TOPGeoPrism ()
 Default constructor.
 
 TOPGeoPrism (double width, double thickness, double length, double exitThickness, double flatLength, const std::string &material, const std::string &name="TOPPrism_")
 Useful constructor. More...
 
void setAngle (double angle)
 Recalculates flatLength according to given prism angle. More...
 
void setPeelOffRegions (double size, double offset, double thickness, const std::string &material)
 Sets parameters of the peel-off cookie volumes. More...
 
void appendPeelOffRegion (unsigned ID, double fraction, double angle)
 Appends peel-off cookie region. More...
 
double getExitThickness () const
 Returns prism thickness at PMT side. More...
 
double getFlatLength () const
 Returns the length of a flat surface at prism bottom. More...
 
double getFullFlatLength () const
 Returns the length of a flat surface at prism bottom including filter. More...
 
double getAngle () const
 Returns prism angle. More...
 
double getFilterThickness () const
 Returns wavelength filter thickness (filter on -z side). More...
 
const std::string & getFilterMaterial () const
 Returns wavelength filter material name (filter on -z side) For backward compatibility, since now the filter is part of TOPGeoPMTArray. More...
 
double getGlueThickness () const override
 Returns glue thickness (no glue on -z side) More...
 
double getPeelOffSize () const
 Returns cookie size in x (corresponding to 2x2 PMT) More...
 
double getPeelOffThickness () const
 Returns peel-off thickness. More...
 
const std::string & getPeelOffMaterial () const
 Returns peel-off material. More...
 
const std::vector< PeelOffRegion > & getPeelOffRegions () const
 Returns peel-off cookie regions. More...
 
double getPeelOffCenter (const PeelOffRegion &region) const
 Returns peel-off offset in x of the given region. More...
 
std::vector< std::pair< double, double > > getPeelOffContour (const PeelOffRegion &region) const
 Returns the x-y contour of the peel-off region. More...
 
const std::vector< UnfoldedWindow > & getUnfoldedWindows () const
 Returns unfolded exit windows. More...
 
int getK0 () const
 Returns index of true window in a vector of unfolded exit windows. More...
 
bool isConsistent () const override
 Check for consistency of data members. More...
 
void print (const std::string &title="Prism geometry parameters") const override
 Print the content of the class. 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...
 
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

void setGlue (double, const std::string &) override
 Disable setting the glue, since there is none.
 
void setGlueDelamination (double, double, const std::string &) override
 Disable setting the glue delamination, since there is no glue.
 
void unfold () const
 Unfold prism exit window.
 
void reflect (const ROOT::Math::XYVector *points, const ROOT::Math::XYVector *normals, const ROOT::Math::XYVector &orig, const ROOT::Math::XYVector &surf, const ROOT::Math::XYVector &norm, const ROOT::Math::XYVector &slanted, int k, std::vector< UnfoldedWindow > &result) const
 Do unfolding. More...
 
 ClassDefOverride (TOPGeoPrism, 2)
 do not write out More...
 

Private Attributes

float m_exitThickness = 0
 thickness at PMT side
 
float m_flatLength = 0
 length of the flat part at the bottom
 
float m_peelOffSize = 0
 size in x of peel-off volume
 
float m_peelOffOffset = 0
 offset in x of the peel-off volume ID = 1
 
float m_peelOffThickness = 0
 thickness of peel-off volume
 
std::string m_peelOffMaterial
 material name of peel-off volume
 
std::vector< PeelOffRegionm_peelOffRegions
 peel-off regions
 
std::vector< UnfoldedWindowm_unfoldedWindows
 cache for unfolded prism exit windows
 
int m_k0 = 0
 do not write out More...
 

Detailed Description

Geometry parameters of prism.

Definition at line 27 of file TOPGeoPrism.h.

Constructor & Destructor Documentation

◆ TOPGeoPrism()

TOPGeoPrism ( double  width,
double  thickness,
double  length,
double  exitThickness,
double  flatLength,
const std::string &  material,
const std::string &  name = "TOPPrism_" 
)
inline

Useful constructor.

Parameters
widthprism width
thicknessthickness at bar side
lengthprism length
exitThicknessthickness at PMT side
flatLengthlength of the flat part at the bottom
materialprism material name
nameobject name

Definition at line 81 of file TOPGeoPrism.h.

84  :
85  TOPGeoBarSegment(width, thickness, length, material, name),
86  m_exitThickness(exitThickness), m_flatLength(flatLength)
87  {}
TOPGeoBarSegment()
Default constructor.
float m_flatLength
length of the flat part at the bottom
Definition: TOPGeoPrism.h:278
float m_exitThickness
thickness at PMT side
Definition: TOPGeoPrism.h:277

Member Function Documentation

◆ ClassDefOverride()

ClassDefOverride ( TOPGeoPrism  ,
 
)
private

do not write out

ClassDef

◆ getAngle()

double getAngle ( ) const
inline

Returns prism angle.

Returns
angle

Definition at line 144 of file TOPGeoPrism.h.

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

◆ getExitThickness()

double getExitThickness ( ) const
inline

Returns prism thickness at PMT side.

Returns
thickness at PMT side

Definition at line 126 of file TOPGeoPrism.h.

◆ getFilterMaterial()

const std::string& getFilterMaterial ( ) const
inline

Returns wavelength filter material name (filter on -z side) For backward compatibility, since now the filter is part of TOPGeoPMTArray.

Returns
material name

Definition at line 161 of file TOPGeoPrism.h.

◆ getFilterThickness()

double getFilterThickness ( ) const
inline

Returns wavelength filter thickness (filter on -z side).

For backward compatibility, since now the filter is part of TOPGeoPMTArray

Returns
thickness

Definition at line 154 of file TOPGeoPrism.h.

◆ getFlatLength()

double getFlatLength ( ) const
inline

Returns the length of a flat surface at prism bottom.

Returns
bottom flat surface length

Definition at line 132 of file TOPGeoPrism.h.

◆ getFullFlatLength()

double getFullFlatLength ( ) const
inline

Returns the length of a flat surface at prism bottom including filter.

Returns
bottom flat surface full length

Definition at line 138 of file TOPGeoPrism.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()

double getGlueThickness ( ) const
inlineoverridevirtual

Returns glue thickness (no glue on -z side)

Returns
thickness

Reimplemented from TOPGeoBarSegment.

Definition at line 167 of file TOPGeoPrism.h.

◆ getK0()

int getK0 ( ) const
inline

Returns index of true window in a vector of unfolded exit windows.

Returns
index

Definition at line 225 of file TOPGeoPrism.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.

◆ getName()

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

Returns object name.

Returns
object name

Definition at line 51 of file TOPGeoBase.h.

◆ getPeelOffCenter()

double getPeelOffCenter ( const PeelOffRegion region) const
inline

Returns peel-off offset in x of the given region.

Parameters
regionpeel-off region
Returns
offset in x

Definition at line 198 of file TOPGeoPrism.h.

◆ getPeelOffMaterial()

const std::string& getPeelOffMaterial ( ) const
inline

Returns peel-off material.

Returns
material name

Definition at line 185 of file TOPGeoPrism.h.

◆ getPeelOffRegions()

const std::vector<PeelOffRegion>& getPeelOffRegions ( ) const
inline

Returns peel-off cookie regions.

Returns
vector of regions

Definition at line 191 of file TOPGeoPrism.h.

◆ getPeelOffSize()

double getPeelOffSize ( ) const
inline

Returns cookie size in x (corresponding to 2x2 PMT)

Returns
size in x

Definition at line 173 of file TOPGeoPrism.h.

◆ getPeelOffThickness()

double getPeelOffThickness ( ) const
inline

Returns peel-off thickness.

Returns
thickness

Definition at line 179 of file TOPGeoPrism.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.

◆ getUnfoldedWindows()

const std::vector<UnfoldedWindow>& getUnfoldedWindows ( ) const
inline

Returns unfolded exit windows.

Exit window position is defined where the slanted surface is cutted off.

Returns
vector of unfolded exit windows

Definition at line 215 of file TOPGeoPrism.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.

◆ setAngle()

void setAngle ( double  angle)
inline

Recalculates flatLength according to given prism angle.

Parameters
angleprism angle

Definition at line 93 of file TOPGeoPrism.h.

◆ setName()

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

Sets object name.

Parameters
nameobject name

Definition at line 45 of file TOPGeoBase.h.

◆ setPeelOffRegions()

void setPeelOffRegions ( double  size,
double  offset,
double  thickness,
const std::string &  material 
)
inline

Sets parameters of the peel-off cookie volumes.

Parameters
sizevolume size in x
offsetoffset in x of the center of volume ID = 1
thicknessvolume thickness
materialmaterial name

Definition at line 105 of file TOPGeoPrism.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.

Member Data Documentation

◆ m_k0

int m_k0 = 0
mutableprivate

do not write out

cache for the index of true window in unfolded prism exit windows

Definition at line 289 of file TOPGeoPrism.h.


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