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

Geometry parameters of MCP-PMT array. More...

#include <TOPGeoPMTArray.h>

Inheritance diagram for TOPGeoPMTArray:
Collaboration diagram for TOPGeoPMTArray:

Public Member Functions

 TOPGeoPMTArray ()
 Default constructor.
 
 TOPGeoPMTArray (unsigned numColumns, unsigned numRows, double gapX, double gapY, const std::string &material, const TOPGeoPMT &pmt, const std::string &name="TOPPMTArray")
 Full constructor. More...
 
void setAirGap (double gap)
 Sets air gap for optically decoupled PMT's. More...
 
void setDecoupledPMT (unsigned pmtID)
 Sets PMT as optically decoupled. More...
 
void setSiliconeCookie (double thickness, const std::string &material)
 Sets silicone cookie. More...
 
void setWavelengthFilter (double thickness, const std::string &material)
 Sets wavelength filter. More...
 
void generateDecoupledPMTs (double fraction)
 Generate randomly a fraction of PMT's to be optically decoupled. More...
 
unsigned getNumColumns () const
 Returns number of array columns. More...
 
unsigned getNumRows () const
 Returns number of array rows. More...
 
unsigned getSize () const
 Returns array size. More...
 
unsigned getNumPixels () const
 Returns number of pixels. More...
 
unsigned getNumPixelColumns () const
 Returns number of pixel columns. More...
 
unsigned getNumPixelRows () const
 Returns number of pixel rows. More...
 
double getDx () const
 Returns spacing in x (column width) More...
 
double getDy () const
 Returns spacing in y (row height) More...
 
double getGapX () const
 Returns gap between PMT's in x. More...
 
double getGapY () const
 Returns gap between PMT's in y. More...
 
double getCookieThickness () const
 Returns silicone cookie thickness. More...
 
const std::string & getCookieMaterial () const
 Returns silicone cookie material. More...
 
double getFilterThickness () const
 Returns wavelength filter thickness. More...
 
const std::string & getFilterMaterial () const
 Returns wavelenght filter material. More...
 
double getSizeX () const
 Returns array volume dimension in x. More...
 
double getSizeY () const
 Returns array volume dimension in y. More...
 
double getSizeZ () const
 Returns array volume dimension in z. More...
 
double getX (unsigned col) const
 Returns x coordinate of column center. More...
 
double getY (unsigned row) const
 Returns the y coordinate of row center. More...
 
const std::string & getMaterial () const
 Returns material name into which PMT's are inserted. More...
 
const TOPGeoPMTgetPMT () const
 Returns PMT geometry parameters. More...
 
unsigned getPmtID (unsigned row, unsigned col) const
 Converts row and column numbers to PMT ID (1-based) More...
 
unsigned getRow (unsigned pmtID) const
 Converts PMT ID to row number (1-based) More...
 
unsigned getColumn (unsigned pmtID) const
 Converts PMT ID to column number (1-based) More...
 
int getPixelID (double x, double y, unsigned pmtID) const
 Converts (digitizes) x, y and PMT ID to pixel ID (1-based) More...
 
int getPixelID (unsigned pmtID, unsigned pmtPixelID) const
 Returns pixel ID (1-based) More...
 
double getAirGap () const
 Returns air gap. More...
 
const std::vector< unsigned > & getDecoupledPMTs () const
 Returns ID's of optically decoupled PMT's. More...
 
bool isPMTDecoupled (unsigned pmtID) const
 Checks if PMT is optically decoupled. More...
 
bool isConsistent () const override
 Check for consistency of data members. More...
 
void print (const std::string &title="PMT array geometry parameters") const override
 Print the content of the class. 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 printUnderlined (const std::string &title) const
 Print the content of the class. More...
 
 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 (TOPGeoPMTArray, 3)
 ClassDef.
 

Private Attributes

unsigned m_numRows = 0
 number of rows
 
unsigned m_numColumns = 0
 number of columns
 
float m_dx = 0
 spacing in x
 
