Belle II Software development
TOPGeoPMT Class Reference

Geometry parameters of MCP-PMT. More...

#include <TOPGeoPMT.h>

Inheritance diagram for TOPGeoPMT:
TOPGeoBase

Public Member Functions

 TOPGeoPMT ()
 Default constructor.
 
 TOPGeoPMT (double sizeX, double sizeY, double sizeZ, const std::string &name="TOPPMT")
 Useful constructor.
 
void setWallThickness (double thickness)
 Sets wall thickness.
 
void setWallMaterial (const std::string &material)
 Sets casing material.
 
void setFillMaterial (const std::string &material)
 Sets inside material.
 
void setSensVolume (double sizeX, double sizeY, double thickness, const std::string &material)
 Sets sensitive volume (photo-cathode)
 
void setNumPixels (unsigned numColumns, unsigned numRows)
 Sets number of pixel rows and columns.
 
void setWindow (double thickness, const std::string &material)
 Sets entrance window.
 
void setBottom (double thickness, const std::string &material)
 Sets bottom.
 
void setReflEdge (double width, double thickness, const GeoOpticalSurface &surf)
 Sets reflective edge.
 
double getSizeX () const
 Returns full size in x.
 
double getSizeY () const
 Returns full size in y.
 
double getSizeZ () const
 Returns full size in z.
 
double getWallThickness () const
 Returns wall thickness.
 
const std::string & getWallMaterial () const
 Returns wall (casing) material name.
 
const std::string & getFillMaterial () const
 Returns fill (inside) material name.
 
double getSensSizeX () const
 Returns sensitive volume (photo-cathode) size in x.
 
double getSensSizeY () const
 Returns sensitive volume (photo-cathode) size in y.
 
double getSensThickness () const
 Returns sensitive volume (photo-cathode) thickness.
 
unsigned getNumColumns () const
 Returns number of pixel columns.
 
unsigned getNumRows () const
 Returns number of pixel rows.
 
unsigned getNumPixels () const
 Returns number of pixels.
 
const std::string & getSensMaterial () const
 Returns sensitive material name.
 
double getWinThickness () const
 Returns entrance window thickness.
 
const std::string & getWinMaterial () const
 Returns entrance window material name.
 
double getBotThickness () const
 Returns bottom thickness.
 
const std::string & getBotMaterial () const
 Returns bottom material name.
 
double getReflEdgeWidth () const
 Returns reflective edge width.
 
double getReflEdgeThickness () const
 Returns reflective edge thickness.
 
const GeoOpticalSurfacegetReflEdgeSurface () const
 Returns reflective edge optical surface.
 
unsigned getPixelColumn (double x) const
 Converts x-coordinate to pixel column (1-based)
 
unsigned getPixelRow (double y) const
 Converts y-coordinate to pixel row (1-based)
 
unsigned getPixelID (double x, double y) const
 Converts x and y coordinates to PMT pixel ID (1-based)
 
double getX (unsigned col) const
 Returns x coordinate of pixel center.
 
double getY (unsigned row) const
 Returns y coordinate of pixel center.
 
double getDx () const
 Returns pixel size in x.
 
double getDy () const
 Returns pixel size in y.
 
bool isConsistent () const override
 Check for consistency of data members.
 
