11#include <top/dbobjects/TOPGeoBase.h>
12#include <geometry/dbobjects/GeoOpticalSurface.h>
41 const std::string& name =
"TOPPMT"):
71 const std::string& material)
95 void setWindow(
double thickness,
const std::string& material)
106 void setBottom(
double thickness,
const std::string& material)
265 unsigned getPixelID(
double x,
double y)
const;
272 double getX(
unsigned col)
const;
279 double getY(
unsigned row)
const;
303 void print(
const std::string& title =
"MCP-PMT geometry parameters")
const override;
Represent an optical finish of a surface.
Base class for geometry parameters.
Geometry parameters of MCP-PMT.
double getSizeZ() const
Returns full size in z.
unsigned getNumColumns() const
Returns number of pixel columns.
unsigned m_numColumns
number of pixel columns
float m_wallThickness
side wall thickness
float m_sensSizeX
sensitive volume (photo-cathode) size in x
std::string m_wallMaterial
casing material
float m_sizeX
full size in x
double getReflEdgeThickness() const
Returns reflective edge thickness.
double getDx() const
Returns pixel size in x.
const std::string & getSensMaterial() const
Returns sensitive material name.
std::string m_fillMaterial
inside material
const GeoOpticalSurface & getReflEdgeSurface() const
Returns reflective edge optical surface.
float m_botThickness
bottom thickness
std::string m_winMaterial
window material
double getWinThickness() const
Returns entrance window thickness.
double getBotThickness() const
Returns bottom thickness.
unsigned m_numRows
number of pixel rows
void setBottom(double thickness, const std::string &material)
Sets bottom.
double getDy() const
Returns pixel size in y.
GeoOpticalSurface m_reflEdgeSurface
reflective edge optical surface
const std::string & getWallMaterial() const
Returns wall (casing) material name.
double getReflEdgeWidth() const
Returns reflective edge width.
ClassDefOverride(TOPGeoPMT, 1)
ClassDef.
const std::string & getFillMaterial() const
Returns fill (inside) material name.
void setWindow(double thickness, const std::string &material)
Sets entrance window.
void setSensVolume(double sizeX, double sizeY, double thickness, const std::string &material)
Sets sensitive volume (photo-cathode)
double getSensSizeX() const
Returns sensitive volume (photo-cathode) size in x.
TOPGeoPMT(double sizeX, double sizeY, double sizeZ, const std::string &name="TOPPMT")
Useful constructor.
float m_sizeZ
full size in z
unsigned getNumPixels() const
Returns number of pixels.
float m_sensSizeY
sensitive volume (photo-cathode) size in y
void setWallThickness(double thickness)
Sets wall thickness.
double getSizeX() const
Returns full size in x.
float m_sizeY
full size in y
float m_sensThickness
sensitive volume (photo-cathode) thickness
void setWallMaterial(const std::string &material)
Sets casing material.
double getSizeY() const
Returns full size in y.
std::string m_botMaterial
bottom material
TOPGeoPMT()
Default constructor.
void setNumPixels(unsigned numColumns, unsigned numRows)
Sets number of pixel rows and columns.
void setFillMaterial(const std::string &material)
Sets inside material.
double getWallThickness() const
Returns wall thickness.
double getSensThickness() const
Returns sensitive volume (photo-cathode) thickness.
std::string m_sensMaterial
sensitive material
const std::string & getWinMaterial() const
Returns entrance window material name.
unsigned getNumRows() const
Returns number of pixel rows.
float m_reflEdgeWidth
reflective edge width
void setReflEdge(double width, double thickness, const GeoOpticalSurface &surf)
Sets reflective edge.
const std::string & getBotMaterial() const
Returns bottom material name.
double getSensSizeY() const
Returns sensitive volume (photo-cathode) size in y.
float m_reflEdgeThickness
reflective edge thickness
float m_winThickness
window thickness
bool isConsistent() const override
Check for consistency of data members.
static double s_unit
conversion unit for length
double getX(unsigned col) const
Returns x coordinate of pixel center.
double getY(unsigned row) const
Returns y coordinate of pixel center.
void print(const std::string &title="MCP-PMT geometry parameters") const override
Print the content of the class.
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)
Abstract base class for different kinds of events.