float m_dy = 0
 spacing in y
 
float m_gx = 0
 gap between PMT's in x
 
float m_gy = 0
 gap between PMT's in y
 
std::string m_material
 material name into which PMT's are inserted
 
TOPGeoPMT m_pmt
 PMT geometry parameters.
 
float m_airGap = 0
 air gap thickness for decoupled PMT's
 
std::vector< unsigned > m_decoupledPMTs
 ID's of decoupled PMT's.
 
float m_cookieThickness = 0
 silicone cookie thickness
 
std::string m_cookieMaterial
 silicone cookie material
 
float m_filterThickness = 0
 wavelength filter thickness
 
std::string m_filterMaterial
 wavelength filter material
 

Detailed Description

Geometry parameters of MCP-PMT array.

Definition at line 24 of file TOPGeoPMTArray.h.

Constructor & Destructor Documentation

◆ TOPGeoPMTArray()

TOPGeoPMTArray ( unsigned  numColumns,
unsigned  numRows,
double  gapX,
double  gapY,
const std::string &  material,
const TOPGeoPMT pmt,
const std::string &  name = "TOPPMTArray" 
)
inline

Full constructor.

Parameters
numColumnsnumber of columns
numRowsnumber of rows
gapXgap between PMT's in x
gapYgap between PMT's in y
materialmaterial name into which PMT's are inserted
pmtPMT geometry parameters
nameobject name

Definition at line 43 of file TOPGeoPMTArray.h.

47  :
48  TOPGeoBase(name),
49  m_numRows(numRows), m_numColumns(numColumns), m_dx(gapX), m_dy(gapY),
50  m_gx(gapX), m_gy(gapY), m_material(material), m_pmt(pmt)
51  {
52  m_dx += pmt.getSizeX() * s_unit;
53  m_dy += pmt.getSizeY() * s_unit;
54  }
TOPGeoBase()
Default constructor.
Definition: TOPGeoBase.h:31
unsigned m_numColumns
number of columns
std::string m_material
material name into which PMT's are inserted
float m_gx
gap between PMT's in x
float m_dy
spacing in y
unsigned m_numRows
number of rows
float m_dx
spacing in x
TOPGeoPMT m_pmt
PMT geometry parameters.
float m_gy
gap between PMT's in y
static double s_unit
conversion unit for length
Definition: TOPGeoBase.h:86

Member Function Documentation

◆ getAirGap()

double getAirGap ( ) const
inline

Returns air gap.

Returns
gap thickness

Definition at line 276 of file TOPGeoPMTArray.h.

◆ getCookieMaterial()

const std::string& getCookieMaterial ( ) const
inline

Returns silicone cookie material.

Returns
material name

Definition at line 166 of file TOPGeoPMTArray.h.

◆ getCookieThickness()

double getCookieThickness ( ) const
inline

Returns silicone cookie thickness.

Returns
thickness

Definition at line 160 of file TOPGeoPMTArray.h.

◆ getDecoupledPMTs()

const std::vector<unsigned>& getDecoupledPMTs ( ) const
inline

Returns ID's of optically decoupled PMT's.

Returns
PMT ID (1-based)

Definition at line 282 of file TOPGeoPMTArray.h.

◆ getDx()

double getDx ( ) const
inline

Returns spacing in x (column width)

Returns
spacing in x

Definition at line 136 of file TOPGeoPMTArray.h.

◆ getDy()

double getDy ( ) const
inline

Returns spacing in y (row height)

Returns
spacing in y

Definition at line 142 of file TOPGeoPMTArray.h.

◆ getFilterMaterial()

const std::string& getFilterMaterial ( ) const
inline

Returns wavelenght filter material.

Returns
material name

Definition at line 178 of file TOPGeoPMTArray.h.

◆ getFilterThickness()

double getFilterThickness ( ) const
inline

Returns wavelength filter thickness.

Returns
thickness

Definition at line 172 of file TOPGeoPMTArray.h.