void print (const std::string &title="MCP-PMT 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 printUnderlined (const std::string &title) const
 Print the content of the class.
 
 ClassDef (TOPGeoBase, 1)
 ClassDef.
 

Protected Attributes

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 (TOPGeoPMT, 1)
 ClassDef.
 

Private Attributes

float m_sizeX = 0
 full size in x
 
float m_sizeY = 0
 full size in y
 
float m_sizeZ = 0
 full size in z
 
float m_wallThickness = 0
 side wall thickness
 
std::string m_wallMaterial
 casing material
 
std::string m_fillMaterial
 inside material
 
float m_sensSizeX = 0
 sensitive volume (photo-cathode) size in x
 
float m_sensSizeY = 0
 sensitive volume (photo-cathode) size in y
 
float m_sensThickness = 0
 sensitive volume (photo-cathode) thickness
 
unsigned m_numColumns = 0
 number of pixel columns
 
unsigned m_numRows = 0
 number of pixel rows
 
std::string m_sensMaterial
 sensitive material
 
float m_winThickness = 0
 window thickness
 
std::string m_winMaterial
 window material
 
float m_botThickness = 0
 bottom thickness
 
std::string m_botMaterial
 bottom material
 
float m_reflEdgeWidth = 0
 reflective edge width
 
float m_reflEdgeThickness = 0
 reflective edge thickness
 
GeoOpticalSurface m_reflEdgeSurface
 reflective edge optical surface
 

Detailed Description

Geometry parameters of MCP-PMT.

Definition at line 24 of file TOPGeoPMT.h.

Constructor & Destructor Documentation

◆ TOPGeoPMT() [1/2]

TOPGeoPMT ( )
inline

Default constructor.

Definition at line 30 of file TOPGeoPMT.h.

31 {}

◆ TOPGeoPMT() [2/2]

TOPGeoPMT ( double  sizeX,
double  sizeY,
double  sizeZ,
const std::string &  name = "TOPPMT" 
)
inline

Useful constructor.

Parameters
sizeXfull size in x
sizeYfull size in y
sizeZfull size in z
nameobject name

Definition at line 40 of file TOPGeoPMT.h.

41 :
42 TOPGeoBase(name), m_sizeX(sizeX), m_sizeY(sizeY), m_sizeZ(sizeZ)
43 {}
TOPGeoBase()
Default constructor.
Definition: TOPGeoBase.h:31
float m_sizeX
full size in x
Definition: TOPGeoPMT.h:307
float m_sizeZ
full size in z
Definition: TOPGeoPMT.h:309
float m_sizeY
full size in y
Definition: TOPGeoPMT.h:308

Member Function Documentation

◆ getBotMaterial()

const std::string & getBotMaterial ( ) const
inline

Returns bottom material name.

Returns
material name

Definition at line 225 of file TOPGeoPMT.h.

225{return m_botMaterial;}
std::string m_botMaterial
bottom material
Definition: TOPGeoPMT.h:325

◆ getBotThickness()

double getBotThickness ( ) const
inline

Returns bottom thickness.

Returns
thickness

Definition at line 219 of file TOPGeoPMT.h.

219{return m_botThickness / s_unit;}
float m_botThickness
bottom thickness
Definition: TOPGeoPMT.h:324
static double s_unit
conversion unit for length
Definition: TOPGeoBase.h:86

◆ getDx()

double getDx ( ) const
inline

Returns pixel size in x.

Returns
pixel size in x

Definition at line 285 of file TOPGeoPMT.h.

285{return getSensSizeX() / m_numColumns;}
unsigned m_numColumns
number of pixel columns
Definition: TOPGeoPMT.h:317
double getSensSizeX() const
Returns sensitive volume (photo-cathode) size in x.
Definition: TOPGeoPMT.h:165

◆ getDy()

double getDy ( ) const
inline

Returns pixel size in y.

Returns
pixel size in y

Definition at line 291 of file TOPGeoPMT.h.

291{return getSensSizeY() / m_numRows;}
unsigned m_numRows
number of pixel rows
Definition: TOPGeoPMT.h:318
double getSensSizeY() const
Returns sensitive volume (photo-cathode) size in y.
Definition: TOPGeoPMT.h:171

◆ getFillMaterial()

const std::string & getFillMaterial ( ) const
inline

Returns fill (inside) material name.

Returns
material name

Definition at line 159 of file TOPGeoPMT.h.

159{return m_fillMaterial;}
std::string m_fillMaterial
inside material
Definition: TOPGeoPMT.h:312

◆ 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

◆ getNumColumns()

unsigned getNumColumns ( ) const
inline

Returns number of pixel columns.

Returns
number of pixel columns

Definition at line 183 of file TOPGeoPMT.h.

183{return m_numColumns;}

◆ getNumPixels()

unsigned getNumPixels ( ) const
inline

Returns number of pixels.

Returns
number of pixels

Definition at line 195 of file TOPGeoPMT.h.

195{return m_numColumns * m_numRows;}

◆ getNumRows()

unsigned getNumRows ( ) const
inline

Returns number of pixel rows.

Returns
number of pixel rows

Definition at line 189 of file TOPGeoPMT.h.

189{return m_numRows;}

◆ getReflEdgeSurface()

const GeoOpticalSurface & getReflEdgeSurface ( ) const
inline

Returns reflective edge optical surface.

Returns
optical surface

Definition at line 243 of file TOPGeoPMT.h.

243{return m_reflEdgeSurface;}
GeoOpticalSurface m_reflEdgeSurface
reflective edge optical surface
Definition: TOPGeoPMT.h:329

◆ getReflEdgeThickness()

double getReflEdgeThickness ( ) const
inline

Returns reflective edge thickness.

Returns
thickness

Definition at line 237 of file TOPGeoPMT.h.

237{return m_reflEdgeThickness / s_unit;}
float m_reflEdgeThickness
reflective edge thickness
Definition: TOPGeoPMT.h:328

◆ getReflEdgeWidth()

double getReflEdgeWidth ( ) const
inline

Returns reflective edge width.

Returns
width

Definition at line 231 of file TOPGeoPMT.h.

231{return m_reflEdgeWidth / s_unit;}
float m_reflEdgeWidth
reflective edge width
Definition: TOPGeoPMT.h:327

◆ getSensMaterial()

const std::string & getSensMaterial ( ) const
inline

Returns sensitive material name.

Returns
material name

Definition at line 201 of file TOPGeoPMT.h.

201{return m_sensMaterial;}
std::string m_sensMaterial
sensitive material
Definition: TOPGeoPMT.h:319

◆ getSensSizeX()

double getSensSizeX ( ) const
inline

Returns sensitive volume (photo-cathode) size in x.

Returns
size in x

Definition at line 165 of file TOPGeoPMT.h.

165{return m_sensSizeX / s_unit;}
float m_sensSizeX
sensitive volume (photo-cathode) size in x
Definition: TOPGeoPMT.h:314

◆ getSensSizeY()

double getSensSizeY ( ) const
inline

Returns sensitive volume (photo-cathode) size in y.

Returns
size in y

Definition at line 171 of file TOPGeoPMT.h.

171{return m_sensSizeY / s_unit;}
float m_sensSizeY
sensitive volume (photo-cathode) size in y
Definition: TOPGeoPMT.h:315

◆ getSensThickness()

double getSensThickness ( ) const
inline

Returns sensitive volume (photo-cathode) thickness.

Returns
thickness

Definition at line 177 of file TOPGeoPMT.h.

177{return m_sensThickness / s_unit;}
float m_sensThickness
sensitive volume (photo-cathode) thickness
Definition: TOPGeoPMT.h:316

◆ getSizeX()

double getSizeX ( ) const
inline

Returns full size in x.

Returns
size in x

Definition at line 129 of file TOPGeoPMT.h.

129{return m_sizeX / s_unit;}

◆ getSizeY()

double getSizeY ( ) const
inline

Returns full size in y.

Returns
size in y

Definition at line 135 of file TOPGeoPMT.h.

135{return m_sizeY / s_unit;}

◆ getSizeZ()

double getSizeZ ( ) const
inline

Returns full size in z.

Returns
size in z

Definition at line 141 of file TOPGeoPMT.h.

141{return m_sizeZ / s_unit;}

◆ getWallMaterial()

const std::string & getWallMaterial ( ) const
inline

Returns wall (casing) material name.

Returns
material name

Definition at line 153 of file TOPGeoPMT.h.

153{return m_wallMaterial;}
std::string m_wallMaterial
casing material
Definition: TOPGeoPMT.h:311

◆ getWallThickness()

double getWallThickness ( ) const
inline

Returns wall thickness.

Returns
wall thickness

Definition at line 147 of file TOPGeoPMT.h.

147{return m_wallThickness / s_unit;}
float m_wallThickness
side wall thickness
Definition: TOPGeoPMT.h:310

◆ getWinMaterial()

const std::string & getWinMaterial ( ) const
inline

Returns entrance window material name.

Returns
material name

Definition at line 213 of file TOPGeoPMT.h.

213{return m_winMaterial;}
std::string m_winMaterial
window material
Definition: TOPGeoPMT.h:322

◆ getWinThickness()

double getWinThickness ( ) const
inline

Returns entrance window thickness.

Returns
thickness

Definition at line 207 of file TOPGeoPMT.h.

207{return m_winThickness / s_unit;}
float m_winThickness
window thickness
Definition: TOPGeoPMT.h:321

◆ setBottom()

void setBottom ( double  thickness,
const std::string &  material 
)
inline

Sets bottom.

Parameters
thicknessthickness
materialbottom material

Definition at line 106 of file TOPGeoPMT.h.

107 {
108 m_botThickness = thickness;
109 m_botMaterial = material;
110 }

◆ setFillMaterial()

void setFillMaterial ( const std::string &  material)
inline

Sets inside material.

Parameters
materialinside material name

Definition at line 61 of file TOPGeoPMT.h.

61{m_fillMaterial = material;}

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

◆ setNumPixels()

void setNumPixels ( unsigned  numColumns,
unsigned  numRows 
)
inline

Sets number of pixel rows and columns.

Parameters
numColumnsnumber of pixel columns
numRowsnumber of pixel rows

Definition at line 84 of file TOPGeoPMT.h.

85 {
86 m_numColumns = numColumns;
87 m_numRows = numRows;
88 }

◆ setReflEdge()

void setReflEdge ( double  width,
double  thickness,
const GeoOpticalSurface surf 
)
inline

Sets reflective edge.

Parameters
widthwidth
thicknessthickness
surfoptical surface

Definition at line 118 of file TOPGeoPMT.h.

119 {
120 m_reflEdgeWidth = width;
121 m_reflEdgeThickness = thickness;
122 m_reflEdgeSurface = surf;
123 }

◆ setSensVolume()

void setSensVolume ( double  sizeX,
double  sizeY,
double  thickness,
const std::string &  material 
)
inline

Sets sensitive volume (photo-cathode)

Parameters
sizeXsize in x
sizeYsize in y
thicknessthickness
materialsensitive material

Definition at line 70 of file TOPGeoPMT.h.

72 {
73 m_sensSizeX = sizeX;
74 m_sensSizeY = sizeY;
75 m_sensThickness = thickness;
76 m_sensMaterial = material;
77 }

◆ setWallMaterial()

void setWallMaterial ( const std::string &  material)
inline

Sets casing material.

Parameters
materialcasing material name

Definition at line 55 of file TOPGeoPMT.h.

55{m_wallMaterial = material;}

◆ setWallThickness()

void setWallThickness ( double  thickness)
inline

Sets wall thickness.

Parameters
thicknesswall thickness

Definition at line 49 of file TOPGeoPMT.h.

49{m_wallThickness = thickness;}

◆ setWindow()

void setWindow ( double  thickness,
const std::string &  material 
)
inline

Sets entrance window.

Parameters
thicknessthickness
materialwindow material

Definition at line 95 of file TOPGeoPMT.h.

96 {
97 m_winThickness = thickness;
98 m_winMaterial = material;
99 }

Member Data Documentation

◆ m_botMaterial

std::string m_botMaterial
private

bottom material

Definition at line 325 of file TOPGeoPMT.h.

◆ m_botThickness

float m_botThickness = 0
private

bottom thickness

Definition at line 324 of file TOPGeoPMT.h.

◆ m_fillMaterial

std::string m_fillMaterial
private

inside material

Definition at line 312 of file TOPGeoPMT.h.

◆ m_name

std::string m_name
protectedinherited

geometry object name

Definition at line 89 of file TOPGeoBase.h.

◆ m_numColumns

unsigned m_numColumns = 0
private

number of pixel columns

Definition at line 317 of file TOPGeoPMT.h.

◆ m_numRows

unsigned m_numRows = 0
private

number of pixel rows

Definition at line 318 of file TOPGeoPMT.h.

◆ m_reflEdgeSurface

GeoOpticalSurface m_reflEdgeSurface
private

reflective edge optical surface

Definition at line 329 of file TOPGeoPMT.h.

◆ m_reflEdgeThickness

float m_reflEdgeThickness = 0
private

reflective edge thickness

Definition at line 328 of file TOPGeoPMT.h.

◆ m_reflEdgeWidth

float m_reflEdgeWidth = 0
private

reflective edge width

Definition at line 327 of file TOPGeoPMT.h.

◆ m_sensMaterial

std::string m_sensMaterial
private

sensitive material

Definition at line 319 of file TOPGeoPMT.h.

◆ m_sensSizeX

float m_sensSizeX = 0
private

sensitive volume (photo-cathode) size in x

Definition at line 314 of file TOPGeoPMT.h.

◆ m_sensSizeY

float m_sensSizeY = 0
private

sensitive volume (photo-cathode) size in y

Definition at line 315 of file TOPGeoPMT.h.

◆ m_sensThickness

float m_sensThickness = 0
private

sensitive volume (photo-cathode) thickness

Definition at line 316 of file TOPGeoPMT.h.

◆ m_sizeX

float m_sizeX = 0
private

full size in x

Definition at line 307 of file TOPGeoPMT.h.

◆ m_sizeY

float m_sizeY = 0
private

full size in y

Definition at line 308 of file TOPGeoPMT.h.

◆ m_sizeZ

float m_sizeZ = 0
private

full size in z

Definition at line 309 of file TOPGeoPMT.h.

◆ m_wallMaterial

std::string m_wallMaterial
private

casing material

Definition at line 311 of file TOPGeoPMT.h.

◆ m_wallThickness

float m_wallThickness = 0
private

side wall thickness

Definition at line 310 of file TOPGeoPMT.h.

◆ m_winMaterial

std::string m_winMaterial
private

window material

Definition at line 322 of file TOPGeoPMT.h.

◆ m_winThickness

float m_winThickness = 0
private

window thickness

Definition at line 321 of file TOPGeoPMT.h.


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