◆ getGapX()

double getGapX ( ) const
inline

Returns gap between PMT's in x.

Returns
gap in x

Definition at line 148 of file TOPGeoPMTArray.h.

◆ getGapY()

double getGapY ( ) const
inline

Returns gap between PMT's in y.

Returns
gap in y

Definition at line 154 of file TOPGeoPMTArray.h.

◆ getMaterial()

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

Returns material name into which PMT's are inserted.

Returns
material name

Definition at line 225 of file TOPGeoPMTArray.h.

◆ getName()

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

Returns object name.

Returns
object name

Definition at line 51 of file TOPGeoBase.h.

◆ getNumColumns()

unsigned getNumColumns ( ) const
inline

Returns number of array columns.

Returns
number of columns

Definition at line 100 of file TOPGeoPMTArray.h.

◆ getNumPixelColumns()

unsigned getNumPixelColumns ( ) const
inline

Returns number of pixel columns.

Returns
number of pixel columns

Definition at line 124 of file TOPGeoPMTArray.h.

◆ getNumPixelRows()

unsigned getNumPixelRows ( ) const
inline

Returns number of pixel rows.

Returns
number of pixel rows

Definition at line 130 of file TOPGeoPMTArray.h.

◆ getNumPixels()

unsigned getNumPixels ( ) const
inline

Returns number of pixels.

Returns
number of pixels

Definition at line 118 of file TOPGeoPMTArray.h.

◆ getNumRows()

unsigned getNumRows ( ) const
inline

Returns number of array rows.

Returns
number of rows

Definition at line 106 of file TOPGeoPMTArray.h.

◆ getPMT()

const TOPGeoPMT& getPMT ( ) const
inline

Returns PMT geometry parameters.

Returns
PMT geometry parameters

Definition at line 231 of file TOPGeoPMTArray.h.

◆ getSize()

unsigned getSize ( ) const
inline

Returns array size.

Returns
array size

Definition at line 112 of file TOPGeoPMTArray.h.

◆ getSizeX()

double getSizeX ( ) const
inline

Returns array volume dimension in x.

Returns
size in x

Definition at line 184 of file TOPGeoPMTArray.h.

◆ getSizeY()

double getSizeY ( ) const
inline

Returns array volume dimension in y.

Returns
size in y

Definition at line 190 of file TOPGeoPMTArray.h.

◆ getSizeZ()

double getSizeZ ( ) const
inline

Returns array volume dimension in z.

Returns
size in z

Definition at line 196 of file TOPGeoPMTArray.h.

◆ getX()

double getX ( unsigned  col) const
inline

Returns x coordinate of column center.

Parameters
colvalid column number (1-based)
Returns
x coordinate of column center

Definition at line 206 of file TOPGeoPMTArray.h.

◆ getY()

double getY ( unsigned  row) const
inline

Returns the y coordinate of row center.

Parameters
rowvalid row number (1-based)
Returns
y coordinate of row center

Definition at line 216 of file TOPGeoPMTArray.h.

◆ setAirGap()

void setAirGap ( double  gap)
inline

Sets air gap for optically decoupled PMT's.

Parameters
gapgap thickness

Definition at line 60 of file TOPGeoPMTArray.h.

◆ setDecoupledPMT()

void setDecoupledPMT ( unsigned  pmtID)
inline

Sets PMT as optically decoupled.

Parameters
pmtIDID of PMT to be set as decoupled (1-based)

Definition at line 66 of file TOPGeoPMTArray.h.

◆ setName()

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

Sets object name.

Parameters
nameobject name

Definition at line 45 of file TOPGeoBase.h.

◆ setSiliconeCookie()

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

Sets silicone cookie.

Parameters
thicknessthickness
materialmaterial name

Definition at line 73 of file TOPGeoPMTArray.h.

◆ setWavelengthFilter()

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

Sets wavelength filter.

Parameters
thicknessthickness
materialmaterial name

Definition at line 84 of file TOPGeoPMTArray.h.


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